solana/src/lib.rs

133 lines
3.2 KiB
Rust
Raw Normal View History

2018-06-06 08:49:22 -07:00
//! The `solana` library implements the Solana high-performance blockchain architecture.
2018-06-07 13:51:29 -07:00
//! It includes a full Rust implementation of the architecture (see
2018-08-22 09:42:28 -07:00
//! [Fullnode](server/struct.Fullnode.html)) as well as hooks to GPU implementations of its most
2018-06-07 13:51:29 -07:00
//! paralellizable components (i.e. [SigVerify](sigverify/index.html)). It also includes
//! command-line tools to spin up fullnodes and a Rust library
//! (see [ThinClient](thin_client/struct.ThinClient.html)) to interact with them.
2018-06-06 08:49:22 -07:00
//!
2018-02-14 13:19:30 -08:00
#![cfg_attr(feature = "unstable", feature(test))]
2018-05-30 21:24:21 -07:00
#[macro_use]
pub mod counter;
2018-05-14 14:33:11 -07:00
pub mod bank;
pub mod banking_stage;
pub mod blob_fetch_stage;
pub mod bloom;
pub mod broadcast_service;
#[cfg(feature = "chacha")]
pub mod chacha;
#[cfg(all(feature = "chacha", feature = "cuda"))]
pub mod chacha_cuda;
pub mod client;
pub mod crds;
pub mod crds_gossip;
pub mod crds_gossip_error;
pub mod crds_gossip_pull;
pub mod crds_gossip_push;
pub mod crds_traits_impls;
pub mod crds_value;
2018-12-04 15:05:41 -08:00
pub mod create_vote_account;
#[macro_use]
pub mod contact_info;
pub mod cluster_info;
pub mod compute_leader_finality_service;
pub mod db_ledger;
pub mod db_window;
pub mod entry;
2018-04-21 06:12:57 -07:00
#[cfg(feature = "erasure")]
pub mod erasure;
2018-05-29 10:18:12 -07:00
pub mod fetch_stage;
2018-07-02 11:20:35 -07:00
pub mod fullnode;
pub mod gossip_service;
2018-09-24 21:31:20 -07:00
pub mod leader_scheduler;
pub mod ledger;
pub mod ledger_write_stage;
2018-04-28 00:31:20 -07:00
pub mod logger;
pub mod mint;
pub mod netutil;
2018-03-26 21:07:11 -07:00
pub mod packet;
pub mod poh;
pub mod poh_recorder;
pub mod poh_service;
pub mod recvmmsg;
2018-05-22 15:18:07 -07:00
pub mod replicate_stage;
pub mod replicator;
pub mod result;
pub mod retransmit_stage;
2018-08-10 16:05:23 -07:00
pub mod rpc;
2018-10-12 08:17:28 -07:00
pub mod rpc_pubsub;
pub mod rpc_request;
pub mod runtime;
pub mod service;
pub mod signature;
2018-05-25 15:52:17 -07:00
pub mod sigverify;
pub mod sigverify_stage;
pub mod storage_stage;
pub mod store_ledger_stage;
pub mod streamer;
2018-12-04 15:37:11 -08:00
pub mod test_tx;
pub mod thin_client;
2018-05-14 16:36:19 -07:00
pub mod tpu;
pub mod tpu_forwarder;
pub mod tvu;
pub mod vote_stage;
pub mod wallet;
2018-08-09 12:31:34 -07:00
pub mod window;
2018-09-07 15:00:26 -07:00
pub mod window_service;
extern crate bincode;
extern crate bs58;
extern crate bv;
extern crate byteorder;
extern crate bytes;
extern crate chrono;
extern crate clap;
extern crate dirs;
2018-10-22 21:21:33 -07:00
extern crate elf;
extern crate generic_array;
#[cfg(test)]
#[cfg(any(feature = "chacha", feature = "cuda"))]
#[macro_use]
extern crate hex_literal;
extern crate indexmap;
2018-09-19 18:33:40 -07:00
extern crate ipnetwork;
extern crate itertools;
extern crate libc;
#[macro_use]
2018-03-19 09:18:48 -07:00
extern crate log;
extern crate nix;
2018-09-14 15:31:54 -07:00
extern crate pnet_datalink;
2018-02-14 13:19:30 -08:00
extern crate rayon;
extern crate reqwest;
extern crate ring;
extern crate rocksdb;
extern crate serde;
#[macro_use]
extern crate serde_derive;
#[macro_use]
extern crate serde_json;
2018-09-24 13:53:02 -07:00
extern crate serde_cbor;
extern crate sha2;
extern crate socket2;
2018-11-16 08:04:46 -08:00
extern crate solana_drone;
2018-09-27 11:00:18 -07:00
extern crate solana_jsonrpc_core as jsonrpc_core;
extern crate solana_jsonrpc_http_server as jsonrpc_http_server;
extern crate solana_system_program;
2018-09-27 11:00:18 -07:00
#[macro_use]
extern crate solana_jsonrpc_macros as jsonrpc_macros;
extern crate solana_jsonrpc_pubsub as jsonrpc_pubsub;
extern crate solana_jsonrpc_ws_server as jsonrpc_ws_server;
2018-11-16 08:45:59 -08:00
extern crate solana_metrics;
extern crate solana_native_loader;
extern crate solana_sdk;
2018-08-10 15:59:41 -07:00
extern crate sys_info;
extern crate tokio;
extern crate tokio_codec;
extern crate untrusted;
#[cfg(test)]
#[macro_use]
extern crate matches;
extern crate rand;
extern crate rand_chacha;