本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是go语言工程师快速入门区块链开发的最佳选择。
http://xc.hubwiz.com/course/5bdec63ac02e6b6a59171df3
- 一、概述
- 1.1 tendermint简介
- 1.2 tendermint的共识算法
- 1.3 tendermint vs. 以太坊
- 1.4 课程内容概述
- 二、初识tendermint
- 2.1 概述
- 2.2 节点初始化
- 2.3 节点启动与停止
- 2.4 编写最小化应用
- 2.5 RPC开发接口
- 三、状态机与ABCI
- 3.1 状态机
- 3.2 状态机复制
- 3.3ABCI接口概述
- 3.4 交易检查:CheckTx
- 3.5 交易执行:DeliverTx
- 3.6 状态初始化:InitChain
- 3.7 应用状态查询:Query
- 3.8 应用状态的历史
- 3.9 应用/区块链握手机制
- 3.10 应用状态的哈希值
- 3.11 应用状态持久化
- 四、基于非对称加密的身份识别机制
- 4.1 身份识别机制概述
- 4.2 经典算法secp256k1
- 4.3 下一代算法ed25519
- 4.4 数据签名与认证
- 五、案例:发行自己的代币
- 5.1 代币发行概述
- 5.2 状态机实现
- 5.3 简单钱包实现
- 5.4 交易结构设计与实现
- 5.5 交易的编解码处理
- 5.6 ABCI协议实现
- 5.7 RPC客户端开发
- 六、代币案例:使用默克尔树
- 6.1 默克尔树概述
- 6.2 计算默克尔哈希
- 6.3 状态的默克尔证据
- 6.4 升级代币状态机
- 七、代币案例:使用多版本状态库
- 7.1 平衡二叉树简介
- 7.2 多版本状态库 = avl + merkle
- 7.3 使用多版本状态库
- 7.4 封装iavl操作
- 7.5 升级代币状态机
- 八、多节点组网
- 8.1 多节点组网概述
- 8.2 实现abci接口
- 8.3 命令行封装:cobra子命令
- 8.4 实现节点提供器
- 8.5 单节点实验
- 8.6 添加观察节点
- 8.7 添加验证节点
- 8.8 拜占庭容错实验