Nigel  Uys

Nigel Uys

1663134480

5 Best tools for Building Blockchains with Go

In today's post we will learn about 5 Best tools for Building Blockchains with Go.

 What is Blockchain Technology?

Blockchain defined: Blockchain is a shared, immutable ledger that facilitates the process of recording transactions and tracking assets in a business network. An asset can be tangible (a house, car, cash, land) or intangible (intellectual property, patents, copyrights, branding). Virtually anything of value can be tracked and traded on a blockchain network, reducing risk and cutting costs for all involved.

Why blockchain is important: Business runs on information. The faster it’s received and the more accurate it is, the better. Blockchain is ideal for delivering that information because it provides immediate, shared and completely transparent information stored on an immutable ledger that can be accessed only by permissioned network members. A blockchain network can track orders, payments, accounts, production and much more. And because members share a single view of the truth, you can see all details of a transaction end to end, giving you greater confidence, as well as new efficiencies and opportunities.

Table of contents:

  • Cosmos-sdk - A Framework for Building Public Blockchains in the Cosmos Ecosystem.
  • Go-ethereum - Official Go implementation of the Ethereum protocol.
  • Gossamer - A Go implementation of the Polkadot Host.
  • Solana-go - Go library to interface with Solana JSON RPC and WebSocket interfaces.
  • Tendermint - Tendermint Core (BFT Consensus) in Go.

1 - Cosmos-sdk: A Framework for Building Public Blockchains in the Cosmos Ecosystem.

The Cosmos SDK is a framework for building blockchain applications. Tendermint Core (BFT Consensus) and the Cosmos SDK are written in the Go programming language. Cosmos SDK is used to build Gaia, the implementation of the Cosmos Hub.

Quick Start

To learn how the Cosmos SDK works from a high-level perspective, see the Cosmos SDK High-Level Intro.

If you want to get started quickly and learn how to build on top of Cosmos SDK, visit Cosmos SDK Tutorials. You can also fork the tutorial's repository to get started building your own Cosmos SDK application.

For more information, see the Cosmos SDK Documentation.

Contributing

See CONTRIBUTING.md for details how to contribute and participate in our dev calls. If you want to follow the updates or learn more about the latest design then join our Discord.

Tools and Frameworks

The Cosmos ecosystem is vast. Awesome Cosmos is a community-curated list of notable frameworks, modules and tools.

Cosmos Hub Mainnet

The Cosmos Hub application, gaia, has its own cosmos/gaia repository. Go there to join the Cosmos Hub mainnet and more.

Inter-Blockchain Communication (IBC)

The IBC module for the Cosmos SDK has its own cosmos/ibc-go repository. Go there to build and integrate with the IBC module.

Ignite CLI

Ignite CLI is the all-in-one platform to build, launch, and maintain any crypto application on a sovereign and secured blockchain. If you are building a new app or a new module, use Ignite CLI to get started and speed up development.

View on Github

2 - Go-ethereum: Official Go implementation of the Ethereum protocol.

Building the source

For prerequisites and detailed build instructions please read the Installation Instructions.

Building geth requires both a Go (version 1.16 or later) and a C compiler. You can install them using your favourite package manager. Once the dependencies are installed, run

make geth

or, to build the full suite of utilities:

make all

Running geth

Going through all the possible command line flags is out of scope here (please consult our CLI Wiki page), but we've enumerated a few common parameter combos to get you up to speed quickly on how you can run your own geth instance.

Hardware Requirements

Minimum:

  • CPU with 2+ cores
  • 4GB RAM
  • 1TB free storage space to sync the Mainnet
  • 8 MBit/sec download Internet service

Recommended:

  • Fast CPU with 4+ cores
  • 16GB+ RAM
  • High-performance SSD with at least 1TB of free space
  • 25+ MBit/sec download Internet service

Full node on the main Ethereum network

By far the most common scenario is people wanting to simply interact with the Ethereum network: create accounts; transfer funds; deploy and interact with contracts. For this particular use case, the user doesn't care about years-old historical data, so we can sync quickly to the current state of the network. To do so:

