Expand description
The Solana host and client SDK.
This is the base library for all off-chain programs that interact with
Solana or otherwise operate on Solana data structures. On-chain programs
instead use the solana-program crate, the modules of which are
re-exported by this crate, like the relationship between the Rust
core and std crates. As much of the functionality of this crate is
provided by solana-program, see that crate’s documentation for an
overview.
Many of the modules in this crate are primarily of use to the Solana runtime
itself. Additional crates provide capabilities built on solana-sdk, and
many programs will need to link to those crates as well, particularly for
clients communicating with Solana nodes over RPC.
Such crates include:
- solana-client- For interacting with a Solana node via the JSON-RPC API.
- solana-cli-config- Loading and saving the Solana CLI configuration file.
- solana-clap-utils- Routines for setting up the CLI using- clap, as used by the Solana CLI. Includes functions for loading all types of signers supported by the CLI.
Re-exports§
- pub extern crate bs58;
- pub use solana_message as message;
- pub use solana_program::account_info;
- pub use solana_program::big_mod_exp;
- pub use solana_program::blake3;
- pub use solana_program::clock;
- pub use solana_program::epoch_rewards;
- pub use solana_program::fee_calculator;
- pub use solana_program::keccak;
- pub use solana_program::native_token;
- pub use solana_program::program_option;
- pub use solana_program::program_pack;
- pub use solana_program::rent;
- pub use solana_program::serialize_utils;
- pub use solana_program::stable_layout;
- pub use solana_shred_version as shred_version;- full
- pub use solana_account as account;
- pub use solana_epoch_info as epoch_info;
- pub use solana_epoch_rewards_hasher as epoch_rewards_hasher;
- pub use solana_fee_structure as fee;
- pub use solana_inflation as inflation;
- pub use solana_offchain_message as offchain_message;- full
- pub use solana_program_memory as program_memory;
- pub use solana_sanitize as sanitize;
- pub use solana_serde as deserialize_utils;
- pub use solana_serde_varint as serde_varint;
- pub use solana_short_vec as short_vec;
- pub use solana_time_utils as timing;
Modules§
- account_utils 
- Useful extras for Accountstate.
- borsh1borsh
- Utilities for the borsh serialization format, version 1.
- bpf_loader 
- The latest BPF loader native program.
- bpf_loader_ deprecated 
- The original and now deprecated Solana BPF loader.
- config
- The config native program.
- debug_account_ data 
- Debug-formatting of account data.
- ed25519_program 
- The ed25519 native program.
- entrypoint
- The Rust-based BPF program entrypoint supported by the latest BPF loader.
- entrypoint_deprecated 
- The Rust-based BPF program entrypoint supported by the original BPF loader.
- epoch_schedule 
- hash
- Hashing with the SHA-256 hash function, and a general Hashtype.
- incinerator
- inner_instruction 
- instruction
- lamports
- Re-exports the LamportsErrortype for backwards compatibility.
- log
- native_loader 
- The native loader native program.
- program
- Wrappers around solana-cpiwith support for overwriting syscall stubs
- program_error 
- program_stubs Non- target_os="solana"
- Implementations of syscalls used when solana-programis built for non-SBF targets.
- pubkey
- secp256k1_program 
- The secp256k1 native program.
- signaturefull
- Functionality for public and private keys.
- signerfull
- signersfull
- simple_vote_ transaction_ checker full
- slot_hashes 
- slot_history 
- syscalls
- Declarations of Solana program syscalls.
- sysvar
- transactionfull
- transportfull
- Defines the TransportErrortype.
Macros§
- custom_heap_ default 
- Define the default global allocator.
- custom_panic_ default 
- Define the default global panic handler.
- declare_deprecated_ id 
- Same as declare_idexcept report that this id has been deprecated.
- declare_deprecated_ sysvar_ id 
- Same as declare_sysvar_idexcept that it reports that this ID has been deprecated.
- declare_id 
- Convenience macro to declare a static public key and functions to interact with it.
- declare_sysvar_ id 
- Declares an ID that implements SysvarId.
- impl_sysvar_ get 
- Implements the Sysvar::getmethod for both SBF and host targets.
- msg
- Print a message to the log.
- pubkey
- Convenience macro to define a static public key.
- pubkeys
- Convenience macro to define multiple static public keys.
- unchecked_div_ by_ const 
- Convenience macro for doing integer division where the operation’s safety can be checked at compile-time.