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-12-17 12:41:23 -08:00
|
|
|
pub mod accounts;
|
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-11-15 13:23:26 -08:00
|
|
|
pub mod bloom;
|
2018-12-06 13:52:47 -07:00
|
|
|
pub mod broadcast_service;
|
2018-09-27 10:48:40 -07:00
|
|
|
#[cfg(feature = "chacha")]
|
|
|
|
pub mod chacha;
|
2018-10-24 16:49:21 -07:00
|
|
|
#[cfg(all(feature = "chacha", feature = "cuda"))]
|
2018-10-08 13:12:33 -07:00
|
|
|
pub mod chacha_cuda;
|
2018-12-17 07:55:56 -08:00
|
|
|
pub mod checkpoint;
|
2018-07-31 22:07:53 -07:00
|
|
|
pub mod client;
|
2018-11-15 13:23:26 -08:00
|
|
|
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_value;
|
2018-09-06 14:13:40 -07:00
|
|
|
#[macro_use]
|
2018-11-15 13:23:26 -08:00
|
|
|
pub mod contact_info;
|
|
|
|
pub mod cluster_info;
|
2018-12-20 15:47:48 -08:00
|
|
|
pub mod compute_leader_confirmation_service;
|
2018-11-15 15:53:31 -08:00
|
|
|
pub mod db_ledger;
|
2018-11-19 23:20:18 -08:00
|
|
|
pub mod db_window;
|
2018-03-06 17:31:17 -07:00
|
|
|
pub mod entry;
|
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;
|
2019-01-25 22:58:35 -07:00
|
|
|
pub mod gen_keys;
|
2019-01-24 12:04:04 -08:00
|
|
|
pub mod genesis_block;
|
2018-12-06 13:52:47 -07:00
|
|
|
pub mod gossip_service;
|
2018-09-24 21:31:20 -07:00
|
|
|
pub mod leader_scheduler;
|
2019-01-10 09:21:38 -08:00
|
|
|
pub mod local_vote_signer_service;
|
2018-03-26 21:07:11 -07:00
|
|
|
pub mod packet;
|
2018-09-20 15:02:24 -07:00
|
|
|
pub mod poh;
|
2018-09-26 05:52:13 -07:00
|
|
|
pub mod poh_recorder;
|
2018-10-25 14:56:21 -07:00
|
|
|
pub mod poh_service;
|
2018-09-13 14:41:28 -07:00
|
|
|
pub mod recvmmsg;
|
2018-12-07 15:09:29 -07:00
|
|
|
pub mod replay_stage;
|
2018-09-21 15:32:15 -07:00
|
|
|
pub mod replicator;
|
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;
|
2019-01-14 00:10:03 -07:00
|
|
|
pub mod rpc_mock;
|
2018-10-12 08:17:28 -07:00
|
|
|
pub mod rpc_pubsub;
|
2018-10-08 12:10:47 -06:00
|
|
|
pub mod rpc_request;
|
2018-11-23 20:42:01 -07:00
|
|
|
pub mod runtime;
|
2018-07-03 22:14:08 -06:00
|
|
|
pub mod service;
|
2018-05-25 16:52:17 -06:00
|
|
|
pub mod sigverify;
|
|
|
|
pub mod sigverify_stage;
|
2018-12-17 07:55:56 -08:00
|
|
|
pub mod status_deque;
|
2018-10-08 13:12:33 -07:00
|
|
|
pub mod storage_stage;
|
2018-03-26 22:03:26 -06:00
|
|
|
pub mod streamer;
|
2018-12-04 15:37:11 -08:00
|
|
|
pub mod test_tx;
|
2018-05-08 17:32:50 -06:00
|
|
|
pub mod thin_client;
|
2018-05-14 17:36:19 -06:00
|
|
|
pub mod tpu;
|
2018-11-16 16:42:29 -08:00
|
|
|
pub mod tpu_forwarder;
|
2018-05-12 00:31:32 -06:00
|
|
|
pub mod tvu;
|
2019-01-10 09:21:38 -08:00
|
|
|
pub mod vote_signer_proxy;
|
2019-01-15 10:51:53 -08:00
|
|
|
#[cfg(test)]
|
2018-08-09 13:31:34 -06:00
|
|
|
pub mod window;
|
2018-09-07 16:00:26 -06:00
|
|
|
pub mod window_service;
|
2018-12-08 22:44:20 -07:00
|
|
|
|
2018-10-19 10:39:13 -07:00
|
|
|
#[cfg(test)]
|
|
|
|
#[cfg(any(feature = "chacha", feature = "cuda"))]
|
|
|
|
#[macro_use]
|
|
|
|
extern crate hex_literal;
|
2018-12-08 22:44:20 -07:00
|
|
|
|
2018-03-07 13:47:13 -08:00
|
|
|
#[macro_use]
|
2018-03-19 10:18:48 -06:00
|
|
|
extern crate log;
|
2018-12-08 22:44:20 -07:00
|
|
|
|
2018-02-20 16:26:11 -07:00
|
|
|
#[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-12-08 22:44:20 -07:00
|
|
|
|
|
|
|
use solana_jsonrpc_core as jsonrpc_core;
|
|
|
|
use solana_jsonrpc_http_server as jsonrpc_http_server;
|
2018-09-27 12:00:18 -06:00
|
|
|
#[macro_use]
|
|
|
|
extern crate solana_jsonrpc_macros as jsonrpc_macros;
|
2018-12-08 22:44:20 -07:00
|
|
|
use solana_jsonrpc_pubsub as jsonrpc_pubsub;
|
|
|
|
use solana_jsonrpc_ws_server as jsonrpc_ws_server;
|
2019-01-08 15:53:44 -08:00
|
|
|
//use solana_vote_signer;
|
2018-03-07 13:47:13 -08:00
|
|
|
|
|
|
|
#[cfg(test)]
|
|
|
|
#[macro_use]
|
|
|
|
extern crate matches;
|