This lesson plan is designed to teach developers, who are familiar with blockchain, how to build common application components on Nervos. We will walk through a series of examples and lab exercises designed to help you learn the essentials through practical hands-on experience.

These exercises are designed to be completed in sequential order. Each new exercise builds upon the previous, so it is recommended that you do not skip any sections.

Prerequisite Knowledge

These are the technologies used in this lesson series that a developer needs to be familiar with in order to have a complete understanding of all concepts and tooling. If you're unfamiliar with one of these technologies, it is recommended that you use the provided links to learn about the topic as needed so you can fully complete the course.

Blockchain Basics

You will need to have a basic understanding of Bitcoin, Ethereum, Smart Contracts, Tokens, and other similar concepts.


You will need to be comfortable with JavaScript in order to work with the code in the lab exercises. Knowledge of TypeScript is also helpful since it is recommended for development, but our examples will primarily use plain Javascript.


Rust is used to write on-chain smart contracts. You will need to be proficient in Rust to write your own smart contracts. We try to keep our lab exercises as simple as possible but you should check out one of the tutorials if you find you're having trouble understanding the lessons.

Linux Console

Most of our examples will be performed on a Linux console, so familiarity with a common Linux distribution is highly beneficial. Most of the commands should also work without modification on MacOS and in Windows WSL2.

Join Us on Discord!

We have created a chatroom for everyone who is taking the course. Join us on Discord in the #developer-training-course channel. Feel free to ask any questions you may have, or just tell us how well the course is working for you. Your feedback helps make the course better for everyone!