$ geth console

This command will:

  • Start geth in snap sync mode (default, can be changed with the --syncmode flag), causing it to download more data in exchange for avoiding processing the entire history of the Ethereum network, which is very CPU intensive.
  • Start the built-in interactive JavaScript console, (via the trailing console subcommand) through which you can interact using web3 methods (note: the web3 version bundled within geth is very old, and not up to date with official docs), as well as geth's own management APIs. This tool is optional and if you leave it out you can always attach it to an already running geth instance with geth attach.

View on Github

3 - Gossamer: A Go implementation of the Polkadot Host.

Gossamer is an implementation of the Polkadot Host: a framework used to build and run nodes for different blockchain protocols that are compatible with the Polkadot ecosystem. The core of the Polkadot Host is the wasm runtime which handles the logic of the chain.

Gossamer includes node implementations for major blockchains within the Polkadot ecosystem and simplifies building node implementations for other blockchains. Runtimes built with Substrate can plug their runtime into Gossamer to create a node implementation in Go.

For more information about Gossamer, the Polkadot ecosystem, and how to use Gossamer to build and run nodes for various blockchain protocols within the Polkadot ecosystem, check out the Gossamer Docs.

Get Started

Prerequisites

Install Go version >=1.18

Installation

get the ChainSafe/gossamer repository:

git clone git@github.com:ChainSafe/gossamer
cd gossamer

build gossamer command:

make gossamer

Troubleshooting for Apple Silicon users

If you are facing the following problem with the wasmer:

undefined: cWasmerImportObjectT
undefined: cWasmerImportFuncT
undefined: cWasmerValueTag

Make sure you have the following Golang enviroment variables:

  • GOARCH="amd64"
  • CGO_ENABLED="1"

use go env to see all the Golang enviroment variables

use go env -w ENV_NAME=ENV_VALUE to set the new value

View on Github

4 - Solana-go: Go library to interface with Solana JSON RPC and WebSocket interfaces.

Go library to interface with Solana JSON RPC and WebSocket interfaces.

Current development status

There is currently no stable release. The SDK is actively developed and latest is v1.6.0 which is an alpha release.

The RPC and WS client implementation is based on this RPC spec.

Note

  • solana-go is in active development, so all APIs are subject to change.
  • This code is unaudited. Use at your own risk.

Requirements

  • Go 1.16 or later

Installation

$ cd my-project
$ go get github.com/gagliardetto/solana-go@v1.6.0

Pretty-Print transactions/instructions

pretty-printed

Instructions can be pretty-printed with the String() method on a Transaction:

tx, err := solana.NewTransaction(
  []solana.Instruction{
    system.NewTransferInstruction(
      amount,
      accountFrom.PublicKey(),
      accountTo,
    ).Build(),
  },
  recent.Value.Blockhash,
  solana.TransactionPayer(accountFrom.PublicKey()),
)

...

// Pretty print the transaction:
fmt.Println(tx.String())
// OR you can choose a destination and a title:
// tx.EncodeTree(text.NewTreeEncoder(os.Stdout, "Transfer SOL"))

View on Github

5 - Tendermint: Tendermint Core (BFT Consensus) in Go.

Tendermint Core is a Byzantine Fault Tolerant (BFT) middleware that takes a state transition machine - written in any programming language - and securely replicates it on many machines.

For protocol details, refer to the Tendermint Specification.

For detailed analysis of the consensus protocol, including safety and liveness proofs, read our paper, "The latest gossip on BFT consensus".

Documentation

Complete documentation can be found on the website.

Releases

Please do not depend on main as your production branch. Use releases instead.

Tendermint has been in the production of private and public environments, most notably the blockchains of the Cosmos Network. we haven't released v1.0 yet since we are making breaking changes to the protocol and the APIs. See below for more details about versioning.

In any case, if you intend to run Tendermint in production, we're happy to help. You can contact us over email or join the chat.

More on how releases are conducted can be found here.

Security

To report a security vulnerability, see our bug bounty program. For examples of the kinds of bugs we're looking for, see our security policy.

