The topics in this section provide a more detailed exploration of the code used to construct the runtime logic, including the libraries and tools available for building and interacting with the node and a closer look at how the logic is compiled to build a Substrate node.
- Smart contracts summarizes how you can use build smart contracts as an approach to application development in a Substrate-based chain.
- Custom pallets exposes the macros and attributes that form the foundation for building custom pallets.
- Runtime storage offers a closer look at storage structure and how to navigate to data stored in the runtime.
- Transactions, weights, and fees explains the role of weights and fees in executing transactions and the mechanics of how fees are calculated and refunded.
- Pallet coupling describes how pallets can be tightly or loosely coupled in a runtime.
- Events and errors explains how to emit events and errors from the runtime.
- Randomness suggests ways you can include randomness in applications that run on a Substrate-based blockchain.
- Privileged calls and origins describes how you can use predefined or custom origins to identify the originator of a function call.
- Remote procedure calls summarizes how you can use remote procedure calls and RPC methods to interact with a Substrate node.
- Application development introduces the role of metadata and front-end libraries as tools for building applications that run on the blockchain.
- Chain specification discusses the use of chain specifications, including what you can and can't modify, and how to distribute customized chain specifications.
- Genesis configuration describes the main elements of the genesis configuration.
- Build process delves into the details of how the Rust code compiles to a Rust binary and a WebAssembly target and how these two targets are used to optimize node operations.
- Build a deterministic runtimes xplains how to use the Substrate runtime toolbox (
srtool) and Docker to build the WebAssembly runtime for Substrate-based chains.
- Troubleshoot your code highlights general and Substrate-specific coding techniques for troubleshooting issues and following best practices.