openethereum/src/lib.rs

156 lines
3.6 KiB
Rust
Raw Normal View History

2016-01-19 17:02:01 +01:00
#![warn(missing_docs)]
2015-12-19 22:15:22 +01:00
#![feature(cell_extras)]
#![feature(augmented_assignments)]
2016-01-19 13:47:30 +01:00
#![feature(plugin)]
//#![plugin(interpolate_idents)]
2016-01-19 13:47:30 +01:00
#![plugin(clippy)]
#![allow(needless_range_loop, match_bool)]
2016-01-19 11:10:38 +01:00
2015-12-05 19:44:43 +01:00
//! Ethcore's ethereum implementation
2015-12-22 22:19:50 +01:00
//!
2015-12-05 19:44:43 +01:00
//! ### Rust version
//! - beta
//! - nightly
//!
//! ### Supported platforms:
//! - OSX
//! - Linux/Ubuntu
2015-12-22 22:19:50 +01:00
//!
2015-12-05 19:44:43 +01:00
//! ### Dependencies:
//! - RocksDB 3.13
//! - LLVM 3.7 (optional, required for `jit`)
//! - evmjit (optional, required for `jit`)
//!
//! ### Dependencies Installation
2015-12-22 22:19:50 +01:00
//!
2015-12-05 19:44:43 +01:00
//! - OSX
2015-12-22 22:19:50 +01:00
//!
2015-12-05 19:44:43 +01:00
//! - rocksdb
2015-12-08 16:31:36 +01:00
//! ```bash
2015-12-05 19:44:43 +01:00
//! brew install rocksdb
//! ```
2015-12-22 22:19:50 +01:00
//!
2015-12-05 19:44:43 +01:00
//! - llvm
2015-12-22 22:19:50 +01:00
//!
2015-12-05 19:44:43 +01:00
//! - download llvm 3.7 from http://llvm.org/apt/
//!
2015-12-08 16:31:36 +01:00
//! ```bash
2015-12-05 19:44:43 +01:00
//! cd llvm-3.7.0.src
//! mkdir build && cd $_
2015-12-22 22:19:50 +01:00
//! cmake -G "Unix Makefiles" .. -DCMAKE_C_FLAGS_RELEASE= -DCMAKE_CXX_FLAGS_RELEASE= -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/llvm/3.7 -DCMAKE_BUILD_TYPE=Release
2015-12-05 19:44:43 +01:00
//! make && make install
//! ```
//! - evmjit
2015-12-22 22:19:50 +01:00
//!
2015-12-05 19:44:43 +01:00
//! - download from https://github.com/debris/evmjit
2015-12-22 22:19:50 +01:00
//!
2015-12-08 16:31:36 +01:00
//! ```bash
2015-12-05 19:44:43 +01:00
//! cd evmjit
//! mkdir build && cd $_
//! cmake -DLLVM_DIR=/usr/local/lib/llvm-3.7/share/llvm/cmake ..
//! make && make install
//! ```
2015-12-22 22:19:50 +01:00
//!
2015-12-05 19:44:43 +01:00
//! - Linux/Ubuntu
2015-12-22 22:19:50 +01:00
//!
2015-12-05 19:44:43 +01:00
//! - rocksdb
//!
2015-12-08 16:31:36 +01:00
//! ```bash
2015-12-05 19:44:43 +01:00
//! wget https://github.com/facebook/rocksdb/archive/rocksdb-3.13.tar.gz
//! tar xvf rocksdb-3.13.tar.gz && cd rocksdb-rocksdb-3.13 && make shared_lib
//! sudo make install
//! ```
2015-12-22 22:19:50 +01:00
//!
2015-12-05 19:44:43 +01:00
//! - llvm
2015-12-22 22:19:50 +01:00
//!
2015-12-05 19:44:43 +01:00
//! - install using packages from http://llvm.org/apt/
2015-12-22 22:19:50 +01:00
//!
2015-12-05 19:44:43 +01:00
//! - evmjit
2015-12-22 22:19:50 +01:00
//!
2015-12-05 19:44:43 +01:00
//! - download from https://github.com/debris/evmjit
2015-12-22 22:19:50 +01:00
//!
2015-12-08 16:31:36 +01:00
//! ```bash
2015-12-05 19:44:43 +01:00
//! cd evmjit
//! mkdir build && cd $_
//! cmake .. && make
//! sudo make install
//! sudo ldconfig
//! ```
#[macro_use]
extern crate log;
2015-12-12 06:05:36 +01:00
extern crate rustc_serialize;
extern crate flate2;
2015-12-13 22:39:01 +01:00
extern crate rocksdb;
2015-12-16 17:39:15 +01:00
extern crate heapsize;
2016-01-08 00:26:52 +01:00
extern crate crypto;
extern crate time;
extern crate env_logger;
2016-01-17 23:07:58 +01:00
extern crate num_cpus;
#[cfg(feature = "jit" )]
extern crate evmjit;
#[macro_use]
extern crate ethcore_util as util;
2015-11-26 21:34:49 +01:00
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
pub mod common;
2016-01-19 17:02:01 +01:00
/// TODO [Tomusdrw] Please document me
pub mod basic_types;
2016-01-14 17:42:17 +01:00
#[macro_use]
pub mod evm;
2016-01-10 14:05:39 +01:00
pub mod error;
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
2016-01-11 13:29:15 +01:00
pub mod log_entry;
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
pub mod env_info;
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
pub mod pod_account;
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
pub mod pod_state;
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
pub mod account_diff;
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
pub mod state_diff;
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
pub mod engine;
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
pub mod state;
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
2015-12-13 21:36:17 +01:00
pub mod account;
2016-01-11 16:33:08 +01:00
pub mod action_params;
2016-01-19 17:02:01 +01:00
/// TODO [debris] Please document me
pub mod header;
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
2015-12-09 00:45:33 +01:00
pub mod transaction;
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
pub mod receipt;
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
pub mod null_engine;
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
pub mod builtin;
2016-01-19 17:02:01 +01:00
/// TODO [debris] Please document me
pub mod spec;
2015-12-17 02:13:14 +01:00
pub mod views;
2015-12-21 02:34:41 +01:00
pub mod blockchain;
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
2015-12-21 02:34:41 +01:00
pub mod extras;
2016-01-19 17:02:01 +01:00
/// TODO [arkpar] Please document me
2016-01-15 14:22:46 +01:00
pub mod substate;
2016-01-19 17:02:01 +01:00
/// TODO [Gav Wood] Please document me
2016-01-13 23:15:44 +01:00
pub mod service;
2016-01-15 14:22:46 +01:00
pub mod executive;
pub mod externalities;
#[cfg(test)]
mod tests;
2016-01-19 17:02:01 +01:00
/// TODO [arkpar] Please document me
2016-01-07 16:08:12 +01:00
pub mod client;
2016-01-19 17:02:01 +01:00
/// TODO [arkpar] Please document me
2015-12-22 22:19:50 +01:00
pub mod sync;
2016-01-19 17:02:01 +01:00
/// TODO [arkpar] Please document me
pub mod block;
2016-01-19 17:02:01 +01:00
/// TODO [arkpar] Please document me
2016-01-09 19:10:05 +01:00
pub mod verification;
2016-01-21 23:33:52 +01:00
pub mod block_queue;
pub mod ethereum;