本书内容包括9章。第1章为基于Go语言编写基本区块链,第2章为比特币客户端与回归测试网络,第3章为区块链浏览器与区块链钱包,第4章为以太坊客户端与分布式网络,第5章为IPFS-P2P私有网络搭建,第6章为超级账本项目Fabric实验,第7章为Solidity与智能合约在线编程,第8章为简单DApp的开发实践,第9章为自主设计实验,包括区块链共识算法实现与区块链扩容方案实现。
伍前红,教授,北京航空航天大学副院长,中国电子学会区块链专家委员会委员,主持项目多项,曾获北京市高等教育教学成果奖二等奖,全国高校互联网应用创新大赛优秀指导教师奖等。曾翻译出版《终端安全》《现代密码学理论与实践》。
□□章 基于Go语言编写基本区块链1
1.1 Go语言环境的配置1
1.1.1 实验目的1
1.1.□ 实验环境1
1.1.3 实验步骤□
1.1.4 实验报告□
1.□ Go语言入门□
1.□.1 实验目的□
1.□.□ 原理简介3
1.□.3 实验环境6
1.□.4 实验步骤6
1.□.5 实验报告7
1.3 使用Go语言构建区块8
1.3.1 实验目的8
1.3.□ 原理简介8
1.3.3 实验环境8
1.3.4 实验步骤8
1.3.5 实验报告9
1.4 使用Go语言实现一条区块链9
1.4.1 实验目的9
1.4.□ 原理简介9
1.4.3 实验环境9
1.4.4 实验步骤10
1.4.5 实验报告10
1.5 添加工作量证明模块10
1.5.1 实验目的10
1.5.□ 原理简介10
1.5.3 实验环境1□
1.5.4 实验步骤1□
1.5.5 实验报告1□
1.6 阅读代码:添加数据库13
1.6.1 实验目的13
1.6.□ 原理简介13
1.6.3 实验环境15
1.6.4 实验步骤15
1.6.5 实验报告15
1.7 拓展实验:添加命令行接口16
1.8 本章实验报告模板16
第□章 比特币客户端与回归测试网络□□
□.1 Bitcoin Core的安装和配置□□
□.1.1 实验目的□□
□.1.□ 原理简介□□
□.1.3 实验环境□3
□.1.4 实验步骤□3
□.1.5 实验报告□7
□.□ 远程调用搭建回归测试网络□7
□.□.1 实验目的□7
□.□.□ 原理简介□7
□.□.3 实验环境□8
□.□.4 实验步骤□8
□.□.5 实验报告3□
□.3 拓展实验:利用回归测试网络模拟并测试复杂的区块链状态与功能3□
□.4 本章实验报告模板3□
第3章 区块链浏览器与区块链钱包37
3.1 区块链浏览器的基本操作37
3.1.1 实验目的37
3.1.□ 原理简介38
3.1.3 实验环境38
3.1.4 实验步骤38
3.1.5 实验报告44
3.□ 利用区块链浏览器学习区块链账本层构造44
3.□.1 实验目的44
3.□.□ 原理简介44
3.□.3 实验环境44
3.□.4 实验步骤44
3.□.5 实验报告48
3.3 利用区块链浏览器解析并学习以太坊合约层构造48
3.3.1 实验目的48
3.3.□ 实验环境48
3.3.3 实验步骤48
3.3.4 实验报告51
3.4 体验区块链钱包原理51
3.4.1 实验目的51
3.4.□ 原理简介51
3.4.3 实验环境5□
3.4.4 实验步骤5□
3.4.5 实验报告54
3.5 拓展实验:批量获取并分析区块链元数据54
3.6 本章实验报告模板55
第4章 以太坊客户端与分布式网络6□
4.1 搭建分布式节点网络6□
4.1.1 实验目的6□
4.1.□ 实验环境6□
4.1.3 实验步骤6□
4.1.4 实验报告70
4.□ 与控制台进行交互70
4.□.1 实验目的70
4.□.□ 实验环境70
4.□.3 实验步骤70
4.□.4 实验报告71
4.3 拓展实验:测试以太坊的吞吐率7□
4.4 本章实验报告模板7□
第5章 IPFS-P□P私有网络搭建75
5.1 IPFS安装和P□P网络搭建75
5.1.1 实验目的75
5.1.□ 原理简介75
5.1.3 实验环境76
5.1.4 实验步骤76
5.1.5 实验报告80
5.□ 拓展实验:多人文件传输测试80
5.3 本章实验报告模板80
第6章 超级账本项目Fabric实验84
6.1 Fabric环境的配置84
6.1.1 实验目的84
6.1.□ 原理简介84
6.1.3 实验环境85
6.1.4 实验步骤85
6.1.5 实验报告88
6.□ first-network的启动和Channel的配置88
6.□.1 实验目的88
6.□.□ 原理简介89
6.□.3 实验环境89
6.□.4 实验步骤89
6.□.5 实验报告91
6.3 链码的安装和实例化91
6.3.1 实验目的91
6.3.□ 原理简介9□
6.3.3 实验环境9□
6.3.4 实验步骤9□
6.3.5 实验报告93
6.4 拓展实验:使用CouchDB进行富查询93
6.5 本章实验报告模板93
第7章 Solidity与智能合约在线编程97
7.1 Solidity基础入门97
7.1.1 实验目的97
7.1.□ 原理简介97
7.1.3 实验环境101
7.1.4 实验步骤101
7.1.5 实验报告10□
7.□ Solidity进阶:宠物成长系统10□
7.□.1 实验目的10□
7.□.□ 原理简介103
7.□.3 实验环境105
7.□.4 实验步骤105
7.□.5 实验报告106
7.3 Solidity高阶理论107
7.3.1 实验目的107
7.3.□ 原理简介107
7.3.3 实验环境111
7.3.4 实验步骤111
7.3.5 实验报告11□
7.4 支付系统11□
7.4.1 实验目的11□
7.4.□ 原理简介11□
7.4.3 实验环境114
7.4.4 实验步骤114
7.4.5 实验报告114
7.5 “战斗”升级114
7.5.1 实验目的114
7.5.□ 原理简介114
7.5.3 实验环境115
7.5.4 实验步骤115
7.5.5 实验报告115
7.6 拓展实验115
7.6.1 ERC□0代币合约115
7.6.□ 拍卖合约116
7.7 本章实验报告模板116
第8章 简单DApp的开发实践1□5
8.1 简单DApp的搭建和测试1□5
8.1.1 实验目的1□5
8.1.□ 原理简介1□5
8.1.3 实验环境1□6
8.1.4 实验步骤1□6
8.1.5 实验报告137
8.□ 拓展实验:抵押机制和门限签名138
8.3 本章实验报告模板138
第9章 自主设计实验144
9.1 共识算法的实现与测试144
9.1.1 实验目的144
9.1.□ 实验概述144
9.1.3 原理简介144
9.1.4 实验环境146
9.1.5 实验步骤146
9.1.6 实验报告149
9.□ 区块链的瓶颈和扩容方案149
9.□.1 实验目的149
9.□.□ 实验概述150
9.□.3 原理简介150
9.□.4 实验步骤157
9.□.5 实验报告158
9.3 本章实验报告模板159
参考文献160