133 lines
3.2 KiB
Rust
133 lines
3.2 KiB
Rust
//! The `solana` library implements the Solana high-performance blockchain architecture.
|
|
//! It includes a full Rust implementation of the architecture (see
|
|
//! [Fullnode](server/struct.Fullnode.html)) as well as hooks to GPU implementations of its most
|
|
//! 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.
|
|
//!
|
|
|
|
#![cfg_attr(feature = "unstable", feature(test))]
|
|
#[macro_use]
|
|
pub mod counter;
|
|
pub mod bank;
|
|
pub mod banking_stage;
|
|
pub mod blob_fetch_stage;
|
|
pub mod bloom;
|
|
pub mod broadcast_stage;
|
|
#[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;
|
|
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;
|
|
#[cfg(feature = "erasure")]
|
|
pub mod erasure;
|
|
pub mod fetch_stage;
|
|
pub mod fullnode;
|
|
pub mod leader_scheduler;
|
|
pub mod ledger;
|
|
pub mod ledger_write_stage;
|
|
pub mod logger;
|
|
pub mod mint;
|
|
pub mod native_loader;
|
|
pub mod ncp;
|
|
pub mod netutil;
|
|
pub mod packet;
|
|
pub mod poh;
|
|
pub mod poh_recorder;
|
|
pub mod poh_service;
|
|
pub mod recvmmsg;
|
|
pub mod replicate_stage;
|
|
pub mod replicator;
|
|
pub mod result;
|
|
pub mod retransmit_stage;
|
|
pub mod rpc;
|
|
pub mod rpc_pubsub;
|
|
pub mod rpc_request;
|
|
pub mod runtime;
|
|
pub mod service;
|
|
pub mod signature;
|
|
pub mod sigverify;
|
|
pub mod sigverify_stage;
|
|
pub mod storage_stage;
|
|
pub mod store_ledger_stage;
|
|
pub mod streamer;
|
|
pub mod test_tx;
|
|
pub mod thin_client;
|
|
pub mod tpu;
|
|
pub mod tpu_forwarder;
|
|
pub mod tvu;
|
|
pub mod vote_stage;
|
|
pub mod wallet;
|
|
pub mod window;
|
|
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;
|
|
extern crate elf;
|
|
extern crate generic_array;
|
|
#[cfg(test)]
|
|
#[cfg(any(feature = "chacha", feature = "cuda"))]
|
|
#[macro_use]
|
|
extern crate hex_literal;
|
|
extern crate indexmap;
|
|
extern crate ipnetwork;
|
|
extern crate itertools;
|
|
extern crate libc;
|
|
extern crate libloading;
|
|
#[macro_use]
|
|
extern crate log;
|
|
extern crate nix;
|
|
extern crate pnet_datalink;
|
|
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;
|
|
extern crate serde_cbor;
|
|
extern crate sha2;
|
|
extern crate socket2;
|
|
extern crate solana_drone;
|
|
extern crate solana_jsonrpc_core as jsonrpc_core;
|
|
extern crate solana_jsonrpc_http_server as jsonrpc_http_server;
|
|
extern crate solana_system_program;
|
|
#[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;
|
|
extern crate solana_metrics;
|
|
extern crate solana_sdk;
|
|
extern crate sys_info;
|
|
extern crate tokio;
|
|
extern crate tokio_codec;
|
|
extern crate untrusted;
|
|
|
|
#[cfg(test)]
|
|
#[macro_use]
|
|
extern crate matches;
|
|
|
|
extern crate rand;
|