Rust SDK for Solana
Client Crates
| Crate | Description | Docs | GitHub |
|---|---|---|---|
| solana-sdk | Core SDK | View | Source |
| solana-client | Interact with Solana via RPC | View | Source |
| solana-commitment-config | Transaction commitment level configuration | View | Source |
The solana-sdk crate is composed of the following component crates, which can
be used independently:
| Crate | Description | Docs | GitHub |
|---|---|---|---|
| solana-account | Solana Account type | View | Source |
| solana-epoch-info | Information about a Solana epoch | View | Source |
| solana-epoch-rewards-hasher | Solana epoch rewards hasher | View | Source |
| solana-fee-structure | Solana fee structures | View | Source |
| solana-inflation | Configuration for Solana network inflation | View | Source |
| solana-message | Solana transaction message types | View | Source |
| solana-program | Solana Program | View | Source |
| solana-program-memory | Basic low-level memory operations for Solana | View | Source |
| solana-pubkey | Solana account addresses | View | Source |
| solana-sanitize | Solana Message Sanitization | View | Source |
| solana-sdk-ids | Solana SDK IDs | View | Source |
| solana-sdk-macro | Solana SDK Macro | View | Source |
| solana-serde | Solana serde helpers | View | Source |
| solana-serde-varint | Solana definitions for integers that serialize to variable size | View | Source |
| solana-short-vec | Solana compact serde-encoding of vectors with small length | View | Source |
| solana-time-utils | std::time utilities for Solana | View | Source |
| solana-keypair | Concrete implementation of a Solana Signer | View | Source |
| solana-offchain-message | Solana offchain message signing | View | Source |
| solana-presigner | A Solana Signer implementation representing an externally-constructed Signature | View | Source |
| solana-seed-derivable | Solana trait defining the interface by which keys are derived | View | Source |
| solana-seed-phrase | Solana functions for generating keypairs from seed phrases | View | Source |
| solana-shred-version | Calculation of shred versions | View | Source |
| solana-signature | Solana 64-byte signature type | View | Source |
| solana-signer | Abstractions for Solana transaction signers | View | Source |
| solana-transaction | Solana transaction-types | View | Source |
| solana-transaction-error | Solana TransactionError type | View | Source |
Program Crates
Use solana-program to build on-chain programs.
Pinocchio is a zero-dependency library to create Solana programs in Rust and can
be used as a replacement for solana-program to write on-chain programs.
Pinocchio is still in development and will likely have breaking changes in the near future.
Pinocchio includes program-specific crates for interacting with Solana programs:
| Crate | Description | Docs | GitHub |
|---|---|---|---|
| pinocchio-system | Interact with System program | View | Source |
| pinocchio-token | Interact with Token program | View | Source |
| pinocchio-token-2022 | Interact with Token-2022 program | View | Source |
| pinocchio-associated-token-account | Interact with Associated Token program | View | Source |
| pinocchio-memo | Interact with Memo program | View | Source |
Interface Crates
| Crate | Description | Docs | GitHub |
|---|---|---|---|
| solana-system-interface | Interact with System program | View | Source |
| spl-token-interface | Interact with Token program | View | Source |
| spl-token-2022-interface | Interact with Token-2022 program | View | Source |
| spl-associated-token-account-interface | Interact with Associated Token program | View | Source |
| solana-compute-budget-interface | Interact with Compute Budget program | View | Source |
| spl-memo-interface | Interact with Memo program | View | Source |
| spl-token-metadata-interface | Interact with Token Metadata extension | View | Source |
| spl-token-group-interface | Interact with Token Group extension | View | Source |
Is this page helpful?