Ethereum for Go developers
s
Sist redigert: @sumitvekariya(opens in a new tab), 29. august 2024
Learn how to develop for Ethereum using Go-based projects and tooling
Use Ethereum to create decentralized applications (or "dapps"). These dapps can be trustworthy, meaning that once they are deployed to Ethereum, they will always run as programmed. They are decentralized, meaning that they run on a peer-to-peer network and there is no single point of failure. No single entity or person controls them and they are nearly impossible to censor. They can control digital assets in order to create new kinds of applications.
Getting started with smart contracts and the Solidity language
Take your first steps to integrating Go with Ethereum
Need a more basic primer first? Check out ethereum.org/learn or ethereum.org/developers.
- Blockchain Explained(opens in a new tab)
- Understanding Smart Contracts(opens in a new tab)
- Write your First Smart Contract(opens in a new tab)
- Learn How to Compile and Deploy Solidity(opens in a new tab)
- Contract Tutorial(opens in a new tab)
Beginner articles and books
- Getting Started with Geth(opens in a new tab)
- Use Golang to Connect to Ethereum(opens in a new tab)
- Deploy Ethereum Smart Contracts Using Golang(opens in a new tab)
- A Step By Step Guide To Testing and Deploying Ethereum Smart Contracts in Go(opens in a new tab)
- eBook: Ethereum Development with Go(opens in a new tab) - Develop Ethereum applications with Go
Intermediate articles and docs
- Go Ethereum Documentation(opens in a new tab) - The documentation for the official Ethereum Golang
- Erigon Programmer's Guide(opens in a new tab) - Illustrated guide including the state tree, multi-proofs, and transaction processing
- Erigon and Stateless Ethereum(opens in a new tab) - 2020 Ethereum Community Conference (EthCC 3)
- Erigon: optimising Ethereum clients(opens in a new tab) - 2018 Devcon 4
- Go Ethereum GoDoc(opens in a new tab)
- Creating a dapp in Go with Geth(opens in a new tab)
- Work with Ethereum Private Network with Golang and Geth(opens in a new tab)
- Unit testing Solidity contracts on Ethereum with Go(opens in a new tab)
- Quick reference for using Geth as a library(opens in a new tab)
Advanced use patterns
- The GETH Simulated Backend(opens in a new tab)
- Blockchain-as-a-Service Apps Using Ethereum and Quorum(opens in a new tab)
- Distributed Storage IPFS and Swarm in Ethereum Blockchain Applications(opens in a new tab)
- Mobile Clients: Libraries and Inproc Ethereum Nodes(opens in a new tab)
- Native dapps: Go bindings to Ethereum contracts(opens in a new tab)
Go projects and tools
- Geth / Go Ethereum(opens in a new tab) - Official Go implementation of the Ethereum protocol
- Go Ethereum Code Analysis(opens in a new tab) - Review and analysis of Go Ethereum source code
- Erigon(opens in a new tab) - Faster derivative of Go Ethereum, with a focus on archive nodes
- Golem(opens in a new tab) - Golem is creating a global market for computing power
- Quorum(opens in a new tab) - A permissioned implementation of Ethereum supporting data privacy
- Prysm(opens in a new tab) - Ethereum 'Serenity' 2.0 Go Implementation
- Eth Tweet(opens in a new tab) - Decentralized Twitter: A microblogging service running on the Ethereum blockchain
- Plasma MVP Golang(opens in a new tab) — Golang implementation and extension of the Minimum Viable Plasma specification
- Open Ethereum Mining Pool(opens in a new tab) - An open source Ethereum mining pool
- Ethereum HD Wallet(opens in a new tab) - Ethereum HD Wallet derivations in Go
- Multi Geth(opens in a new tab) - Support for many species of Ethereum networks
- Geth Light Client(opens in a new tab) - Light Ethereum Subprotocol's Geth implementation
- Ethereum Golang SDK(opens in a new tab) - A simple Ethereum wallet implementation and utilities in Golang
- Covalent Golang SDK(opens in a new tab) - Efficient blockchain data access via Go SDK for 200+ blockchains
Looking for more resources? Check out ethereum.org/developers
Go community contributors
- Geth Discord(opens in a new tab)
- Geth Gist(opens in a new tab)
- Gophers Slack(opens in a new tab) - #ethereum channel(opens in a new tab)
- StackExchange - Ethereum(opens in a new tab)
- Multi Geth Gitter(opens in a new tab)
- Ethereum Gitter(opens in a new tab)
- Geth light Client Gitter(opens in a new tab)
Other aggregated lists
- Awesome Ethereum(opens in a new tab)
- Consensys: A Definitive List of Ethereum Developer Tools(opens in a new tab) | GitHub source(opens in a new tab)