// Copyright 2015, 2016 Ethcore (UK) Ltd. // This file is part of Parity. // Parity is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // Parity is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with Parity. If not, see . #![warn(missing_docs)] #![cfg_attr(feature="dev", feature(plugin))] #![cfg_attr(feature="dev", plugin(clippy))] // Clippy config // TODO [todr] not really sure #![cfg_attr(feature="dev", allow(needless_range_loop))] // Shorter than if-else #![cfg_attr(feautre="dev", allow(match_bool))] // Keeps consistency (all lines with `.clone()`) and helpful when changing ref to non-ref. #![cfg_attr(feature="dev", allow(clone_on_copy))] //! Ethcore library //! //! ### Rust version: //! - nightly //! //! ### Supported platforms: //! - OSX //! - Linux //! //! ### Building: //! //! - Ubuntu 14.04 and later: //! //! ```bash //! # install rocksdb //! add-apt-repository "deb http://ppa.launchpad.net/giskou/librocksdb/ubuntu trusty main" //! apt-get update //! apt-get install -y --force-yes librocksdb //! //! # install multirust //! curl -sf https://raw.githubusercontent.com/brson/multirust/master/blastoff.sh | sh -s -- --yes //! //! # install nightly and make it default //! multirust update nightly && multirust default nightly //! //! # export rust LIBRARY_PATH //! export LIBRARY_PATH=/usr/local/lib //! //! # download and build parity //! git clone https://github.com/ethcore/parity //! cd parity //! cargo build --release //! ``` //! //! - OSX: //! //! ```bash //! # install rocksdb && multirust //! brew update //! brew install rocksdb //! brew install multirust //! //! # install nightly and make it default //! multirust update nightly && multirust default nightly //! //! # export rust LIBRARY_PATH //! export LIBRARY_PATH=/usr/local/lib //! //! # download and build parity //! git clone https://github.com/ethcore/parity //! cd parity //! cargo build --release //! ``` #[macro_use] extern crate log; #[macro_use] extern crate ethcore_util as util; #[macro_use] extern crate lazy_static; extern crate rustc_serialize; extern crate rocksdb; extern crate heapsize; extern crate crypto; extern crate time; extern crate env_logger; extern crate num_cpus; extern crate crossbeam; #[cfg(feature = "jit" )] extern crate evmjit; pub mod block; pub mod blockchain; pub mod block_queue; pub mod client; pub mod error; pub mod ethereum; pub mod header; pub mod service; pub mod spec; pub mod transaction; pub mod views; pub mod receipt; mod common; mod basic_types; #[macro_use] mod evm; mod log_entry; mod env_info; mod pod_account; mod pod_state; mod account_diff; mod state_diff; mod engine; mod state; mod account; mod account_db; mod action_params; mod null_engine; mod builtin; mod extras; mod substate; mod executive; mod externalities; mod verification; #[cfg(test)] mod tests; #[cfg(test)] #[cfg(feature="json-tests")] mod json_tests;