This question already has an answer here:

I want to learn ethereum from the ground up. Is ethereum written in python or golang or another langauge?

With written I mean the reference implementation.

marked as duplicate by Richard Horrocks, Crema, Achala Dissanayake, eth Nov 2 '17 at 9:45

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


Both - because ethereum is a network of co-operating nodes, it's really good for the robustness of the ecosystem to have multiple implementations.

The client written in golang (often called geth) has a focus on efficiency, and is ethereum/go-ethereum on GitHub.

The client written in python has a particular focus on readability, and is ethereum/pyethapp on GitHub.

  • Thank you very much! So learning Python first is a good choice if I wanto to learn Ethereum from the ground up? – Ini Oct 29 '17 at 17:20
  • What is ethereum/pyethereum? – Ini Oct 29 '17 at 18:39
  • @Invader it's the python library which handles core ethereum task. The command-line client pyethapp uses it to do stuff – Aaron Sikes Oct 30 '17 at 18:06
  • It's probably more useful to learn python than go if the goal is understanding ethereum. But the formal specification is also available at yellowpaper.io - although it's really formal and math-heavy. – Aaron Sikes Oct 30 '17 at 18:08
  • Is it necessary to understand all the stuff in the formal specification before digging into ethereum code or is it enough to understand the whitepaper? – Ini Oct 30 '17 at 19:31

Not the answer you're looking for? Browse other questions tagged or ask your own question.