Substrate onboarding
A word of introduction and some tips.
Introduction
Substrate is a framework, on top of which we develop our blockchain. It provides a highly configurable environment and comes with a wide range of advanced functionalities. Behind its generic API there hides an impressive, but very complex codebase.
For us - Aleph developers - it is essential to be familiar with the high-level architecture of a Substrate-based system. What is more, on a daily basis we work directly with Substrate code, implement extensions to the provided software and programmatically interact with a running chain. Therefore, we treat getting acquainted with Substrate as the second crucial step in the onboarding process.
There are already a lot of Substrate tutorials and introductory materials, available both as coding exercises, live presentations, videos, or slides. However, we will provide you with yet another learning path. There are two main reasons for that. Firstly, even with so much stuff out there, it is completely not obvious where you should start: there is no clear entry point for newcomers. Secondly, the tasks that we created are well suited to our common needs, and thus, they should better prepare you for the forthcoming challenges.
Nevertheless, as with most tutorials, we don't expect that 'one size fits all'. We did our best, but it is possible, that you will not need or enjoy all the tasks. The best thing to do then, is to discuss with your buddy the approach that will be the most appropriate for you. You may pick only a subset of the exercises, modify their goals or come up with alternative ones, once you get some feeling. The main goal of this part of onboarding is to familiarize yourself with the basics of Substrate and get your hands dirty with all that stuff.
Prerequisites
You should be quite comfortable with Rust programming language - mainly for reading the existing code, but also for implementing short pieces of new functionalities.
Content overview
Firstly, we gather some materials about Substrate, including official tutorials and repositories. You should find some of them helpful in completing exercises. Other materials may serve as supplementary to the exercises.
The main content of this tutorial is a suite of more than a dozen exercises. Most of them are rather single-goal, focusing on a particular aspect of Substrate. There are some dependencies between them, so the recommended order is to follow them one by one. Part of them will leave you some freedom for deciding about details, so that you can experiment on your own and explore some possibilities.
At the end, you will find two old exercises that originally formed our internal Substrate onboarding suite. They are much more complex than any of the new task, and each of them is quite a challenge. If you prefer this way of learning a new framework - they are waiting.
Last updated
Was this helpful?