Introductory Tutorial for Blockchain Developers I: How to Study Substrate

OneBlock+
OneBlock Community
Published in
6 min readMar 9, 2022

--

In this article, you will learn:

●Why Substrate?

● What are the key points in order to grasp Substrate;

● Substrate study materials and recommended applications;

● Sharing of some learning methods, etc.

Why Substrate

Substrate is a blockchain development framework developed by Parity, which provides the underlying public components required for blockchain development, allowing every developer to quickly develop a blockchain application. If you are interested in blockchain technology and want to bring blockchain technology to the rest of the world, but have no relevant technical experience, then Substrate is perfect for you.

Key Points

Blockchain knowledge

If you are still not clear about what blockchain technology can do, I suggest you think about the following questions (you can search on Google if you are not clear), then discuss with friends and colleagues, and share the discussion with the blockchain communities.

●What’s wrong with our world currently?

● What are the core concepts/technical perspectives of blockchain?

● Can blockchain improve or solve the problems mentioned above?

With a preliminary understanding of the blockchain, we can start the Substrate learning journey.

Developer Skills

If you are or thinking to become a technical developer, you must be proficient in using tools commonly used by developers, including:

● Command-line tool

● Code editor or Integrated Development Environment (IDE), such as vscode, intellij idea, clion, etc.

● Google search

● Git/Github common operations, etc.

Study methods

Learning Rust

Both Substrate itself and the development of Substrate-based applications use Rust language, therefore a certain level of Rust programming knowledge is required. I suggest the following learning methods:

● Browse Rust’s official website https://www.rust-lang.org/, familiarize yourself with the various materials in it, and the number of times is unlimited (You should read it no less than 3 times~).

● Read and practice the content of Rust’s official materials, https://doc.rust-lang.org/book/ set a fixed time to complete it (such as a month), and make full use of the fragmented time. The first 10 chapters are the most important.

● If you have spare time to learn, you can try to write 1~2 small Rust projects that you are interested in.

It’s not that you have to master Rust to a high level before learning Substrate, but in the process of learning Substrate, you should gradually read the above-mentioned books and various practice codes provided by the website.

Some other tools

● Rust online practice environment https://play.rust-lang.org/, you can quickly practice code snippets;

● If you are familiar with command-line interactive execution, you can also use https://github.com/google/evcxr . Substrate materials and applications Quick links: https://subdev.cn/

Important content is on the substrate.dev site, for example:

● Detailed official guidance documents https://substrate.dev/docs/en/, such as installation methods, common concepts and development guidance. First, familiarize yourself with the entire content structure, and know where to retrieve things when needed. As soon as you have time, read the content of each section from the beginning to the end. If you don’t understand, you can search Google or make a note before you skip, and then ask afterward.

● For different tutorials, https://substrate.dev/en/tutorials , the suggested sequence of exercises is: Create Your First Substrate Chain -> Build a PoE decentralized application, followed by other tutorials.

● For the code snippets and explanations of key points https://substrate.dev/recipes/, It’s also better for you to be familiar with the content structure first and then come back to look for it when you use it.

● JS sdk official document polkadot-js/api, when you need to write front-end UI interface, you need to study this document in depth.

Chinese technical materials are mainly technical articles and videos. These contents are usually for a certain concept or tutorial. You can read more in your spare time:

● Parity Chinese blog post: parity.link/zhihu

● Parity Chinese video: parity.link/bilibili

The channels for interacting with Substrate core developers and numerous community technology enthusiasts are:

● Official technical support Riot group, Substrate Technical (Public)

● Weekly technical seminars https://substrate.dev/en/seminar

● Chinese Substrate Technology Exchange Riot Group, China Substrate DEV

In these chat groups, everyone can ask questions, participate in discussions, and usually can get the answers and feedback quickly. Others are more important, but relatively in-depth materials, for example, StackOverflow’s Q&A on Substrate, Substrate’s Rust implementation documentation, and source code, which can be searched when needed.

Learning Methods

Blockchain Backend (Runtime) Development

The back-end development here refers to the development of the blockchain node code, which is also called runtime development in Substrate.

The suggested learning methods are:

● First, try these two tutorials Create Your First Substrate Chain -> Build a PoE Decentralized Application, you can also learn the encrypted cat tutorial (version may not be updated timely);

● While taking the tutorial, be familiar with various materials on substrate.dev, and through the materials provided above, understand the common concepts of Substrate such as runtime, macros, etc.;

● For problems encountered, try to search for the existing information. If you can’t find it, get help in the corresponding discussion channel, and you can also observe and participate in other discussions;

● After completing the tutorial, you can write your own interesting blockchain functions based on your own interests and work needs;

● If you want to deploy the developed blockchain application, you can refer to the blog Substrate Deployment Public Test Network.

The above learning methods are not rigid, you can adjust them according to your own habit and find the method that best suits you.

Front-end development

For a blockchain application to be accepted by users, it must have a good front-end experience for users. Front-end developers can try these:

● Try the front-end part of the Build a PoE Decentralized Application tutorial;

● Understand the front-end ecology of Substrate and the official Polkadot-JS documentation, practice the code in the documentation, and be proficient in the front-end development mode and common APIs;

● Write custom UI according to your own blockchain runtime logic.

Summary

This article briefly introduces some concepts and materials of Substrate, as well as the recommended learning methods. Making good use of these materials can help everyone with their learning experience. Through continuous practice and reading, pick the methods that suit you. I hope you will develop your own blockchain applications as soon as possible.

Course preview

Jointly produced by OneBlock and Parity, the next cycle of “Introduction to Substrate Blockchain Development” is open for registration! Everything’s fully updated to 4.0.0-dev. You will master Substrate, the latest blockchain technology in one month, and develop a unique blockchain application!

The class will start on March 18th, 2022. To sign up click this link.

About OneBlock+

OneBlock+ is the first and the largest blockchain developer community in China. At OneBlock+, we provide full support for developers with their substrate studies and further set off their career paths. We host Polkadot Hackathons every season to attract top-notch developers to build and innovate for the prosperity of the ecosystem. As a greater China technology resource integrator, OneBlock+ also partners with developers, communities, business elites, and key media who have business insights and experiences in the blockchain industry to provide educational events, such as technical courses, webinars, AMAs, and offline events for the industry. Want to shape the crypto world together? Come and join us today!

Twitter / Telegram / Discord / YouTube

--

--

OneBlock+
OneBlock Community

Cultivate substrate developer community and redefine the future of open web ecosystem together.