Awesome
Substrate in Bits
Substrate in Bits is a technical content series/reference aimed at solving the pain points of developers building with Substrate and Rust. The content is designed to go in-depth on some of the common issues faced by developers and provide practical solutions to those issues. This repository contains the code samples, tutorials, and other resources associated with the series.
Content
Getting started
To get started with Substrate in Bits, you can browse the available content on the doc folder or the table below. Substrate in Bits content will also be available on Polkadot.study. You can clone the repository to your local machine and run the examples to get a better understanding of the concepts discussed in the series.
Code samples
Each Substrate in Bits content comes with its own repository containing all the code and programs used in that content. These code samples are designed to help you understand the concepts discussed in the content and try them out for yourself.
Using the code samples
To use the code samples, follow these steps:
- Clone the repository for the specific guide/tutorial.
- Navigate to the repository's directory:
cd [name of repo]
- Follow the instructions in the guide or the
README.md
file of the code sample repository to build and run the example program.
By following these steps, you can test out the code samples for each Substrate in Bits content and gain a better understanding of the concepts discussed in the series.
Table of technical content
S/N | Content Name | Category | Link |
---|---|---|---|
1 | Accessing storage and functions across pallets | Pallet integration | Visit |
2 | Using generic types in custom data | Custom data | Visit |
3 | DispatchResult vs DispatchResultWithPostInfo | Dispatchables | Visit |
4 | Blake2 vs TwoX | Hashing | Visit |
5 | Let’s distill the construct_runtime macro | Macros | Visit |
6 | Running unit tests on substrate pallet | Unit test | Visit |
7 | Substrate Pallets Configuration: An Error-based Approach | Pallet integration | Visit |
8 | Working with Assets on Substrate | Fungible Tokens | Visit |
9 | Let’s distill the #[pallet::storage] macro | Macros | Visit |
10 | Benchmarking substrate pallet | Benchmarking | Visit |
11 | Build a substrate node from scratch (sub-series) part 1 | Nodes | Visit |
12 | Working with substrate pallet hooks | Hooks | Visit |
13 | Deconstructing pallet genesis config | Configuration | Visit |
14 | Understanding substrate pallet instance | Pallet Instance | Visit |
15 | Dealing with runtime constants | Runtime | Visit |
16 | Writing efficient storage items | Storage Items | Visit |
17 | Breaking down substrate runtime | Runtime | Visit |
18 | From transaction to block - part 1 | Transaction Execution | Visit |
19 | From transaction to block - part 2 | Block Propagation | Visit |
20 | Deep dive into Substrate consensus - part 1 | Consensus (Block Authoring) | Visit |
21 | Common Iterator Consumers and Adapters used in Substrate | Idioms | Visit |
22 | Deep dive into Substrate consensus - part 2 | Consensus (Block Finality) | Visit |
23 | Associated types vs Generic type parameters in Rust and Substrate | Idioms | Visit |
24 | Deep dive into Substrate storage - part 1 | Tries | Visit |
25 | Deep dive into Substrate storage - part 2 | KVDB | Visit |
26 | Understanding runtime aggregation in substrate | Runtime | Visit |
27 | Networking in Substrate - part 1 | Network | Visit |
28 | Networking in Substrate - part 1 | Network | Visit |
29 | Understanding Node Configurations | Node | Visit |
30 | Testing a Substrate Node | Testing | Visit |
31 | Understanding Offchain Workers | Offchain workers | Visit |
Contributing
We welcome contributions to Substrate in Bits! If you would like to contribute, please read our contributing guidelines (WIP) for more information.
Code of Conduct
We expect all contributors to abide by our code of conduct (WIP). Please read it carefully before contributing to the Substrate in Bits repository.
Links
Have ideas to help improve SiB content? drop them here
You can ask questions regarding siB content here
Track our progress here
Track our content release here