由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
醉染图书GO语言公链开发实战9787111629870
¥ ×1
序一
序二
前言
章公链设计架构1
1.1概述1
1.2公链总体架构2
1.3比原链各模块功能2
1.3.1用户交互层2
1.3.2接口层4
1.3.3内核层4
1.3.4钱包层6
1.3.5共识层6
1.3.6数据存储层7
1.3.7P2P分布式网络8
1.4编译部署及应用9
1.5本章小结12
第2章交互工具13
2.1概述13
2.2bytomcli交互工具13
2.2.1bytomc命令lg参数13
2.2.2使用bytomcli查看节点状态信息15
2..bytomcli运行案例16
.dashboard交互工具21
..1使用dashboard发送一笔交易22
..2使用dashboard开启挖矿模式22
2.4本章小结24
第3章守护进程的初始化与运行25
3.1概述25
3.2bytomd守护进程初始化流程及命令参数25
3.3bytomd守护进程的初始化实现27
3.3.1Node对象28
3.3.2配置初始化29
3.3.3创建文件锁32
3.3.4初始化网络类型33
3.3.5初始化数据库(持久化存储)35
3.3.6初始化交易池35
3.5.7创建一条本地区块链36
3.3.8初始化本地钱包37
3.3.9初始化网络同步管理37
3.3.10初始化Pprof能分析工具38
3.3.11初始化CPU挖矿功能38
3.4bytomd守护进程的启动方式和停止方式39
3.5本章小结40
第4章接口层41
4.1概述41
4.2实现一个简易HTTPServer41
4.3APIServer创建HTTP服务42
4.3.1创建API对象42
4.3.2创建路由项43
4.3.3实例化http.Server44
4.3.4启动APIServer45
4.3.5接收并响应请求45
4.4HTTP请求的完整生命周期47
4.5比原链API接口描述48
4.6API接口调用工具50
4.6.1使用curl命令行调用API接口50
4.6.2使用Postman调用API接口50
4.7比原链HTTP错误码一览51
4.8本章小结52
第5章内核层:区块与区块链53
5.1概述53
5.2区块53
5.2.1区块的数据结构53
5.2.2区块头的数据结构54
5..区块标识符55
5.2.4创世区块56
5.2.5生成创世区块57
5.2.6区块验58
5.2.7计算下一个区块的难度目标60
5.2.8孤块管理60
5.3区块链63
5.3.1区块链的数据结构63
5.3.2区块上链64
5.3.3区块连接65
5.3.4链重组66
5.3.5主链的状态69
5.4本章小结70
第6章内核层:交易71
6.1概述71
6.2交易的概念71
6.2.1现实生活中的交易71
6.2.2虚拟世界中的交易72
6.3核心数据结构72
6.3.1普通交易核心数据结构73
6.3.2Coinbase交易核心数据结构78
6.3.3交易Action数据结构81
6.3.4MUX交易类型85
6.4BUTXO模型86
6.4.1BUTXO模型原理87
6.4.2MUX结构88
6.5交易的流程89
6.5.1构建交易89
6.5.2签名交易93
6.5.3提交交易95
6.6隔离见97
6.7交易脚本97
6.7.1支付到公钥98
6.7.2支付到脚本99
6.7.3资产上链100
6.7.4资产销毁102
6.7.5见脚本102
6.7.6栈语言103
6.8交易验105
6.8.1标准交易105
6.8.2交易验流程106
6.9交易费108
6.9.1估算交易手续费108
6.9.2计算交易手续费110
6.10交易池111
6.11树112
6.12本章小结115
第7章内核层:智能合约116
7.1概述116
7.2基础知识116
7.2.1智能合约116
7.2.2图灵完备的智能合约117
7..UTXO模型和Account模型117
7.3合约层设计118
7.4智能合约语言119
7.4.1Equity语言119
7.4.2Equity合约组成119
7.5基于UTXO模型合约开发实战122
7.5.1编写合约1
7.5.2编译合约1
7.5.3部署合约125
7.5.4解锁合约129
7.6本章小结132
第8章内核层:虚拟机133
8.1概述133
8.2BVM介绍134
8.2.1虚拟机的栈134
8.2.2具有图灵完备的BVM135
8..equity&vm代码结构135
8.3virtualMachine对象136
8.4栈实现137
8.5BVM操作指令集139
8.6智能合约在BVM上的运行过程141
8.6.1智能合约数据结构141
8.6.2合约编译流程与原理142
8.6.3合约程序字节码示例156
8.6.4合约程序字节码的执行157
8.6.5合约程序字节码的执行示例159
8.7BVM指令集160
8.8本章小结165
第9章钱包层166
9.1概述166
9.2钱包对象167
9.3密钥管理167
9.3.1密钥对生成169
9.3.2密钥对生成算法170
9.3.3密钥加密存储172
9.4账户管理174
9.4.1账户创建175
9.4.2账户地址176
9.4.3账户余额178
9.5资产管理179
9.5.1初始默认资产179
9.5.2发行资产180
9.6交易管理182
9.6.1筛选交易182
9.6.2筛选UTXO183
9.6.3UTXO花费选择算法184
9.7钱包管理186
9.7.1数据更新186
9.7.2备份187
9.7.3恢复188
9.8本章小结188
0章P2P分布式网络189
10.1概述189
10.2P2P的四种网络模型189
10.3网络节点初始化191
10.3.1SyncManager初始化191
10.3.2P2PSwitch初始化194
10.4节点发现机制196
10.4.1种子节点196
10.4.2Kademlia算法197
10.4.3UPnP协议203
10.4.4RLPX网络协议205
10.5节点发现代码实现206
10.5.1节点发现初始化206
10.5.2路由表实现207
10.5.3Kademlia通信协议212
10.5.4邻居节点发现实现212
10.6节点状态机219
10.7区块同步2
10.7.1区块同步流程2
10.7.2快速同步算法225
10.7.3普通同步算法0
10.7.4区块数据请求与发送1
10.8交易同步
10.9快速广播5
10.9.1新交易快速广播
10.9.2新区块快速广播
10.10节点管理
10.10.1TCP连接数管理240
10.10.2Outbound连接数管理240
10.10.3动态节点评分机制DynamicBanScore241
10.11本章小结245
1章数据存储246
11.1概述246
11.2为什么使用键值数据库246
11.3LevelDB常用操作247
11.3.1增删改查操作247
11.3.2迭代查询248
11.3.3按前缀查询249
11.3.4批量操作249
11.4存储层缓存250
11.4.1缓存淘汰算法250
11.4.2比原链缓存实现252
11.5存储层持久化254
11.5.1比原链数据库254
11.5.2持久化存储接口255
11.5.3持久化key数据前缀255
11.5.4持久化存储区块过程256
11.6Varint变长编码257
11.7本章小结258
2章共识算法259
12.1概述259
12.2PoW和PoS259
1.实现一个简易PoW共识算法261
12.4比原链PoW共识算法266
12.4.1PoWhash值266
12.4.2难度动态调整267
12.4.3Tensority算法268
12.5本章小结278
3章矿池及挖矿流程279
13.1概述279
13.2与矿池相关的基本概念279
13.3矿池总架构280
13.4挖矿流程解析(矿池视角)282
13.5挖矿流程解析(矿机视角)283
13.6拒绝数与拒绝率286
13.7矿池的收益分配模式286
13.8交易打包至区块287
13.8.1Coinbase交易奖励288
13.8.2交易手续费Gas289
13.9矿池优化建议290
13.10本章小结291
4章展望292
14.1概述292
14.2跨链293
14.2.1打通链与链的连接293
14.2.2BTC、ETH与BTM的跨链资产交换293
14.3闪电网络294
14.4子链295
14.5本章小结296
郑东旭,在国内一线互联网公司任职,对公链底层运行原理及技术实现有深入了解。某公链项目技术委员会成员。
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格