2015-12-19 22:15:22 +01:00
|
|
|
#![feature(cell_extras)]
|
2016-01-09 22:13:13 +01:00
|
|
|
#![feature(augmented_assignments)]
|
2016-01-12 15:45:40 +01:00
|
|
|
//#![feature(plugin)]
|
|
|
|
//#![plugin(interpolate_idents)]
|
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
|
|
|
|
//! ```
|
|
|
|
|
2016-01-13 18:37:09 +01:00
|
|
|
#[macro_use] extern crate log;
|
2015-12-12 06:05:36 +01:00
|
|
|
extern crate rustc_serialize;
|
2016-01-13 18:37:09 +01:00
|
|
|
#[macro_use] extern crate itertools;
|
2015-12-12 06:05:36 +01:00
|
|
|
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;
|
2016-01-10 22:55:07 +01:00
|
|
|
extern crate time;
|
2015-12-13 14:16:11 +01:00
|
|
|
extern crate env_logger;
|
2016-01-13 18:37:09 +01:00
|
|
|
#[cfg(feature = "jit" )] extern crate evmjit;
|
2015-12-24 02:28:09 +01:00
|
|
|
|
2016-01-13 23:07:01 +01:00
|
|
|
#[macro_use] extern crate ethcore_util as util;
|
2015-11-26 21:34:49 +01:00
|
|
|
|
2016-01-09 12:30:41 +01:00
|
|
|
pub mod common;
|
2016-01-09 22:13:13 +01:00
|
|
|
pub mod basic_types;
|
2016-01-11 17:03:29 +01:00
|
|
|
pub mod executive;
|
2016-01-10 14:05:39 +01:00
|
|
|
pub mod error;
|
2016-01-11 13:29:15 +01:00
|
|
|
pub mod log_entry;
|
2015-12-20 13:16:12 +01:00
|
|
|
pub mod env_info;
|
|
|
|
pub mod engine;
|
2015-12-13 14:16:11 +01:00
|
|
|
pub mod state;
|
2015-12-13 21:36:17 +01:00
|
|
|
pub mod account;
|
2016-01-11 16:33:08 +01:00
|
|
|
pub mod action_params;
|
2015-12-20 13:16:12 +01:00
|
|
|
pub mod header;
|
2015-12-09 00:45:33 +01:00
|
|
|
pub mod transaction;
|
2015-12-20 13:16:12 +01:00
|
|
|
pub mod receipt;
|
2015-12-20 21:45:43 +01:00
|
|
|
pub mod null_engine;
|
|
|
|
pub mod builtin;
|
|
|
|
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;
|
|
|
|
pub mod extras;
|
2015-12-23 13:02:01 +01:00
|
|
|
pub mod evm;
|
2016-01-09 17:15:55 +01:00
|
|
|
|
2016-01-12 16:20:29 +01:00
|
|
|
#[cfg(test)]
|
|
|
|
mod tests;
|
|
|
|
|
2016-01-07 16:08:12 +01:00
|
|
|
pub mod client;
|
2015-12-22 22:19:50 +01:00
|
|
|
pub mod sync;
|
2016-01-09 10:26:31 +01:00
|
|
|
pub mod block;
|
2016-01-09 19:10:05 +01:00
|
|
|
pub mod verification;
|
2016-01-11 13:42:32 +01:00
|
|
|
pub mod queue;
|
2016-01-09 18:41:12 +01:00
|
|
|
pub mod ethereum;
|