Ethereum C++ client
C++ C CMake Shell Assembly Batchfile Python
Latest commit 7317196 Feb 17, 2017 @gumb0 gumb0 committed on GitHub Merge pull request #3574 from ethereum/fix-headers-response
Fix generating headers response when start block is unknown
Permalink
Failed to load latest commit information.
bench Merge branch 'develop' into boost-from-source Feb 15, 2017
cmake CMake: set CMP0028 policy to NEW Feb 16, 2017
deps @ 1af6356 Remove boost as a system dependency Feb 15, 2017
dist/snap Move snapcraft.yaml to dist/snap Feb 7, 2017
doc Updated dependencies graph generation to match new structure. Aug 18, 2016
eth Init secp256k1 in the main thread of eth Feb 17, 2017
ethkey Fix BuildInfo.h generation dependency Feb 16, 2017
ethminer CMake: mark all targets except eth as optional for install Feb 16, 2017
ethvm CMake: mark all targets except eth as optional for install Feb 16, 2017
evmjit @ ffcae43 EVMJIT: separate EXTCODESIZE from EXTCODE(COPY) Dec 6, 2016
homebrew Additional paths for dylib path fixup for macOS ZIP builds. Jul 18, 2016
libdevcore Remove boost/asio/tcp logging helper Feb 16, 2017
libdevcrypto Merge branch 'develop' into cmake-static-install Feb 9, 2017
libethash CMake: do not install any library Jan 24, 2017
libethashseal Merge pull request #3558 from winsvega/metropolis Feb 15, 2017
libethcore Merge branch 'develop' into cmake-static-install Feb 9, 2017
libethereum Merge pull request #3574 from ethereum/fix-headers-response Feb 17, 2017
libevm Merge branch 'develop' into cmake-static-install Feb 9, 2017
libevmcore Merge branch 'develop' into boost-from-source Feb 15, 2017
libp2p Merge branch 'develop' into boost-from-source Feb 15, 2017
libweb3jsonrpc Merge branch 'develop' into cmake-static-install Feb 10, 2017
libwebthree Fix BuildInfo.h generation dependency Feb 16, 2017
libwhisper Merge branch 'develop' into boost-from-source Feb 15, 2017
rlp Merge branch 'develop' into boost-from-source Feb 15, 2017
scripts Merge pull request #3570 from ethereum/docker-update Feb 17, 2017
test Merge branch 'develop' into boost-from-source Feb 16, 2017
utils Remove unused secp256k1 functions Feb 16, 2017
.gitignore Use int64_t in EnvInfo for block gas limit Aug 24, 2016
.gitmodules Add 'deps' and 'evmjit' submodules. Aug 12, 2016
.travis.yml Travis CI: install latest CMake on Linux Jan 5, 2017
CMakeLists.txt CMake: mark all targets except eth as optional for install Feb 16, 2017
CodingStandards.txt Typo Dec 5, 2016
LICENSE Added missing GPLv3 LICENSE file. Aug 7, 2016
README.md Corrected links to TravisCI and Appveyor status, and contributors page. Aug 28, 2016
appveyor.yml CI: cache boost build on AppVeyor Feb 15, 2017
refilltests refill tests Jan 4, 2017
sanitizer-blacklist.txt Added stray README.md and sanitizizer-blacklist.txt files. Aug 12, 2016

README.md

cpp-ethereum - Ethereum C++ client

This repository contains cpp-ethereum, the Ethereum C++ client.

It is the third most popular of the Ethereum clients, behind geth (the go client) and Parity (the rust client). The code is exceptionally portable and has been used successfully on a very broad range of operating systems and hardware.

We are in the process of re-licensing the codebase from the copyleft GPLv3 license to the permissive Apache 2.0 licence, to enable Ethereum to be used as broadly as possible. There is a long-form article - "Ethereum Everywhere" - which talks about the rationale for the change and the history leading up to this proposed change of licensing.

Getting Started

The Ethereum Documentation site hosts the cpp-ethereum homepage, which has a Quick Start section.

Please do come and chat to us on the cpp-ethereum gitter channel if you need help with anything!

Status
Ubuntu and macOS Build Status
Windows Build Status

Contributing

The current codebase is the work of many, many hands, with nearly 100 individual contributors over the course of its development.

Our day-to-day development chat happens on the cpp-ethereum-development gitter channel.

All contributions are welcome! We try to keep a list of tasks that are suitable for newcomers under the tag good first task. If you have any questions, please just ask.

Please refer to the file CONTRIBUTING.md for some guidelines.

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.

All development goes in develop branch.

Testing

To run the tests, make sure you clone https://github.com/ethereum/tests and point the environment variable ETHEREUM_TEST_PATH to that path.

License

All contributions are made under the GPLv3 license. See LICENSE.

We are in the process of re-licensing to Apache 2.0. See above for more details.