计算机
类型
可以朗读
语音朗读
252千字
字数
2020-09-01
发行日期
展开全部
主编推荐语
区块链技术与实践:介绍以太坊和比特币公链DApp开发技巧。
内容简介
本书从必要的理论知识到编码实践,循序渐进地介绍以太坊和比特币公链DApp开发的技术要点。全书主要内容分4大部分:第一部分介绍区块链的一些重要基础知识;第二部分全面地介绍以太坊公链的应用基础,内容包含但不限于以太坊的大量术语;第三部分介绍以太坊智能合约整体开发与部署实践;第四部分以以太坊DApp钱包开发;第四部分介绍比特币的基础知识和比特币公链DApp开发实践。本书注重应用,代码注释详尽,适合IT技术开发者阅读,对于想了解以太坊和比特币公链及其DApp开发技术的人员尤为合适。
目录
- 封面页
- 书名页
- 版权页
- 内容简介
- 作者简介
- 前言
- 目录
- 第1章 区块链基础知识
- 1.1 认识区块链
- 1.1.1 区块链的概念
- 1.1.2 链的分类
- 1.1.3 区块链能做什么
- 1.2 共识的作用
- 1.3 常见的共识算法
- 1.3.1 PoW算法
- 1.3.2 PoS算法
- 1.3.3 DPoS算法
- 1.3.4 共识算法的编码实现
- 1.4 链的分叉
- 1.4.1 软分叉
- 1.4.2 硬分叉
- 1.4.3 常见的分叉情况
- 1.4.4 PoW共识机制的51%算力攻击
- 1.5 小结
- 第2章 以太坊基础知识
- 2.1 什么是以太坊
- 2.2 以太坊的架构
- 2.3 什么是DApp
- 2.3.1 DApp概述
- 2.3.2 以太坊上的DApp
- 2.4 区块的组成
- 2.4.1 区块的定义
- 2.4.2 以太坊地址(钱包地址)
- 2.4.3 Nonce的作用
- 2.4.4 燃料费
- 2.4.5 GasUsed的计算
- 2.4.6 叔块
- 2.4.7 挖矿奖励
- 2.5 账户模型
- 2.5.1 比特币UTXO模型
- 2.5.2 Trie树
- 2.5.3 Patricia Trie树
- 2.5.4 默克尔树(Merkle Tree)
- 2.5.5 以太坊MPT树
- 2.5.6 MPT树节点存储到数据库
- 2.5.7 组建一棵MPT树
- 2.5.8 MPT树如何体现默克尔树的验证特点
- 2.5.9 以太坊钱包地址存储余额的方式
- 2.5.10 余额查询的区块隔离性
- 2.5.11 余额的查询顺序
- 2.5.12 UTXO模型和Account模型的对比
- 2.6 以太坊的版本演变
- 2.6.1 以太坊与PoW共识机制
- 2.6.2 君士坦丁堡
- 2.7 以太坊Ghost协议
- 2.8 Casper:PoS的变种共识机制
- 2.8.1 如何成为验证人
- 2.8.2 验证人如何获取保证金
- 2.8.3 候选区块的产生
- 2.8.4 胜出区块的判断
- 2.9 智能合约
- 2.9.1 简介与作用
- 2.9.2 合约标准
- 2.10 以太坊交易
- 2.10.1 交易的发起者、类型及发起交易的函数
- 2.10.2 交易和智能合约的关系
- 2.10.3 交易参数的说明
- 2.10.4 交易方法的真实含义
- 2.10.5 交易的状态
- 2.10.6 交易的打包
- 2.11 “代币”余额
- 2.12 以太坊浏览器
- 2.12.1 区块链浏览器访问合约函数
- 2.12.2 区块链浏览器查看交易记录
- 2.12.3 非ETH交易记录不能作为资产转账成功的依据
- 2.12.4 区块链浏览器查看智能合约的代码
- 2.13 以太坊零地址
- 2.13.1 零地址的交易转出假象
- 2.13.2 零地址的意义
- 2.14 以太坊2.0
- 2.14.1 核心组件
- 2.14.2 共识的流程
- 2.14.3 严谨的随机选择
- 2.15 小结
- 第3章 智能合约的编写、发布和调用
- 3.1 智能合约与以太坊DApp
- 3.2 认识Remix
- 3.3 实现加法程序
- 3.4 实现ERC20代币智能合约
- 3.4.1 定义标准变量
- 3.4.2 事件与构造函数
- 3.4.3 Solidity的常见关键字
- 3.4.4 授权与余额
- 3.4.5 转账函数
- 3.4.6 合约的代码安全
- 3.5 链上的合约
- 3.6 认识Mist
- 3.6.1 节点的切换
- 3.6.2 区块的同步方式
- 3.7 创建以太坊钱包
- 3.8 使用Mist转账代币
- 3.9 使用Mist发布智能合约
- 3.9.1 合约Solidity源码
- 3.9.2 认识ABI
- 3.9.3 提取ABI和Bytecode
- 3.9.4 使用Bytecode发布合约
- 3.9.5 使用合约的函数
- 3.10 Mist的替换品MyCrypto
- 3.10.1 安装MyCrypto
- 3.10.2 切换节点网络
- 3.10.3 使用MyCrypto创建钱包
- 3.10.4 使用MyCrypto转账代币
- 3.10.5 使用MyCrypto部署智能合约
- 3.11 小结
- 第4章 以太坊中继基础接口
- 4.1 认识以太坊中继
- 4.2 区块遍历
- 4.3 RPC接口
- 4.4 以太坊接口
- 4.4.1 重要接口详解
- 4.4.2 节点链接
- 4.4.3 获取链接
- 4.4.4 进行测试
- 4.4.5 获取测试币
- 4.5 项目准备
- 4.6 创建项目
- 4.7 第一个Go程序
- 4.8 封装RPC客户端
- 4.8.1 下载依赖库
- 4.8.2 编写RPC客户端
- 4.8.3 单元测试
- 4.9 编写访问接口代码
- 4.9.1 认识Call函数
- 4.9.2 查找请求的参数
- 4.9.3 实现获取交易信息
- 4.9.4 认识BatchCall函数
- 4.9.5 批量获取交易信息
- 4.9.6 批量获取代币余额
- 4.9.7 获取最新区块号
- 4.9.8 根据区块号获取区块信息
- 4.9.9 根据区块哈希值获取区块信息
- 4.9.10 使用eth_call访问智能合约函数
- 4.10 小结
- 第5章 中继服务程序的开发
- 5.1 创建以太坊钱包
- 5.1.1 以太坊钱包术语
- 5.1.2 创建钱包
- 5.2 实现以太坊交易
- 5.2.1 以太坊交易的原理
- 5.2.2 以太坊ETH的交易
- 5.3 区块事件监听
- 5.3.1 创建数据库
- 5.3.2 实现数据库的连接器
- 5.3.3 生成数据表
- 5.3.4 区块遍历器
- 5.3.5 理解监听区块事件
- 5.4 小结
- 第6章 比特币技术基础
- 6.1 比特币的架构
- 6.2 奖励机制
- 6.3 再看PoW共识
- 6.3.1 比特币区块头
- 6.3.2 比特币PoW的源码实现
- 6.3.3 比特币难度值的计算
- 6.4 地址的格式
- 6.4.1 私钥
- 6.4.2 公钥
- 6.4.3 地址
- 6.5 比特币虚拟机
- 6.5.1 虚拟机的特点
- 6.5.2 数据源
- 6.5.3 常见的操作码
- 6.5.4 虚拟机源码解析
- 6.6 再看UTXO
- 6.6.1 输入转换
- 6.6.2 交易的结构
- 6.6.3 统计余额
- 6.6.4 构建交易
- 6.7 验签过程
- 6.8 比特币锁定脚本
- 6.8.1 P2PKH
- 6.8.2 P2PK
- 6.8.3 P2SH
- 6.8.4 P2WPKH与P2WSH
- 6.9 小结
- 第7章 基于比特币公链的DApp案例
- 7.1 搭建比特币私有链
- 7.1.1 下载节点源码
- 7.1.2 目录结构
- 7.1.3 配置文件
- 7.1.4 启动比特币节点
- 7.1.5 启动终端控制程序
- 7.1.6 创建比特币钱包
- 7.1.7 导出或导入钱包私钥
- 7.1.8 主网的挖矿操作
- 7.1.9 私有网络挖矿
- 7.1.10 获得挖矿奖励
- 7.1.11 发送交易
- 7.2 OP_RETURN与智能合约
- 7.2.1 公链存储数据的需求
- 7.2.2 比特币的存储数据之法
- 7.2.3 智能合约方案——OP_RETURN
- 7.2.4 代码实现含有OP_RETURN的交易
- 7.2.5 发送OP_RETURN交易
- 7.2.6 解码默认的OP_RETURN
- 7.2.7 OP_RETURN数据的利用
- 7.3 比特币的常用RPC接口
- 7.3.1 重要接口介绍
- 7.3.2 获取节点连接
- 7.3.3 获取测试币
- 7.3.4 编写访问RPC接口代码
- 7.4 案例:实现获取交易状态的解析器
- 7.4.1 相关程序组件
- 7.4.2 流程设计
- 7.4.3 用链表实现队列功能
- 7.4.4 实现解析器
- 7.4.5 启动解析器
- 7.5 案例:构建去中心化数据存储系统
- 7.5.1 比特币区块遍历器的实现流程
- 7.5.2 创建数据库
- 7.5.3 区块遍历器的代码实现
- 7.5.4 把交易发送到本地节点
- 7.5.5 把数据存储到链上
- 7.5.6 解析所存储的数据
- 7.6 小结
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。