本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
1. 本书是 为数不多的讲解区块链实验实践的教材。 2. 本书选择的区块链实验系统全面、具有代表性。 3.本书知识点的讲解由浅入深,实验指导清晰。 4. 本书适应面广,既可以作为大中专学生及研究生学生教材,也可以作为从业者的参考用书。
本书内容包括9章。第1章为基于Go语言编写基本区块链,第2章为比特币客户端与回归测试网络,第3章为区块链浏览器与区块链钱包,第4章为以太坊客户端与分布式网络,第5章为IPFS-P2P私有网络搭建,第6章为 账本项目Fabric实验,第7章为Solidity与智能合约在线编程,第8章为简单DApp的开发实践,第9章为自主设计实验,包括区块链共识算法实现与区块链扩容方案实现。本书可以作为计算科学、软件工程、信息安全、区块链工程等专业相关课程的配套教材,也可以作为区块链工程师的培训教材。
伍前红,教授,北京航空航天大学副院长,中国电子学会区块链专家委员会委员,主持项目多项,曾获北京市高等教育教学成果奖二等奖,全国高校互联网应用创新大赛 指导教师奖等。曾翻译出版《终端安全》《现代密码学理论与实践》。
第1章 基于Go语言编写基本区块链1
1.1 Go语言环境的配置1
1.1.1 实验目的1
1.1.2 实验环境1
1.1.3 实验步骤2
1.1.4 实验报告2
1.2 Go语言入门2
1.2.1 实验目的2
1.2.2 原理简介3
1.2.3 实验环境6
1.2.4 实验步骤6
1.2.5 实验报告7
1.3 使用Go语言构建区块8
1.3.1 实验目的8
1.3.2 原理简介8
1.3.3 实验环境8
1.3.4 实验步骤8
1.3.5 实验报告9
1.4 使用Go语言实现一条区块链9
1.4.1 实验目的9
1.4.2 原理简介9
1.4.3 实验环境9
1.4.4 实验步骤10
1.4.5 实验报告10
1.5 添加工作量证明模块10
1.5.1 实验目的10
1.5.2 原理简介10
1.5.3 实验环境12
1.5.4 实验步骤12
1.5.5 实验报告12
1.6 阅读代码:添加数据库13
1.6.1 实验目的13
1.6.2 原理简介13
1.6.3 实验环境15
1.6.4 实验步骤15
1.6.5 实验报告15
1.7 拓展实验:添加命令行接口16
1.8 本章实验报告模板16
第2章 比特币客户端与回归测试网络22
2.1 Bitcoin Core的安装和配置22
2.1.1 实验目的22
2.1.2 原理简介22
2.1.3 实验环境23
2.1.4 实验步骤23
2.1.5 实验报告27
2.2 远程调用搭建回归测试网络27
2.2.1 实验目的27
2.2.2 原理简介27
2.2.3 实验环境28
2.2.4 实验步骤28
2.2.5 实验报告32
2.3 拓展实验:利用回归测试网络模拟并测试复杂的区块链状态与功能32
2.4 本章实验报告模板32
第3章 区块链浏览器与区块链钱包37
3.1 区块链浏览器的基本操作37
3.1.1 实验目的37
3.1.2 原理简介38
3.1.3 实验环境38
3.1.4 实验步骤38
3.1.5 实验报告44
3.2 利用区块链浏览器学习区块链账本层构造44
3.2.1 实验目的44
3.2.2 原理简介44
3.2.3 实验环境44
3.2.4 实验步骤44
3.2.5 实验报告48
3.3 利用区块链浏览器解析并学习以太坊合约层构造48
3.3.1 实验目的48
3.3.2 实验环境48
3.3.3 实验步骤48
3.3.4 实验报告51
3.4 体验区块链钱包原理51
3.4.1 实验目的51
3.4.2 原理简介51
3.4.3 实验环境52
3.4.4 实验步骤52
3.4.5 实验报告54
3.5 拓展实验:批量获取并分析区块链元数据54
3.6 本章实验报告模板55
第4章 以太坊客户端与分布式网络62
4.1 搭建分布式节点网络62
4.1.1 实验目的62
4.1.2 实验环境62
4.1.3 实验步骤62
4.1.4 实验报告70
4.2 与控制台进行交互70
4.2.1 实验目的70
4.2.2 实验环境70
4.2.3 实验步骤70
4.2.4 实验报告71
4.3 拓展实验:测试以太坊的吞吐率72
4.4 本章实验报告模板72
第5章 IPFS-P2P私有网络搭建75
5.1 IPFS安装和P2P网络搭建75
5.1.1 实验目的75
5.1.2 原理简介75
5.1.3 实验环境76
5.1.4 实验步骤76
5.1.5 实验报告80
5.2 拓展实验:多人文件传输测试80
5.3 本章实验报告模板80
第6章 账本项目Fabric实验84
6.1 Fabric环境的配置84
6.1.1 实验目的84
6.1.2 原理简介84
6.1.3 实验环境85
6.1.4 实验步骤85
6.1.5 实验报告88
6.2 first-network的启动和Channel的配置88
6.2.1 实验目的88
6.2.2 原理简介89
6.2.3 实验环境89
6.2.4 实验步骤89
6.2.5 实验报告91
6.3 链码的安装和实例化91
6.3.1 实验目的91
6.3.2 原理简介92
6.3.3 实验环境92
6.3.4 实验步骤92
6.3.5 实验报告93
6.4 拓展实验:使用CouchDB进行富查询93
6.5 本章实验报告模板93
第7章 Solidity与智能合约在线编程97
7.1 Solidity基础入门97
7.1.1 实验目的97
7.1.2 原理简介97
7.1.3 实验环境101
7.1.4 实验步骤101
7.1.5 实验报告102
7.2 Solidity进阶:宠物成长系统102
7.2.1 实验目的102
7.2.2 原理简介103
7.2.3 实验环境105
7.2.4 实验步骤105
7.2.5 实验报告106
7.3 Solidity高阶理论107
7.3.1 实验目的107
7.3.2 原理简介107
7.3.3 实验环境111
7.3.4 实验步骤111
7.3.5 实验报告112
7.4 支付系统112
7.4.1 实验目的112
7.4.2 原理简介112
7.4.3 实验环境114
7.4.4 实验步骤114
7.4.5 实验报告114
7.5 “战斗”升级114
7.5.1 实验目的114
7.5.2 原理简介114
7.5.3 实验环境115
7.5.4 实验步骤115
7.5.5 实验报告115
7.6 拓展实验115
7.6.1 ERC20代币合约115
7.6.2 拍卖合约116
7.7 本章实验报告模板116
第8章 简单DApp的开发实践125
8.1 简单DApp的搭建和测试125
8.1.1 实验目的125
8.1.2 原理简介125
8.1.3 实验环境126
8.1.4 实验步骤126
8.1.5 实验报告137
8.2 拓展实验:抵押机制和门限签名138
8.3 本章实验报告模板138
第9章 自主设计实验144
9.1 共识算法的实现与测试144
9.1.1 实验目的144
9.1.2 实验概述144
9.1.3 原理简介144
9.1.4 实验环境146
9.1.5 实验步骤146
9.1.6 实验报告149
9.2 区块链的瓶颈和扩容方案149
9.2.1 实验目的149
9.2.2 实验概述150
9.2.3 原理简介150
9.2.4 实验步骤157
9.2.5 实验报告158
9.3 本章实验报告模板159
参考文献160