Substrate is a Software Development Kit (SDK) that uses Rust-based libraries and tools to enable you to build application-specific blockchains from modular and extensible components. The topics in this section explain many of the core principles and unique features of the Substrate development environment.
These topics are intended to help you learn what's possible when you build a Substrate-based blockchain and how Substrate can help you build a blockchain that best serves your specific project requirements or business model.
- Welcome to Substrate highlights the key benefits of developing with Substrate that most blockchain and smart contract platforms can't provide.
- Blockchain basics provides context about the complexity associated with blockchain development and introduces common blockchain concepts, components, and terminology.
- Architecture and Rust libraries describes the Substrate architecture and the relationship between the architecture and the core Rust libraries.
- Networks and nodes defines the different types of network topologies that can be built with Substrate and the different roles that nodes can fill.
- What can you build introduces the advantages and limitations of different development options and why you might select one approach over another.
- Runtime development highlights the importance of the Substrate runtime and introduces the core application interfaces and primitives required for Substrate runtime development.
- Transactions and block basics introduces transaction types and the components that make up a block.
- Transaction lifecycle explains how transactions are received, queued, and executed to be included in a block.
- State transitions and storage describes how the state changes processed in the runtime are stored and managed using trie data structures and a key-value database.
- Accounts, addresses, and keys explains the relationship between accounts, addresses, and keys and how they are used.
- Rust for Substrate highlights the specific Rust features—including traits, generics, associated types, and macros—that you should be most familiar with to build a Substrate-based blockchain.
- Offchain operations explores reasons for handling some operations offchain and alternatives for performing those offchain operations.
- Light clients in Substrate Connect describes how to use Substrate Connect to integrate a light client into your applications and enable interaction with any Substrate-based chain.
- Cryptography provides an overview of the hashing algorithms and signature schemes used for cryptography in Substrate.
- Consensus describes the most common consensus models and the types of consensus you can implement for a Substrate blockchain.
- Cross-consensus messaging provides an overview of cross-consensus communication and the cross-consensus messaging (XCM) format.
After you digest the information in these introductory sections, you'll be ready to start designing, building, and testing your own custom blockchain solution.