We also maintain a dedicated mailing list for security updates. We will only ever use this mailing list to notify you of vulnerabilities and fixes in Tendermint Core. You can subscribe here.

View on Github

Thank you for following this article.

Related videos:

Building a Blockchain in Golang

#go #golang #blockchains 

5 Best tools for Building Blockchains with Go

shin hari

1661408332

Make a difference in crypto startup with the NFT consulting agency

Mesmerize your competitors and peers, who coherently give their development solutions based on NFTs with a unique framework and grand design. Avail of the support, consulting or counselling with trained and superior delegates to furnish the best NFT platform. You can hire the best NFT consulting services at ease in the crypto space so that sooner or later, it reverts back to you as the golden investment. Head your eyes below this blog and get the highlights we are yet to discuss. 


 

NFT consulting agency


Potential business heads and investors approach an NFT consulting service to deploy their great blockchain platforms. Approved standard professionals will conduct brainstorming sessions and interactions to make the users create a blueprint of what they intend to perform. This includes analyzing, researching, developing, designing, and marketing services. 


 

Unwrapping the NFT consulting services that work best:


 

  1. Creating and developing NFTs 
  2. NFT marketing services advise
  3. NFT marketplace to scrutinize
  4. NFT influencer marketing
  5. NFT community marketing
  6. Smart contract development and developers


Step-by-step guide on NFT consulting services


 

  1. Research target market


Nothing becomes seamless until it is backed with immense and proper research. Hence, identifying the target market is a necessity.


 

  1. Functionalities


Adopting the best developers to devise the right and appropriate functionalities for your forthcoming projects is better.


 

  1. Blockchain network


 

Being the key role player, it is worth choosing the right blockchain for smooth transactions and efficient storage.


 

  1. Smart contract development


There are smart contract developers who can technically encode the digital contracts on the basis of which you can get a smooth functioning of your platform. 


 

  1. Technological stacks


Get advice from experts to obtain the right internal and external technological stacks for your gracious platform.

Conclusion

Adept NFT consulting services are handy, hence hastening your business startup to become an empire. 

 

#nft #blockchains #marketplace #nftdevelopment 
 

Make a difference in crypto startup with the NFT consulting agency

Gnark-Crypto | A library That Also Provides Various Cryptographic Algorithms in Go

gnark-crypto

gnark-crypto provides efficient cryptographic primitives, in Go:

gnark-crypto is actively developed and maintained by the team (gnark@consensys.net | HackMD) behind:

Warning

gnark-crypto is not fully audited and is provided as-is, use at your own risk. In particular, gnark-crypto makes no security guarantees such as constant time implementation or side-channel attack resistance.

To report a security bug, please refer to gnark Security Policy.

gnark-crypto packages are optimized for 64bits architectures (x86 amd64) and tested on Unix (Linux / macOS).

Getting started

Go version

gnark-crypto is tested with the last 2 major releases of Go (1.17 and 1.18).

Install gnark-crypto

go get github.com/consensys/gnark-crypto

Note if that if you use go modules, in go.mod the module path is case sensitive (use consensys and not ConsenSys).

Development

Most (but not all) of the code is generated from the templates in internal/generator.

The generated code contains little to no interfaces and is strongly typed with a field (generated by the gnark-crypto/field package). The two main factors driving this design choice are:

  1. Performance: gnark-crypto algorithms manipulates millions (if not billions) of field elements. Interface indirection at this level, plus garbage collection indexing takes a heavy toll on perf.
  2. Need to derive (mostly) identical code for various moduli and curves, with consistent APIs. Generics introduce significant performance overhead and are not yet suited for high performance computing.

To regenerate the files, see internal/generator/main.go. Run:

go generate ./...

Benchmarks

Benchmarking pairing-friendly elliptic curves libraries

The libraries are implemented in different languages and some use more assembly code than others. Besides the different algorithmic and software optimizations used across, it should be noted also that some libraries target constant-time implementation for some operations making it de facto slower. However, it can be clear that consensys/gnark-crypto is one of the fastest pairing-friendly elliptic curve libraries to be used in zkp projects with different curves.

