Ethereum C++ client
C++ C CMake Shell Assembly Batchfile Python
View #3421
#3421 Compare This branch is 22 commits ahead, 18359 commits behind develop.
Failed to load latest commit information.
abi Support rocksdb alternative. Jun 21, 2015
alethzero fix grice to price Aug 21, 2015
cmake updated FindEth.cmake documentation Aug 17, 2015
doc Kill unneeded rubbish. Add docs. Dec 20, 2014
docker refactor Dockerfile Apr 25, 2015
eth Merge branch 'develop' of into… Aug 15, 2015
ethconsole Fix ethconsole. Jul 26, 2015
ethkey Bug fix in ethkey. Aug 15, 2015
ethminer Use toJS instead of toHex() Aug 17, 2015
ethrpctest update test to new Block/State refactoring - credit to winsvega and c… Aug 5, 2015
ethvm Various compile fixes. Aug 5, 2015
evmjit make evmjit conditional Aug 21, 2015
exp First draft at splitting State. Aug 5, 2015
extdep extdep/getstuff.bat downloads only x64 libs on windows Jul 27, 2015
json_spirit Remove unused typedef. Jun 8, 2015
libdevcore Limit output recursion depth for RLP. Aug 18, 2015
libdevcrypto Tests fix; ignore missing web3 keys path. Aug 17, 2015
libethash-cl Add more info on CL device info printing Aug 4, 2015
libethash subtree bump: libethash Jun 16, 2015
libethcore Fix for SEC-024, SEC-025. Aug 22, 2015
libethereum Fix for SEC-024, SEC-025. Aug 22, 2015
libethereumx NameReg integration. Aug 13, 2015
libevm Merge remote-tracking branch 'upstream/develop' into evmjit_stack Aug 11, 2015
libevmasm libevmasm doesn't use libdevcrypto. Aug 17, 2015
libevmcore now policy CMP0042 is set to OLD Aug 5, 2015
libjsconsole Remove quit functionality from readConsole Aug 11, 2015
libjsengine Lowercased functions. Aug 11, 2015
libjsqrc additional ssh methods Aug 14, 2015
liblll Warning fix. Aug 6, 2015
libnatspec Ignore override warnings in Qt. Aug 7, 2015
libp2p Build fix. Aug 18, 2015
libscrypt now policy CMP0042 is set to OLD Aug 5, 2015
libserpent now policy CMP0042 is set to OLD Aug 5, 2015
libsolidity Merge pull request #2734 from chriseth/sol_fixOperators Aug 10, 2015
libtestutils Merge pull request #2723 from ethereum/block Aug 6, 2015
libweb3jsonrpc Reported hashrate is now u256 Aug 17, 2015
libwebthree Reduce usage of "new". Aug 11, 2015
libwhisper Don't trip up when can't change parent directory's permissions to the… Aug 7, 2015
lllc Some changes in libdevcore. Jun 16, 2015
mix Reported hashrate is now u256 Aug 17, 2015
pysol Added python wrapper Feb 6, 2015
rlp Fixed typo. Jul 1, 2015
sc fixed #1022 Feb 16, 2015
secp256k1 field setting for ARM Aug 11, 2015
solc Use 0/1 for cmake switches. Aug 5, 2015
templates Add plugin-with-dialog template. Aug 18, 2015
test Merge pull request #2848 from LefterisJP/eth_submitWork_str Aug 17, 2015
third Add as a node. Aug 18, 2015
.gitignore trigger the buildbot Jul 30, 2015
.gitmodules Update evmjit submodule url Dec 10, 2014 Place project version in cmake variable PROJECT_VERSION. Jul 28, 2015
CMakeLists.txt Merge pull request #2866 from ethereum/develop Aug 18, 2015
CodingStandards.txt Add info about logging in the coding standards Aug 12, 2015 EthExecutableHelper.cmake Dec 11, 2014
GPLV3_LICENSE Wording for MIT license and external contributors Aug 11, 2015
LICENSE typo in LICENSE file name Aug 12, 2015 Some readme disambiguations Aug 11, 2015 new osx dragndrop installer Jun 14, 2015
astylerc Update astyle options: Oct 29, 2014 Coverage: Filltests option Aug 11, 2015
include.lll Standard service JS script. Jun 12, 2014
install-folder-bg.png new osx dragndrop installer Jun 14, 2015
install-folder-bg@2x.png new osx dragndrop installer Jun 14, 2015 Additional network niceness. Oct 2, 2014 Add merge master script. Jan 13, 2015 Templates and script for making new plugins. Aug 10, 2015 Update package script. Sep 22, 2014 Serpent update. Feb 4, 2015 Mar 9, 2015
qtcreator-style.xml Add QtCreator code style. Oct 16, 2014
sanitizer-blacklist.txt Add support for clang sanitizer to cmake scripts. Jun 22, 2015
standard.js Improvement to AZ - confirmation disabler. Feb 20, 2015
stdserv.js Remove overly verbose log. Nov 18, 2014

Ethereum C++ Client.

Join the chat at

By Gav Wood et al*, 2013, 2014, 2015.

Linux OSX Windows
develop Build+Status Build+Status Build+Status
master Build+Status Build+Status Build+Status
evmjit Build+Status Build+Status N/A

Stories in Ready

Ethereum is based on a design in an original whitepaper by Vitalik Buterin. This implementation is based on the formal specification of a refinement of that idea detailed in the 'yellow paper' by Gavin Wood. Contributors, builders and testers include:

  • arkpar (Arkadiy Paronyan) Mix, PV61/BlockQueue
  • debris (Marek Kotewicz) JSONRPC, web3.js
  • CJentzsch (Christoph Jentzsch) tests, lots of tests
  • LefterisJP (Lefteris Karapetsas) Solidity, libethash
  • chriseth (Christian Reitwiessner) Solidity
  • subtly (Alex Leverington) libp2p, rlpx
  • yann300 (Yann Levreau) Mix
  • LianaHus (Liana Husikyan) Solidity
  • chfast (Paweł Bylica) EVMJIT
  • cubedro (Marian Oancea) web3.js
  • gluk256 (Vlad Gluhovsky) Whisper
  • programmerTim (Tim Hughes) libethash-cl

And let's not forget: Caktux (neth, ongoing CI), Eric Lombrozo (original MinGW32 cross-compilation), Marko Simovic (original CI).


See the Wiki for build instructions, compatibility information and build tips.


To run the tests, make sure you clone the tests repository from to tests as a sibling to cpp-ethereum.

Yet To Do



All new contributions are under the MIT license. See LICENSE. Some old contributions are under the GPLv3 license. See GPLV3_LICENSE.


All new contributions are added under the MIT License. Please refer to the LICENSE file in the root directory. To state that you accept this fact for all of your contributions please add yourself to the list of external contributors like in the example below.

External Contributors

I hereby place all my contributions in this codebase under an MIT licence, as specified here.

  • Name Surname (email@domain)

Contribution guideline

Please add yourself in the @author doxygen section of the file your are adding/editing with the same wording as the one you listed yourself in the external contributors section above, only replacing the word contribution by file

All development goes in develop branch - please don't submit pull requests to master.

Please read CodingStandards.txt thoroughly before making alterations to the code base. Please do NOT use an editor that automatically reformats whitespace away from astylerc or the formatting guidelines as described in CodingStandards.txt.

libweb3jsonrpc/abstractwebthreestubserver.h is autogenerated from the jsonrpcstub executable that comes with the libjsonrpc library (json-rpc-cpp project). It shouldn't be maually altered.

jsonrpcstub spec.json --cpp-server=AbstractWebThreeStubServer