13.06.2017 Views

Whitepaper - Ethereum Classic With Cover

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Ethereum</strong> <strong>Classic</strong> Documentation, Release 0.1<br />

• mix - Dapp IDE<br />

– libp2p: core peer to peer networking implementation (excluding specific sub-protocols)<br />

– rlp: stand-alone rlp en-/decoder<br />

• solidity - Solidity compiler<br />

– docs: documentation, appears at http://solidity.readthedocs.org/<br />

– libsolidity: actual implementation<br />

– analysis: reference resolution, type checking, ... (builds up the annotations for the AST)<br />

– ast: abstract syntax tree and type system<br />

– codegen: assembly code generation from annotated AST<br />

– formal: formal verification<br />

– interface: external interface for users of libsolidity<br />

– parsing: parser (creates the non-annotated AST)<br />

– solc: commandline compiler<br />

• web3.js - JavaScript Dapp framework library (connects to backend via RPC / IPC)<br />

• webthree - actual client / node implementation (“eth”)<br />

– eth: commandline client / node<br />

– libjsconsole: JavaScript console for access to eth - deprecated, to be replaced by nodejs application<br />

– libjsengine: underlying engine for libjsconsole, to be removed<br />

– libweb3jsonrpc: json-rpc server-side endpoint, provides http and IPC (unix socket, windows pipe)<br />

connectors<br />

– libwebthree: service connectors for ethereum, swarm/ipfs and whisper.<br />

– libwhisper: whisper implementation<br />

• webthree-helpers - build system and some external dependencies<br />

– cmake: cmake files for build system, contains specification of inter-dependencies<br />

– utils: external dependencies<br />

* json_spirit: JSON parser written for Boost’s Spirit library.<br />

* libscrypt: scrypt implementation<br />

* secp256k1: implementation of the SECP 256k1 ECDSA signing algorithm.<br />

Automation setup for cpp-ethereum<br />

At the time of writing all of the automation for cpp-ethereum is driven using a Jenkins instance hosted at<br />

http://52.28.164.97.<br />

There is a “pretty alias” to the setup at http://ethbuilds.com, but that is owned by Bob Summerwill personally, not<br />

by the <strong>Ethereum</strong> Foundation, and might end up pointing to something else at a later date.<br />

1.2. <strong>Ethereum</strong> Clients 39

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!