2018-06-06 09:49:22 -06:00
|
|
|
//! The `solana` library implements the Solana high-performance blockchain architecture.
|
2018-06-07 14:51:29 -06:00
|
|
|
//! It includes a full Rust implementation of the architecture (see
|
2018-08-22 10:42:28 -06:00
|
|
|
//! [Fullnode](server/struct.Fullnode.html)) as well as hooks to GPU implementations of its most
|
2018-06-07 14:51:29 -06: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 09:49:22 -06:00
|
|
|
//!
|
|
|
|
|
2018-02-14 14:19:30 -07:00
|
|
|
#![cfg_attr(feature = "unstable", feature(test))]
|
2018-05-30 21:24:21 -07:00
|
|
|
#[macro_use]
|
|
|
|
pub mod counter;
|
2018-05-14 15:33:11 -06:00
|
|
|
pub mod bank;
|
2018-05-14 17:31:13 -06:00
|
|
|
pub mod banking_stage;
|
2018-06-13 21:52:23 -07:00
|
|
|
pub mod blob_fetch_stage;
|
2018-08-09 14:41:21 -06:00
|
|
|
pub mod broadcast_stage;
|
2018-05-29 13:28:07 -06:00
|
|
|
pub mod budget;
|
2018-06-26 15:43:20 -06:00
|
|
|
pub mod choose_gossip_peer_strategy;
|
2018-07-31 22:07:53 -07:00
|
|
|
pub mod client;
|
2018-09-17 13:36:31 -07:00
|
|
|
pub mod instruction;
|
2018-09-06 14:13:40 -07:00
|
|
|
#[macro_use]
|
2018-04-21 11:02:49 -07:00
|
|
|
pub mod crdt;
|
2018-09-19 17:25:57 -07:00
|
|
|
pub mod budget_program;
|
2018-06-19 22:42:03 -06:00
|
|
|
pub mod drone;
|
2018-09-23 22:13:44 -07:00
|
|
|
pub mod dynamic_program;
|
2018-03-06 17:31:17 -07:00
|
|
|
pub mod entry;
|
2018-05-11 22:36:16 -06:00
|
|
|
pub mod entry_writer;
|
2018-04-21 21:12:57 +08:00
|
|
|
#[cfg(feature = "erasure")]
|
|
|
|
pub mod erasure;
|
2018-05-29 11:18:12 -06:00
|
|
|
pub mod fetch_stage;
|
2018-07-02 11:20:35 -07:00
|
|
|
pub mod fullnode;
|
2018-03-26 22:03:26 -06:00
|
|
|
pub mod hash;
|
2018-03-19 10:09:17 -06:00
|
|
|
pub mod ledger;
|
2018-04-28 00:31:20 -07:00
|
|
|
pub mod logger;
|
2018-07-05 21:40:09 -07:00
|
|
|
pub mod metrics;
|
2018-03-07 17:08:12 -07:00
|
|
|
pub mod mint;
|
2018-06-07 16:06:32 -06:00
|
|
|
pub mod ncp;
|
2018-09-09 04:50:43 +09:00
|
|
|
pub mod netutil;
|
2018-03-26 21:07:11 -07:00
|
|
|
pub mod packet;
|
2018-05-29 13:55:21 -06:00
|
|
|
pub mod payment_plan;
|
2018-09-20 15:02:24 -07:00
|
|
|
pub mod poh;
|
|
|
|
pub mod poh_service;
|
2018-09-13 14:41:28 -07:00
|
|
|
pub mod recvmmsg;
|
2018-09-18 08:02:57 -07:00
|
|
|
pub mod recycler;
|
2018-05-22 15:18:07 -07:00
|
|
|
pub mod replicate_stage;
|
2018-09-21 15:32:15 -07:00
|
|
|
pub mod replicator;
|
2018-05-12 17:41:27 -06:00
|
|
|
pub mod request;
|
2018-05-12 17:50:55 -06:00
|
|
|
pub mod request_processor;
|
2018-05-12 10:31:28 -06:00
|
|
|
pub mod request_stage;
|
2018-03-07 13:47:13 -08:00
|
|
|
pub mod result;
|
2018-08-09 13:03:34 -06:00
|
|
|
pub mod retransmit_stage;
|
2018-08-10 17:05:23 -06:00
|
|
|
pub mod rpc;
|
2018-05-12 10:53:25 -06:00
|
|
|
pub mod rpu;
|
2018-07-03 22:14:08 -06:00
|
|
|
pub mod service;
|
2018-03-26 22:03:26 -06:00
|
|
|
pub mod signature;
|
2018-05-25 16:52:17 -06:00
|
|
|
pub mod sigverify;
|
|
|
|
pub mod sigverify_stage;
|
2018-09-21 15:32:15 -07:00
|
|
|
pub mod storage_program;
|
|
|
|
pub mod store_ledger_stage;
|
2018-03-26 22:03:26 -06:00
|
|
|
pub mod streamer;
|
2018-09-19 17:25:57 -07:00
|
|
|
pub mod system_program;
|
2018-09-26 10:07:53 -06:00
|
|
|
pub mod system_transaction;
|
2018-05-08 17:32:50 -06:00
|
|
|
pub mod thin_client;
|
2018-09-24 13:53:02 -07:00
|
|
|
pub mod tictactoe_program;
|
2018-05-07 16:49:15 -07:00
|
|
|
pub mod timing;
|
2018-05-14 17:36:19 -06:00
|
|
|
pub mod tpu;
|
2018-05-08 18:59:01 -06:00
|
|
|
pub mod transaction;
|
2018-05-12 00:31:32 -06:00
|
|
|
pub mod tvu;
|
2018-07-19 21:27:35 -07:00
|
|
|
pub mod vote_stage;
|
2018-07-31 22:07:53 -07:00
|
|
|
pub mod wallet;
|
2018-08-09 13:31:34 -06:00
|
|
|
pub mod window;
|
2018-09-07 16:00:26 -06:00
|
|
|
pub mod window_service;
|
2018-05-14 16:27:40 -06:00
|
|
|
pub mod write_stage;
|
2018-02-26 16:42:31 -07:00
|
|
|
extern crate bincode;
|
2018-07-31 11:26:26 -06:00
|
|
|
extern crate bs58;
|
2018-04-02 19:32:58 -07:00
|
|
|
extern crate byteorder;
|
2018-09-14 02:58:59 -06:00
|
|
|
extern crate bytes;
|
2018-03-07 21:55:49 -07:00
|
|
|
extern crate chrono;
|
2018-09-14 02:58:39 -06:00
|
|
|
extern crate clap;
|
|
|
|
extern crate dirs;
|
2018-02-20 16:26:11 -07:00
|
|
|
extern crate generic_array;
|
2018-09-19 18:33:40 -07:00
|
|
|
extern crate ipnetwork;
|
2018-06-29 12:58:29 -06:00
|
|
|
extern crate itertools;
|
2018-08-13 13:59:04 -06:00
|
|
|
extern crate jsonrpc_core;
|
2018-08-10 17:05:23 -06:00
|
|
|
#[macro_use]
|
|
|
|
extern crate jsonrpc_macros;
|
|
|
|
extern crate jsonrpc_http_server;
|
2018-09-13 14:41:28 -07:00
|
|
|
extern crate libc;
|
2018-09-23 22:13:44 -07:00
|
|
|
extern crate libloading;
|
2018-03-07 13:47:13 -08:00
|
|
|
#[macro_use]
|
2018-03-19 10:18:48 -06:00
|
|
|
extern crate log;
|
2018-09-06 14:13:40 -07:00
|
|
|
extern crate nix;
|
2018-09-14 16:31:54 -06:00
|
|
|
extern crate pnet_datalink;
|
2018-02-14 14:19:30 -07:00
|
|
|
extern crate rayon;
|
2018-09-09 04:50:43 +09:00
|
|
|
extern crate reqwest;
|
2018-02-24 06:53:36 -07:00
|
|
|
extern crate ring;
|
2018-02-20 16:26:11 -07:00
|
|
|
extern crate serde;
|
|
|
|
#[macro_use]
|
|
|
|
extern crate serde_derive;
|
2018-09-21 15:27:03 -06:00
|
|
|
#[macro_use]
|
2018-03-05 15:34:15 -07:00
|
|
|
extern crate serde_json;
|
2018-09-24 13:53:02 -07:00
|
|
|
extern crate serde_cbor;
|
2018-02-19 16:17:13 -07:00
|
|
|
extern crate sha2;
|
2018-09-06 14:13:40 -07:00
|
|
|
extern crate socket2;
|
2018-08-10 15:59:41 -07:00
|
|
|
extern crate sys_info;
|
2018-09-14 02:58:59 -06:00
|
|
|
extern crate tokio;
|
|
|
|
extern crate tokio_codec;
|
2018-02-24 06:53:36 -07:00
|
|
|
extern crate untrusted;
|
2018-03-07 13:47:13 -08:00
|
|
|
|
|
|
|
#[cfg(test)]
|
|
|
|
#[macro_use]
|
|
|
|
extern crate matches;
|
2018-05-07 16:49:15 -07:00
|
|
|
|
2018-07-05 21:40:09 -07:00
|
|
|
extern crate influx_db_client;
|
2018-05-07 16:49:15 -07:00
|
|
|
extern crate rand;
|