Professional Documents
Culture Documents
第三课
第三课
Junius Zhou 周俊
junius@parity.io
获取帮助 : https://substrate.dev
课程内容
● Substrate 链上升级和数据迁移
● Pallet 功能复用
● Pallet Kitties 测试代码开发
● UI 前端开发
● sudo 和 membership 介绍
● 作业讲解
3.1 链上升级和数据迁移
2. 升级的过程
升级 spec 版本号
编译新的 WASM,WASM_TARGET_DIRECTORY=$(pwd)
通过 Sudo 或者链上治理来更新 WASM
3.1 数据迁移
1.substrate 链上数据存储
所有的数据都是放在一个 Key,Value 的数据库中
原始数据的 Key : Twox128(module_prefix) ++ Twox128(storage_prefix)
Map 类型数据的 Key : Twox128(module_prefix) ++ Twox128(storage_prefix) ++ hasher(encode(key)
2. 什么情况数据迁移
模块名字改变,变量名字改变, Key 改变, hash 算法改变,值类型改变
3.2 Pallet 功能复用
应用基本的软件设计的最佳实践
1. 模块之间做到尽量的解除耦合
2. 面向接口的编程
3. 模块可以很好的被复用
4. pallet 应该是可以任意组合的
课后作业
2. 基于 Poldadot js 的 UI 开发,通过前端可以和链完成交互
https://github.com/SubstrateCourse/advance-5
Questions?
官网文档: substrate.dev
知乎专栏: parity.link/zhihu