This page documents the earliest known commits for the major Ethereum client implementations and related software. All three original clients had their first commits on the same day — December 31, 2013.
Original Clients
cpp-ethereum (Aleth)
- First commit: December 31, 2013
- Author: Gavin Wood
- Commit:
306de204— "Virtual machine and switch to Boost's big num type for 256-b" - Repository: ethereum/aleth (originally cpp-ethereum)
- Language: C++
The C++ client was the first working Ethereum implementation, built by Gavin Wood. It was later renamed to Aleth.
pyethereum
- First commit: December 31, 2013
- Author: Vitalik Buterin
- Commit:
2992c041— "Bugfixes to trie" - Repository: ethereum/pyethereum
- Language: Python
The Python implementation was Vitalik's reference client. Note that the repository had earlier commits for trie and RLP implementations before the full client took shape.
go-ethereum (Geth)
- First commit (by Jeffrey Wilcke): January 31, 2014
- Commit:
7277c420 - Repository: ethereum/go-ethereum
- Language: Go
The go-ethereum repository originally contained test data committed by Vitalik Buterin on December 31, 2013. Jeffrey Wilcke (obscuren) began writing the Go client in late January 2014. It would eventually become the dominant Ethereum client implementation.
Later Clients
ethereumj
- First commit (in repository): December 30, 2014
- Author: Roman Mandeleil
- Repository: ethereum/ethereumj
- Language: Java
Parity Ethereum
- First commit: Late 2015
- Authors: Gavin Wood, Arkadiy Paronyan, and others at Ethcore
- Repository: openethereum/parity-ethereum
- Language: Rust
Gavin Wood's second Ethereum client, written in Rust after he left the Ethereum Foundation and founded Ethcore (later Parity Technologies).
Development Tools
Mist
- First commit (in repository): December 17, 2015
- Author: Fabian Vogelsteller
- Repository: ethereum/mist
The Ethereum browser and wallet. Earlier development occurred within the cpp-ethereum repository before being split out.
Solidity
- Repository created: August 17, 2015
- Repository: Originally at ethereum/solidity (now transferred)
Solidity was initially developed within the cpp-ethereum codebase before being split into its own repository. Christian Reitwießner was the primary developer.
Notes
The fact that all three original clients had their first commits on December 31, 2013 reflects the intense burst of activity following Vitalik Buterin's publication of the Ethereum white paper. Gavin Wood had been working on the C++ implementation since late December 2013 and would go on to write the Yellow Paper formalizing the Ethereum specification.