Official Go implementation of the Ethereum protocol
Get our latest releases
Read our documentation
What is Geth?
Geth (go-ethereum) is a Go implementation of Ethereum - a gateway into the decentralized web.
Geth has been a core part of Ethereum since the very beginning. Geth was one of the original Ethereum implementations making it the most battle-hardened and tested client.
Geth is an Ethereum execution client meaning it handles transactions, deployment and execution of smart contracts and contains an embedded computer known as the Ethereum Virtual Machine.
Running Geth alongside a consensus client turns a computer into an Ethereum node.
What is Ethereum?
Ethereum is a technology for building apps and organizations, holding assets, transacting and communicating without being controlled by a central authority. It is the base of a new, decentralized internet.
Why run a node?
Running your own node enables you to use Ethereum in a truly private, self-sufficient and trustless manner. You don't need to trust information you receive because you can verify the data yourself using your Geth instance.
“Don't trust, verify”
Contribute to Geth
We welcome contributions from anyone on the internet, and are grateful for even the smallest of fixes! If you'd like to contribute to the Geth source code, please fork the GitHub repository, fix, commit and send a pull request for the maintainers to review and merge into the main code base.
About the Team
The Geth team comprises 10 developers distributed across the world. The Geth team is funded exclusively by The Ethereum Foundation.
Don't know where to start?
We can help.
Check the FAQ section in the documentation.
Want to know how to contribute?
Get more information in the documentation.