Skip to content

cnsuhao/cpp-ethereum

 
 

Repository files navigation

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.

Packages

No packages published

Languages

  • C++ 85.0%
  • C 10.6%
  • CMake 3.0%
  • Shell 0.8%
  • Assembly 0.2%
  • Batchfile 0.2%
  • Python 0.2%