13.06.2017 Views

Whitepaper - Ethereum Classic With Cover

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

execute the given javascript file that has to end in .js non-interactively.<br />

The script has to call process.exit() in order to terminate the console.<br />

What are the modules?<br />

What are the primary executables?<br />

• eth A command-line <strong>Ethereum</strong> full-node that can be controlled via RPC.<br />

• mix An IDE for contract and user interface development, testing and deployment to the blockchain.<br />

• solc The solidity command line compiler<br />

• lllc The LLL command-line compiler.<br />

Deprecated executables, to be retired soon<br />

• AlethZero A Qt-based all-encompassing GUI for interacting with <strong>Ethereum</strong> (receives minimal support).<br />

• EthKey Key management CLI.<br />

What are the various modules?<br />

• AlethZero - A Qt-based GUI for interacting with <strong>Ethereum</strong>. Receives minimal support.<br />

• libethereum - Modules related to the <strong>Ethereum</strong> part of web3, i.e. consensus engine, blockchain download, virtual mach<br />

– ethkey: stand-alone key management<br />

– ethminer: stand-alone ethash miner<br />

– ethvm: stand-alone EVM execution utility<br />

– evmjit: library for the EVM just-in-time compiler<br />

– libethash: ethash mining POW algorithm implementation<br />

– libethash-cl: ethash mining code for GPU mining (OpenCL)<br />

– libethashseal: generic wrapper around the POW block seal engine. Also contains the genesis<br />

states for all ethash-based chains.<br />

– libethcore: collection of core data structures and concepts<br />

– libethereum: main consensus engine (minus EVM). Includes the State and BlockChain classes.<br />

– libevm: <strong>Ethereum</strong> Virtual Machine implementation (interpreter).<br />

– libevmasm: EVM assembly tools, also contains the optimizer.<br />

– libevmcore: elementary data structures of the EVM, opcodes, gas costs, ...<br />

– liblll: Low-level LISP-like Language compiler & assembler.<br />

– libnatspec: natspec script evaluator (confirmation messages)<br />

– libtestutils: utilities for testing code<br />

– lllc: LLL compiler commandline interface<br />

• libweb3core - Web3 core libraries, networking, encoding, decoding, basic data structures.<br />

– bench: trie benchmarking<br />

– libdevcore: data structures, utilities, rlp, trie, memory db<br />

– libdevcrypto: crypto primitives. Depends on libsecp256k1 and libcrypto++.<br />

38 Chapter 1. Contents

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

Saved successfully!

Ooh no, something went wrong!