Developer Materials Guide
This guide will help introduce new developers to the essential topics and tools needed to get started.
Section 1: Introduction and Absolute Basics
These materials are for participants who are brand new, or need a refresher on the basics of what makes Nervos a unique and powerful alternative to the existing blockchain smart contract platforms.
Recommended Materials
We recommend all new developers review these materials to get a high-level conceptual understanding of how Nervos works.
More In-Depth Materials (Optional)
These materials cover similar topics to the recommended materials, but are much more in-depth. Reading these is optional.
Section 2: Developer Concepts
Learn the unique concepts and design patterns that developers will need to understand to create Dapps on Nervos.
Recommended Materials
These materials are recommended for all developers who want to develop Dapps or Smart Contracts on Nervos.
- Nervos Docs - Reference
- Video Lecture: Dapps with CKB Workshop - Lecture 1: Introduction (English)
- Video Lecture: Dapps with CKB Workshop - Lecture 1: Introduction (Chinese + English Subtitles)
- Nervos YouTube - Programming CKB Part 1
- Nervos YouTube - Programming CKB Part 2
- Nervos YouTube - Programming CKB Part 3
Available When You Need Them (Optional)
These materials are much more in-depth, but only relevant for specific topics. We recommend reviewing them only as needed.
- Nervos RFCs - VM Syscalls - Smart Contract related system calls.
- Nervos RFCs - Data Structures - Data structures for a Cell, Script, Transaction, and Block.
- Nervos RFCs - CKB Address Format - How Nervos addresses are encoded.
- Nervos RFCs - Transaction Structure - How a transaction is structured.
Section 3: Developer Tooling
Learn about the tools that are available for developing on Nervos.
Recommended Tooling
These are the recommended tools for developing on Nervos CKB.
- Capsule - A framework for developing on-chain smart contracts in Rust and C.
- Documentation
- CKB-STD Library Documentation
- Tutorial: Write an SUDT in Capsule
- Video Lecture: Dapps with CKB workshop - Lecture 2: On-chain Scripts with Capsule (English)
- Video Lecture: Dapps with CKB workshop - Lecture 2: On-chain Scripts with Capsule (Chinese + English Subtitles)
- Video Tutorial: Understanding the Token Sale Lock Script (English)
- Lumos - A framework for server side Dapp development.
- PW-Core - A framework for client side Dapp wallet support.
Available When You Need Them (Optional)
- Synapse Web Wallet - A Dapp wallet with support for multiple lock types.
Testnet Funds
When building on the Aggron Testnet, free testnet CKB can be obtained from this faucet.
Section 4: Sample Projects
View functioning example smart contract scripts and Dapps.
Example Scripts
These are smart contract scripts written in C and Rust. For most developers we recommend building scripts in Rust.
- Simple UDT Type Script (Rust + Capsule)
- Simple UDT Type Script (C)
- Token Sale Lock Script (Rust + Capsule)
- Anyone Can Pay Lock Script (C)
- Open Transaction Lock Script (C)
- Multi-Token Extensible NFT Type Script (Rust + Capsule)
Example Dapps
These are fully functioning Dapps which were built using our recommended tooling.
Section 5: Recommended Setup
Recommendations for setting up your development environment and which technologies to build your application with.
Recommended Development Setup
These are the minimum software recommendations for any developer building on Nervos CKB.
- OS: MacOS, Ubuntu Linux, or Windows 10 + WSL2 (Ubuntu)
- CKB Development Blockchain - For testing smart contracts and Dapps.
- Docker - For smart contract development using Capsule.
- NPM or Yarn - For Dapp development using Lumos and PW-SDK.
- Neuron Wallet or Portal Wallet - For managing Mainnet funds.
Recommended Development Stack
These are the recommended software stacks for any team building on Nervos CKB. These selections are based on current industry trends and the tooling available today.