/cpp-ethereum

Ethereum CUDA miner. Based on Tim Hughes' OpenCL kernel

Primary LanguageC++MIT LicenseMIT

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