Citing

If you use gnark-crypto in your research a citation would be appreciated. Please use the following BibTeX to cite the most recent release.

@software{gnark-crypto-v0.6.1,
  author       = {Gautam Botrel and
                  Thomas Piellard and
                  Youssef El Housni and
                  Arya Tabaie and
                  Ivo Kubjas},
  title        = {ConsenSys/gnark-crypto: v0.6.1},
  month        = feb,
  year         = 2022,
  publisher    = {Zenodo},
  version      = {v0.6.1},
  doi          = {10.5281/zenodo.6092968},
  url          = {https://doi.org/10.5281/zenodo.6092968}
}

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the Apache 2 License - see the LICENSE file for details.

Download Details:
 

Author: ConsenSys
Download Link: Download The Source Code
Official Website: https://github.com/ConsenSys/gnark-crypto 
License: Apache-2.0 license

#golang #go #cryptocurrency #blockchains

Gnark-Crypto | A library That Also Provides Various Cryptographic Algorithms in Go

How to Develop an NFT Gaming Platform From Scratch?

In general, developing an NFT gaming platform from scratch is similar to creating any blockchain application. Still, there are some unique aspects of NFT game development that make them worthy of mentioning in a step-wise order. The steps below give you a glimpse of building an NFT gaming platform from scratch.

  • Initially, one must plan all the facets of an NFT game. This includes technology, gameplay nature, blockchain(s) to work, market, target audience, competitors, and business plans. A road map should be drawn based on the observations.
  • Now, design the game’s prototype and get it tested with limited users. Based on the feedback, you can shape the game's front-end by designing all the in-game aspects.
  • Then, create the back–end features for the NFT gaming platform. Here, you should also integrate blockchain(s), smart contracts, and native tokens of your game.
  • Now, test the NFT gaming platform extensively for bugs and debug any errors that might be present.
  • At last, launch the NFT gaming platform for public use. Get gamer feedback and implement them in future updates to stay competitive in the gaming world.

If you want to create an NFT gaming platform, consider approaching a development firm that can help you realize your ideas.

#nft #game-development #games #gaming #game app development #nftmarketplace #blockchains 

 

How to Develop an NFT Gaming Platform From Scratch?

Waves Wallet IOS App using Swift

Waves Wallet on iOS

Waves Wallet iOS app is the official wallet software designed with mass adoption in mind. It allows to access your Waves account, handle financial operations, and trade on DEX.

Blockchain for the people

Keep up with the latest news and articles, and find out all about events happening on the Waves Platform.

Demo

Download Details:
Author: wavesplatform
Source Code: https://github.com/wavesplatform/WavesWallet-iOS
License: MIT license

#waves  #blockchains  #smartcontract #swift 

Waves Wallet IOS App using Swift

The Future of Public Blockchains | Expert Interview with ETHEREUM Core Developer | Cryptonews

Expert Interview with legendary frozeman aka Fabian Vogelsteller. He was Ethereum core developer, creator of the #ERC20 token standard, the Mist browser, web3.js, and is the founder of LUKSO. He will discuss with Albert Peci about the future of public permissionless blockchains, how the next generation of blockchains will deal with scaling problems and energy consumption, and if ETH 2.0 is already obsolete.

BLOCKCHANCE is a platform and open network dedicated to supporting and explaining the opportunities that blockchain technology brings. So, that a harmonic implementation succeeds and the great challenges of our time can be solved together to lay a foundation for a new era.

#blockchains #blockchance

The Future of Public Blockchains | Expert Interview with ETHEREUM Core Developer | Cryptonews

POLYGON (MATIC) - Ethereum's Internet Of Blockchains Explained - Layer 2

So what is Polygon, previously Matic, all about? How will it help with scaling Ethereum? Why does it claim to be Ethereum’s Internet of Blockchains? And why is it sometimes compared to Polkadot and Cosmos? You’ll find answers to these questions in this video.

Before the rebranding to Polygon, the project was known as Matic or Matic Network.

Matic was started in 2017 by 3 founders who were active participants in the cryptocurrency community in India and decided to band together and tackle Ethereum’s scaling problems.

The team worked on 2 main solutions: Plasma Chains - a layer 2 scaling solution based on Matic’s implementation of Plasma and a PoS Chain - a Proof-Of-Stake Ethereum sidechain.

The token behind Matic Network - MATIC - was distributed through the Binance Launchpad’s initial exchange offering in April 2019 and the team was able to raise $5.6M.

After over 2.5 years of work, The Matic Network Mainnet went live in mid-2020 and quickly started attracting more and more attention. This was supercharged by the increasing gas fees on Ethereum that showed an urgent need for finding robust scaling solutions.

At the beginning of 2021, the Matic team decided to expand the scope of their project and rebranded themselves to Polygon.

Polygon aims at creating a more generalised scaling solution.

🙌 Gitcoin Grant ► https://gitcoin.co/grants/1158/finematics-defi-education

#ethereum #blockchains

POLYGON (MATIC) - Ethereum's Internet Of Blockchains Explained - Layer 2
Salma  Mateos

Salma Mateos

1615554780

Mining Difficulty - Simply Explained

Mining Bitcoin or Ethereum is a hard task for your computer. But why? And what does the difficulty have to do with the security of blockchains? Learn all about blockchains, consensus algorithms and why difficulty adjustment is crucial to keep everything operating at an optimal (and safe) level.

Subscribe: https://www.youtube.com/channel/UCnxrdFPXJMeHru_b4Q_vTPQ

#mining #blockchains #bitcoin

Mining Difficulty - Simply Explained

The GRAPH - Google Of Blockchains? GRT Token Explained

So what is The Graph Protocol all about? Why do some people call it the Google of Blockchains? And what is the use case for the GRT token? You’ll find answers to these questions in this video.

The Graph is an indexing protocol for querying blockchain data that enables the creation of fully decentralized applications.

The project was started in late 2017 by a trio of software engineers who were frustrated by the lack of tooling in the Ethereum ecosystem which made building decentralized applications hard. After a few years of work and a lot of iterations, The Graph went live in Dec 2020.

The Graph, as one of the infrastructure protocols, can be quite tricky to grasp, so before we jump into the details, let’s try to understand what indexing - the main concept behind The Graph - actually is.

#blockchains

The GRAPH - Google Of Blockchains? GRT Token Explained
Rust  Language

Rust Language

1606570320

Extensible, Modular, Frameworks in Rust: Substrate's Approach for Blockchains

Extensible, Modular, Frameworks in Rust: Substrate’s Approach for Blockchains

#rust #blockchains

Extensible, Modular, Frameworks in Rust: Substrate's Approach for Blockchains

Maurice Herlihy — Blockchains and the future of distributed computing

There has been a recent explosion of interest in blockchain-based distributed ledger systems such as Bitcoin, Ethereum, and many others. Much of this work originated outside the distributed computing community, but the questions raised, such as consensus, replication, fault-tolerance, privacy, and security, and so on, are all issues familiar to our community.

This talk surveys the theory and practice of blockchain-based distributed systems from the point of view of classical distributed computing, and how treating blockchains as a distributed computing problem simplifies everything.

Subscribe to the channel https://www.youtube.com/watch?v=XbD3LpWMX4c

#blockchains

Maurice Herlihy — Blockchains and the future of distributed computing
Joe  Hoppe

Joe Hoppe

1589793991

The Present and Future of Building Blockchains with Substrate

Radicle is secure peer-to-peer code collaboration without intermediaries. Issues, patches, and code review items can be shared seamlessly between peers and interacted with on the user’s machine, just like one interacts with a git repository. https://radicle.xyz/

Centrifuge is an open, decentralized platform to connect the global financial supply chain. It allows any business to transact while maintaining ownership of their data, including their validated company details, their reputation, business relationships, and subsequent transactions.

Subscribe to the channel https://www.youtube.com/watch?v=7CgsPv1MI9w

#present #blockchains #substrate

The Present and Future of Building Blockchains with Substrate