《EOS实战与源码分析》PDF电子书免费下载

作者:  刘文彬

出版社: 电子工业出版社

出版年: 2019年6月

ISBN: 9787121369285

~~滚到底部有网盘下载链接~~

内容简介

目录

第1章 加密算法 1
1.1 单向哈希函数 1
1.2 对称加密 2
1.3 非对称加密 3
1.4 本章小结 3
第2章 启动单节点EOS链 4
2.1 源代码结构 4
2.2 编译工程 4
2.2.1 脚本eosio_build.sh 5
2.2.2 常见错误 6
2.3 安装命令 6
2.4 启动nodeos 7
2.4.1 nodeos命令详解 7
2.4.2 启动一个独立节点 8
2.4.3 RPC API 10
2.5 钱包服务keosd 11
2.6 Docker启动 12
2.7 本章小结 14
第3章 终端交互命令cleos 15
3.1 cleos命令概述 15
3.2 create命令 16
3.3 convert脚本命令 17
3.3.1 打包事务 17
3.3.2 解包事务 18
3.3.3 打包action数据 19
3.4 get命令 20
3.5 set命令 21
3.5.1 设置账户权限 22
3.5.2 设置action权限 23
3.6 transfer命令 24
3.7 net命令 25
3.8 钱包操作 25
3.8.1 创建钱包 25
3.8.2 导入私钥 26
3.8.3 创建密钥 26
3.8.4 列举钱包 27
3.8.5 查看私钥 27
3.9 sign命令 27
3.10 push命令 28
3.11 multisig命令 28
3.11.1 准备环境 28
3.11.2 准备账户 29
3.11.3 普通转账 29
3.11.4 创建提案 30
3.11.5 查看提案 31
3.11.6 审批提案 33
3.11.7 执行提案 34
3.11.8 权重为1的情况 35
3.12 超级权限sudo命令 36
3.13 系统命令system 36
3.14 本章小结 37
第4章 构建公链网络 38
4.1 公链网络概述 38
4.2 bbt脚本构建公链 38
4.2.1 bbt脚本帮助文档 39
4.2.2 执行bbt脚本 41
4.3 公链资源管理 42
4.3.1 抵押带宽 43
4.3.2 投票与代理投票 47
4.3.3 赎回带宽 49
4.3.4 买卖内存资源 50
4.4 公链启动重点步骤 51
4.4.1 创建系统账户 51
4.4.2 创建普通账户(资源管理) 52
4.4.3 注册生产候选人 55
4.4.4 查看生产候选人 55
4.4.5 查看账户资源 56
4.4.6 为候选人投票 56
4.4.7 生产者认领奖励 57
4.5 启动结束扫尾工作 58
4.5.1 查看出块计划 58
4.5.2 处理eosio账户 59
4.5.3 处理系统账户 60
4.5.4 处理system合约 60
4.6 手动构建多机多节点网络 60
4.6.1 初始节点准备 61
4.6.2 连接多机多节点 62
4.7 本章小结 63
第5章 源代码调试入门 64
5.1 调试环境搭建 64
5.2 调试nodeos命令 66
5.2.1 CMakeList.txt 66
5.2.2 application 66
5.2.3 插件初始化 68
5.2.4 启动插件 72
5.2.5 执行插件 74
5.2.6 断开和异常处理 75
5.3 调试cleos创建账户 75
5.3.1 入口main函数 75
5.3.2 get info热身 76
5.3.3 开始调试 78
5.3.4 事务相关参数 79
5.3.5 回调函数 80
5.3.6 context_free_actions 84
5.3.7 获取必需密钥 86
5.3.8 签名事务 86
5.3.9 打包事务 87
5.4 本章小结 88
第6章 数据持久化 89
6.1 blocks.log日志库 89
6.1.1 Merkle Tree 89
6.1.2 区块链数据结构 91
6.1.3 数据持久化概述 96
6.1.4 block_log接口 98
6.1.5 repair_log函数 99
6.2 chainbase状态库 101
6.2.1 并发访问 102
6.2.2 undo操作 103
6.2.3 持久化处理 107
6.2.4 移植性 110
6.2.5 multi_index 111
6.2.6 与blocks.log对比 114
6.3 controller控制器 114
6.3.1 控制器概览 114
6.3.2 控制器的信号 118
6.3.3 控制器实现概览 123
6.3.4 待确认库/分叉库 124
6.3.5 快照技术 130
6.4 本章小结 136
第7章 智能合约 137
7.1 简介 137
7.2 合约开发工具集 138
7.2.1 安装cdt 138
7.2.2 编译合约 139
7.2.3 部署合约 139
7.2.4 执行合约动作 140
7.2.5 编写合约 140
7.2.6 李嘉图合约 141
7.2.7 更新合约 141
7.2.8 调试合约 142
7.3 eosio.token 通证 142
7.3.1 创建token 142
7.3.2 发行token 143
7.3.3 token转账 145
7.3.4 余额减少 146
7.3.5 余额增加 147
7.4 eosio.system系统设置 148
7.4.1 概览 148
7.4.2 更新已入选生产节点 150
7.4.3 系统合约管理出块 153
7.4.4 初始化主币 155
7.4.5 非常规账户竞拍 156
7.4.6 创建账户 158
7.5 本章小结 160
第8章 插件系统源代码解析 161
8.1 chain_plugin链行为核心 161
8.1.1 接口列表 161
8.1.2 同步只读 162
8.1.3 异步读写 164
8.1.4 API插件的生命周期 166
8.1.5 结构体成员序列化 166
8.1.6 chain插件生命周期 167
8.1.7 RPC接口实现 170
8.2 http_plugin 基础RPC 194
8.2.1 EOS插件通信模式 194
8.2.2 add_api函数 196
8.2.3 add_handler函数 197
8.2.4 url_handlers集合 198
8.2.5 处理HTTP请求 198
8.2.6 生命周期 200
8.3 producer_plugin生产区块 206
8.3.1 生命周期 207
8.3.2 同步区块 210
8.3.3 同步事务 213
8.3.4 区块上链 218
8.3.5 区块不可逆 220
8.3.6 最后不可逆 221
8.3.7 链的条幅日志 223
8.3.8 倒计时器 224
8.3.9 循环计划出块 226
8.3.10 校验生产区块 229
8.3.11 生产区块 230
8.3.12 启动出块管理 231
8.4 mongo_db_plugin状态持久化 232
8.4.1 生命周期 233
8.4.2 信号管理 236
8.4.3 队列 237
8.4.4 擦除数据库 238
8.4.5 初始化插件 239
8.4.6 区块消费 241
8.4.7 接收事务信号处理 243
8.4.8 应用事务信号处理 245
8.4.9 接收区块信号处理 246
8.4.10 不可逆区块信号处理 248
8.5 txn_test_gen_plugin测试TPS插件 250
8.5.1 插件的整体架构 250
8.5.2 创建测试账户接口 251
8.5.3 启动测试接口 256
8.5.4 终止程序接口 261
8.5.5 TPS 261
8.6 本章小结 262,第1章 加密算法 1
1.1 单向哈希函数 1
1.2 对称加密 2
1.3 非对称加密 3
1.4 本章小结 3
第2章 启动单节点EOS链 4
2.1 源代码结构 4
2.2 编译工程 4
2.2.1 脚本eosio_build.sh 5
2.2.2 常见错误 6
2.3 安装命令 6
2.4 启动nodeos 7
2.4.1 nodeos命令详解 7
2.4.2 启动一个独立节点 8
2.4.3 RPC API 10
2.5 钱包服务keosd 11
2.6 Docker启动 12
2.7 本章小结 14
第3章 终端交互命令cleos 15
3.1 cleos命令概述 15
3.2 create命令 16
3.3 convert脚本命令 17
3.3.1 打包事务 17
3.3.2 解包事务 18
3.3.3 打包action数据 19
3.4 get命令 20
3.5 set命令 21
3.5.1 设置账户权限 22
3.5.2 设置action权限 23
3.6 transfer命令 24
3.7 net命令 25
3.8 钱包操作 25
3.8.1 创建钱包 25
3.8.2 导入私钥 26
3.8.3 创建密钥 26
3.8.4 列举钱包 27
3.8.5 查看私钥 27
3.9 sign命令 27
3.10 push命令 28
3.11 multisig命令 28
3.11.1 准备环境 28
3.11.2 准备账户 29
3.11.3 普通转账 29
3.11.4 创建提案 30
3.11.5 查看提案 31
3.11.6 审批提案 33
3.11.7 执行提案 34
3.11.8 权重为1的情况 35
3.12 超级权限sudo命令 36
3.13 系统命令system 36
3.14 本章小结 37
第4章 构建公链网络 38
4.1 公链网络概述 38
4.2 bbt脚本构建公链 38
4.2.1 bbt脚本帮助文档 39
4.2.2 执行bbt脚本 41
4.3 公链资源管理 42
4.3.1 抵押带宽 43
4.3.2 投票与代理投票 47
4.3.3 赎回带宽 49
4.3.4 买卖内存资源 50
4.4 公链启动重点步骤 51
4.4.1 创建系统账户 51
4.4.2 创建普通账户(资源管理) 52
4.4.3 注册生产候选人 55
4.4.4 查看生产候选人 55
4.4.5 查看账户资源 56
4.4.6 为候选人投票 56
4.4.7 生产者认领奖励 57
4.5 启动结束扫尾工作 58
4.5.1 查看出块计划 58
4.5.2 处理eosio账户 59
4.5.3 处理系统账户 60
4.5.4 处理system合约 60
4.6 手动构建多机多节点网络 60
4.6.1 初始节点准备 61
4.6.2 连接多机多节点 62
4.7 本章小结 63
第5章 源代码调试入门 64
5.1 调试环境搭建 64
5.2 调试nodeos命令 66
5.2.1 CMakeList.txt 66
5.2.2 application 66
5.2.3 插件初始化 68
5.2.4 启动插件 72
5.2.5 执行插件 74
5.2.6 断开和异常处理 75
5.3 调试cleos创建账户 75
5.3.1 入口main函数 75
5.3.2 get info热身 76
5.3.3 开始调试 78
5.3.4 事务相关参数 79
5.3.5 回调函数 80
5.3.6 context_free_actions 84
5.3.7 获取必需密钥 86
5.3.8 签名事务 86
5.3.9 打包事务 87
5.4 本章小结 88
第6章 数据持久化 89
6.1 blocks.log日志库 89
6.1.1 Merkle Tree 89
6.1.2 区块链数据结构 91
6.1.3 数据持久化概述 96
6.1.4 block_log接口 98
6.1.5 repair_log函数 99
6.2 chainbase状态库 101
6.2.1 并发访问 102
6.2.2 undo操作 103
6.2.3 持久化处理 107
6.2.4 移植性 110
6.2.5 multi_index 111
6.2.6 与blocks.log对比 114
6.3 controller控制器 114
6.3.1 控制器概览 114
6.3.2 控制器的信号 118
6.3.3 控制器实现概览 123
6.3.4 待确认库/分叉库 124
6.3.5 快照技术 130
6.4 本章小结 136
第7章 智能合约 137
7.1 简介 137
7.2 合约开发工具集 138
7.2.1 安装cdt 138
7.2.2 编译合约 139
7.2.3 部署合约 139
7.2.4 执行合约动作 140
7.2.5 编写合约 140
7.2.6 李嘉图合约 141
7.2.7 更新合约 141
7.2.8 调试合约 142
7.3 eosio.token 通证 142
7.3.1 创建token 142
7.3.2 发行token 143
7.3.3 token转账 145
7.3.4 余额减少 146
7.3.5 余额增加 147
7.4 eosio.system系统设置 148
7.4.1 概览 148
7.4.2 更新已入选生产节点 150
7.4.3 系统合约管理出块 153
7.4.4 初始化主币 155
7.4.5 非常规账户竞拍 156
7.4.6 创建账户 158
7.5 本章小结 160
第8章 插件系统源代码解析 161
8.1 chain_plugin链行为核心 161
8.1.1 接口列表 161
8.1.2 同步只读 162
8.1.3 异步读写 164
8.1.4 API插件的生命周期 166
8.1.5 结构体成员序列化 166
8.1.6 chain插件生命周期 167
8.1.7 RPC接口实现 170
8.2 http_plugin 基础RPC 194
8.2.1 EOS插件通信模式 194
8.2.2 add_api函数 196
8.2.3 add_handler函数 197
8.2.4 url_handlers集合 198
8.2.5 处理HTTP请求 198
8.2.6 生命周期 200
8.3 producer_plugin生产区块 206
8.3.1 生命周期 207
8.3.2 同步区块 210
8.3.3 同步事务 213
8.3.4 区块上链 218
8.3.5 区块不可逆 220
8.3.6 最后不可逆 221
8.3.7 链的条幅日志 223
8.3.8 倒计时器 224
8.3.9 循环计划出块 226
8.3.10 校验生产区块 229
8.3.11 生产区块 230
8.3.12 启动出块管理 231
8.4 mongo_db_plugin状态持久化 232
8.4.1 生命周期 233
8.4.2 信号管理 236
8.4.3 队列 237
8.4.4 擦除数据库 238
8.4.5 初始化插件 239
8.4.6 区块消费 241
8.4.7 接收事务信号处理 243
8.4.8 应用事务信号处理 245
8.4.9 接收区块信号处理 246
8.4.10 不可逆区块信号处理 248
8.5 txn_test_gen_plugin测试TPS插件 250
8.5.1 插件的整体架构 250
8.5.2 创建测试账户接口 251
8.5.3 启动测试接口 256
8.5.4 终止程序接口 261
8.5.5 TPS 261
8.6 本章小结 262

下载价格:免费
立即下载
登入/注册
知识就是力量
没有账号? 忘记密码?