Gavin Wood's C++ implementation of the Ethereum yellowpaper.
C++ JavaScript C CMake HTML Assembly Other
Pull request Compare This branch is 20570 commits behind ethereum:develop.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
abi
doc
docker
ethconsole
ethkey
ethminer
ethvm
evmjit
exp
extdep
json_spirit
libdevcore
libdevcrypto
libethash-cl
libethash
libethcore
libethereum
libethereumx
libevm
libevmasm
libevmcore
libjsconsole
libjsengine
libjsqrc
liblll
libnatspec
libp2p
libscrypt
libserpent
libtestutils
lllc
pysol
rlp
sc
secp256k1
solidity @ 66552f4
templates
test
third
.gitignore
.gitmodules
BuildInfo.h.in
CMakeLists.txt
CodingStandards.txt
EthereumMacOSXBundleInfo.plist.in
GPLV3_LICENSE
LICENSE
README.md
appdmg.json.in
astylerc
dependency_graph.dot
getcoverage.sh
include.lll
install-folder-bg.png
install-folder-bg@2x.png
merge.sh
mergeMaster.sh
new.sh
package.sh
pullSerpent.sh
pullSubtree.sh
qtcreator-style.xml
sanitizer-blacklist.txt
standard.js
stdserv.js

README.md

Ethereum C++ Client.

Join the chat at https://gitter.im/ethereum/cpp-ethereum

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).

Building

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

Testing

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

Yet To Do

See TODO

License

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

Contributing

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