作品简介

本书详细、全面地介绍了区块链的基础知识与概念,剖析了区块链的架构、底层实现细节以及加密技术,并配合行业应用案例,常见问题等,全面解读大热的区块链技术实现与应用。

区块链和分布式账本技术是全球十大战略技术趋势之一,也是我国金融界、科技界过去一年高度关注的热点之一。毫无疑问,2017年我国金融界、科技界将会加大在区块链和分布式账本技术领域的投入,同时市场上将会出现几个实际的应用。

《区块链开发指南》由申屠青春主编。。

作品目录

  • 推荐序一 区块链的价值实现
  • 推荐序二 区块链,推动金融代际跃升的新力量
  • 推荐序三 区块链技术的现实和未来
  • 前言
  • 第1章 区块链基础
  • 1.1 交易和交易链
  • 1.1.1 比特币地址
  • 1.1.2 交易的本质
  • 1.1.3 输入和输出
  • 1.1.4 交易类型
  • 1.1.5 找零地址
  • 1.2 区块和区块链
  • 1.2.1 区块结构
  • 1.2.2 创世块
  • 1.2.3 区块链原理
  • 1.3 挖矿、矿池
  • 1.3.1 挖矿原理与区块的产生
  • 1.3.2 挖矿难度
  • 1.3.3 矿池原理与商业模式
  • 1.4 脚本系统
  • 1.4.1 脚本特点
  • 1.4.2 脚本运行过程
  • 1.4.3 脚本操作码解读
  • 1.4.4 脚本执行过程
  • 1.5 合约应用案例
  • 1.5.1 合约应用原理
  • 1.5.2 示例1:提供押金证明
  • 1.5.3 示例2:担保和争端调解
  • 1.5.4 示例3:保证合约
  • 1.5.5 示例4:使用外部状态
  • 1.5.6 示例5:跨链交易
  • 1.5.7 示例6:支付证明合约
  • 1.5.8 示例7:特定对象的快速调整(微)支付
  • 1.5.9 示例8:多方去中心化彩票
  • 参考资料
  • 第2章 区块链进阶
  • 2.1 外带数据
  • 2.1.1 OP_RETURN外带数据
  • 2.1.2 Multi-Signatures外带数据
  • 2.2 Counterparty
  • 2.2.1 Counterparty附生链的实现机制详解
  • 2.2.2 发送
  • 2.2.3 订单
  • 2.2.4 发行
  • 2.2.5 广播
  • 2.2.6 赌约
  • 2.3 挖矿算法解析
  • 2.3.1 PoW挖矿算法及分析
  • 2.3.2 PoS股权证明算法及分析
  • 2.3.3 DPoS股份授权证明算法及分析
  • 2.4 Sidechains
  • 2.4.1 侧链背景
  • 2.4.2 技术原理
  • 2.5 最新比特币技术
  • 2.5.1 IBLT
  • 2.5.2 隔离见证
  • 2.5.3 闪电网络
  • 2.5.4 RSMC
  • 2.5.5 HTLC
  • 参考资料
  • 第3章 密码学基础
  • 3.1 Hash函数
  • 3.1.1 技术原理
  • 3.1.2 SHA-1算法
  • 3.1.3 SHA-2算法
  • 3.1.4 SHA-3算法
  • 3.1.5 RIPEMD160算法
  • 3.2 椭圆曲线密码
  • 3.2.1 椭圆曲线方程
  • 3.2.2 公钥和私钥的产生算法
  • 3.3 ECDSA数字签名
  • 3.4 Schnorr数字签名
  • 3.4.1 技术思想
  • 3.4.2 Schnorr与ECDSA的异同
  • 3.5 Bloom filter
  • 3.5.1 技术原理
  • 3.5.2 应用案例
  • 第4章 比特币区块链开发
  • 4.1 Bitcoin的编译过程
  • 4.1.1 Ubuntu下的编译
  • 4.1.2 Mac下的编译
  • 4.1.3 Windows下的编译
  • 4.2 代码剖析
  • 4.2.1 主要模块
  • 4.2.2 初始化和启动
  • 4.2.3 P2P网络
  • 4.2.4 交易和区块
  • 4.2.5 脚本系统
  • 4.2.6 挖矿
  • 4.2.7 私钥
  • 4.3 性能实战
  • 4.3.1 建立私链
  • 4.3.2 优化改进
  • 4.4 API开发
  • 4.4.1 命令行调用
  • 4.4.2 RPC API调用接口
  • 4.4.3 如何调用API进行开发
  • 4.4.4 通过命令实现区块链的查询实例
  • 第5章 以太坊智能合约开发
  • 5.1 以太坊
  • 5.1.1 以太坊的定义
  • 5.1.2 下一代区块链
  • 5.1.3 以太坊虚拟机
  • 5.1.4 以太坊的工作原理
  • 5.2 以太坊账户管理
  • 5.2.1 账户
  • 5.2.2 钥匙文件
  • 5.2.3 创建账号
  • 5.3 更新、备份、恢复账号
  • 5.3.1 更新账号
  • 5.3.2 账号备份和恢复
  • 5.4 公有链、联盟链、私有链及网络配置
  • 5.4.1 以太坊网络
  • 5.4.2 公有链、私有链和联盟链
  • 5.4.3 如何连接
  • 5.4.4 更快地下载区块链
  • 5.4.5 静态节点、信任节点和启动节点
  • 5.5 搭建测试网络和私有链
  • 5.5.1 Modern测试网
  • 5.5.2 设置本地私有测试网
  • 5.6 账户、交易核心概念及投注合约解析
  • 5.6.1 外有账户与合约账户
  • 5.6.2 什么是交易
  • 5.6.3 什么是消息
  • 5.6.4 什么是gas
  • 5.6.5 估算交易成本
  • 5.6.6 账户交互示例:投注合约
  • 5.7 深入浅出智能合约
  • 5.7.1 合约的定义
  • 5.7.2 以太坊高级语言
  • 5.7.3 写合约
  • 5.7.4 编译合约
  • 5.7.5 创建和部署合约
  • 5.7.6 与合约互动
  • 5.7.7 合约元数据
  • 5.7.8 测试合约和交易
  • 5.8 如何部署、调用智能合约
  • 5.8.1 RPC
  • 5.8.2 惯例
  • 5.8.3 部署合约
  • 5.8.4 和智能合约互动
  • 5.8.5 Web3.js
  • 5.8.6 控制台
  • 5.8.7 查看合约与交易
  • 5.9 智能合约案例实战
  • 参考资料
  • 第6章 Fabric原理和实操
  • 6.1 超级账本项目背景
  • 6.2 Fabric简介
  • 6.3 系统架构
  • 6.3.1 交易
  • 6.3.2 区块链数据结构
  • 6.3.3 节点
  • 6.4 交易背书的基本流程
  • 6.4.1 客户端创建交易后发送到它所选择的背书节点
  • 6.4.2 背书节点模拟交易,然后生成背书签名
  • 6.4.3 提交客户端获取交易的背书,通过排序服务广播
  • 6.4.4 排序服务向所有节点投递交易消息
  • 6.5 背书策略
  • 6.5.1 背书策略规范
  • 6.5.2 交易评估与背书策略
  • 6.5.3 背书策略示例
  • 6.6 验证总账(1.0版本之后的功能)和原始总账检查点(精简)
  • 6.6.1 验证总账
  • 6.6.2 原始总账检查点
  • 6.7 Fabric V1.0开发者快速入门
  • 6.7.1 前置条件和系统配置
  • 6.7.2 下载源代码,创建Fabric网络
  • 6.7.3 生成配置文件
  • 6.7.4 使用Docker创建Fabric网络&创建/加入通道(账本)
  • 6.7.5 示例合约执行过程解析
  • 6.7.6 查看智能合约执行日志
  • 6.7.7 手工创建和加入通道
  • 6.7.8 使用命令行工具部署、调用、查询智能合约
  • 6.7.9 开发环境故障排除
  • 6.7.10 Fabric常用的Docker命令
  • 6.8 智能合约开发
  • 6.8.1 智能合约的定义
  • 6.8.2 GO语言智能合约的开发和部署
  • 6.8.3 Java智能合约的编写与部署
  • 6.8.4 开发和提交代码
  • 相关术语
  • 附录A 国内区块链联盟介绍
  • 附录B 《ChinaLedger面向中国资本市场应用的分布式总账白皮书》全文
展开全部