Rust API
The Rust documentation is the single source of truth for the Substrate code base. However, if you aren't sure what you are looking for—for example, a specific crate, trait, or data structure—it can be tricky to navigate or to know the best place to start.
As discussed in Architecture and Rust libraries, Substrate libraries use a naming convention to indicate whether a library is part of the Substrate core client (sc_*
), FRAME and the runtime (frame_*
and pallet_*
), or a Substrate primitive (sp_*
).
If you don't have a specific crate in mind, use the following links as entry points to explore the core Rust libraries.
Substrate core client libraries
Use the following links to explore Substrate libraries that are part of the Substrate core client (sc_*
).
sc_authority_discovery
sc_block_builder
sc_chain_spec
sc_cli
sc_client_api
sc_client_db
sc_consensus
sc_network
sc_rpc
sc_service
sc_state_db
sc_transaction_pool
FRAME libraries
Use the following links to explore the core FRAME libraries that are used in the Substrate runtime (frame_*
and pallet_*
.
frame_benchmarking
frame_executive
frame_remote_externalities
frame_support
frame_system
pallet_assets
pallet_balances
pallet_collective
pallet_identity
pallet_membership
pallet_proxy
Substrate primitive libraries
Use the following links to explore Substrate primitive libraries (sp_*
).
Other libraries
Use the following links to explore other libraries.