计算机
类型
可以朗读
语音朗读
116千字
字数
2019-07-01
发行日期
展开全部
主编推荐语
本书深度剖析EOS源代码,填补知识空白,立体地探讨区块链技术,全面了解EOS区块链。
内容简介
本书通过EOS源代码分析揣摩设计思路、原理,找准一条技术路线,填充EOS知识空白,多条路线最终交织在一起就构成了一幅知识图,这是一个一维变二维的过程,至于如何从二维变三维,就需要结合多重学科知识,如金融学、社会学、历史学等,立体地深入分析区块链技术,结合EOS.IO/eos开源源代码阅读本书效果更佳。本书总共分为8章:加密算法、启动单节点EOS链、终端交互命令cleos、构建公链网络、源代码调试入门、数据持久化、智能合约、插件系统源代码解析。希望通过阅读本书能够更加深入地了解EOS区块链。
目录
- 封面
- 版权页
- 前言
- 目录
- 第1章 加密算法
- 1.1 单向哈希函数
- 1.2 对称加密
- 1.3 非对称加密
- 1.4 本章小结
- 第2章 启动单节点EOS链
- 2.1 源代码结构
- 2.2 编译工程
- 2.2.1 脚本eosio_build.sh
- 2.2.2 常见错误
- 2.3 安装命令
- 2.4 启动nodeos
- 2.4.1 nodeos命令详解
- 2.4.2 启动一个独立节点
- 2.4.3 RPC API
- 2.5 钱包服务keosd
- 2.6 Docker启动
- 2.7 本章小结
- 第3章 终端交互命令cleos
- 3.1 cleos命令概述
- 3.2 create命令
- 3.3 convert脚本命令
- 3.3.1 打包事务
- 3.3.2 解包事务
- 3.3.3 打包action数据
- 3.4 get命令
- 3.5 set命令
- 3.5.1 设置账户权限
- 3.5.2 设置action权限
- 3.6 transfer命令
- 3.7 net命令
- 3.8 钱包操作
- 3.8.1 创建钱包
- 3.8.2 导入私钥
- 3.8.3 创建密钥
- 3.8.4 列举钱包
- 3.8.5 查看私钥
- 3.9 sign命令
- 3.10 push命令
- 3.11 multisig命令
- 3.11.1 准备环境
- 3.11.2 准备账户
- 3.11.3 普通转账
- 3.11.4 创建提案
- 3.11.5 查看提案
- 3.11.6 审批提案
- 3.11.7 执行提案
- 3.11.8 权重为1的情况
- 3.12 超级权限sudo命令
- 3.13 系统命令system
- 3.14 本章小结
- 第4章 构建公链网络
- 4.1 公链网络概述
- 4.2 bbt脚本构建公链
- 4.2.1 bbt脚本帮助文档
- 4.2.2 执行bbt脚本
- 4.3 公链资源管理
- 4.3.1 抵押带宽
- 4.3.2 投票与代理投票
- 4.3.3 赎回带宽
- 4.3.4 买卖内存资源
- 4.4 公链启动重点步骤
- 4.4.1 创建系统账户
- 4.4.2 创建普通账户(资源管理)
- 4.4.3 注册生产候选人
- 4.4.4 查看生产候选人
- 4.4.5 查看账户资源
- 4.4.6 为候选人投票
- 4.4.7 生产者认领奖励
- 4.5 启动结束扫尾工作
- 4.5.1 查看出块计划
- 4.5.2 处理eosio账户
- 4.5.3 处理系统账户
- 4.5.4 处理system合约
- 4.6 手动构建多机多节点网络
- 4.6.1 初始节点准备
- 4.6.2 连接多机多节点
- 4.7 本章小结
- 第5章 源代码调试入门
- 5.1 调试环境搭建
- 5.2 调试nodeos命令
- 5.2.1 CMakeList.txt
- 5.2.2 application
- 5.2.3 插件初始化
- 5.2.4 启动插件
- 5.2.5 执行插件
- 5.2.6 断开和异常处理
- 5.3 调试cleos创建账户
- 5.3.1 入口main函数
- 5.3.2 get info热身
- 5.3.3 开始调试
- 5.3.4 事务相关参数
- 5.3.5 回调函数
- 5.3.6 context_free_actions
- 5.3.7 获取必需密钥
- 5.3.8 签名事务
- 5.3.9 打包事务
- 5.4 本章小结
- 第6章 数据持久化
- 6.1 blocks.log日志库
- 6.1.1 Merkle Tree
- 6.1.2 区块链数据结构
- 6.1.3 数据持久化概述
- 6.1.4 block_log接口
- 6.1.5 repair_log函数
- 6.2 chainbase状态库
- 6.2.1 并发访问
- 6.2.2 undo操作
- 6.2.3 持久化处理
- 6.2.4 移植性
- 6.2.5 multi_index
- 6.2.6 与blocks.log对比
- 6.3 controller控制器
- 6.3.1 控制器概览
- 6.3.2 控制器的信号
- 6.3.3 控制器实现概览
- 6.3.4 待确认库/分叉库
- 6.3.5 快照技术
- 6.4 本章小结
- 第7章 智能合约
- 7.1 简介
- 7.2 合约开发工具集
- 7.2.1 安装cdt
- 7.2.2 编译合约
- 7.2.3 部署合约
- 7.2.4 执行合约动作
- 7.2.5 编写合约
- 7.2.6 李嘉图合约
- 7.2.7 更新合约
- 7.2.8 调试合约
- 7.3 eosio.token 通证
- 7.3.1 创建token
- 7.3.2 发行token
- 7.3.3 token转账
- 7.3.4 余额减少
- 7.3.5 余额增加
- 7.4 eosio.system系统设置
- 7.4.1 概览
- 7.4.2 更新已入选生产节点
- 7.4.3 系统合约管理出块
- 7.4.4 初始化主币
- 7.4.5 非常规账户竞拍
- 7.4.6 创建账户
- 7.5 本章小结
- 第8章 插件系统源代码解析
- 8.1 chain_plugin链行为核心
- 8.1.1 接口列表
- 8.1.2 同步只读
- 8.1.3 异步读写
- 8.1.4 API插件的生命周期
- 8.1.5 结构体成员序列化
- 8.1.6 chain插件生命周期
- 8.1.7 RPC接口实现
- 8.2 http_plugin 基础RPC
- 8.2.1 EOS插件通信模式
- 8.2.2 add_api函数
- 8.2.3 add_handler函数
- 8.2.4 url_handlers集合
- 8.2.5 处理HTTP请求
- 8.2.6 生命周期
- 8.3 producer_plugin生产区块
- 8.3.1 生命周期
- 8.3.2 同步区块
- 8.3.3 同步事务
- 8.3.4 区块上链
- 8.3.5 区块不可逆
- 8.3.6 最后不可逆
- 8.3.7 链的条幅日志
- 8.3.8 倒计时器
- 8.3.9 循环计划出块
- 8.3.10 校验生产区块
- 8.3.11 生产区块
- 8.3.12 启动出块管理
- 8.4 mongo_db_plugin状态持久化
- 8.4.1 生命周期
- 8.4.2 信号管理
- 8.4.3 队列
- 8.4.4 擦除数据库
- 8.4.5 初始化插件
- 8.4.6 区块消费
- 8.4.7 接收事务信号处理
- 8.4.8 应用事务信号处理
- 8.4.9 接收区块信号处理
- 8.4.10 不可逆区块信号处理
- 8.5 txn_test_gen_plugin测试TPS插件
- 8.5.1 插件的整体架构
- 8.5.2 创建测试账户接口
- 8.5.3 启动测试接口
- 8.5.4 终止程序接口
- 8.5.5 TPS
- 8.6 本章小结
- 反侵权盗版声明
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。