区块链开发指南

区块链开发指南

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
免费试读

作品简介

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

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

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

作品目录

  1. 推荐序一 区块链的价值实现
  2. 推荐序二 区块链,推动金融代际跃升的新力量
  3. 推荐序三 区块链技术的现实和未来
  4. 前言
  5. 第1章 区块链基础
  6. 1.1 交易和交易链
  7. 1.1.1 比特币地址
  8. 1.1.2 交易的本质
  9. 1.1.3 输入和输出
  10. 1.1.4 交易类型
  11. 1.1.5 找零地址
  12. 1.2 区块和区块链
  13. 1.2.1 区块结构
  14. 1.2.2 创世块
  15. 1.2.3 区块链原理
  16. 1.3 挖矿、矿池
  17. 1.3.1 挖矿原理与区块的产生
  18. 1.3.2 挖矿难度
  19. 1.3.3 矿池原理与商业模式
  20. 1.4 脚本系统
  21. 1.4.1 脚本特点
  22. 1.4.2 脚本运行过程
  23. 1.4.3 脚本操作码解读
  24. 1.4.4 脚本执行过程
  25. 1.5 合约应用案例
  26. 1.5.1 合约应用原理
  27. 1.5.2 示例1:提供押金证明
  28. 1.5.3 示例2:担保和争端调解
  29. 1.5.4 示例3:保证合约
  30. 1.5.5 示例4:使用外部状态
  31. 1.5.6 示例5:跨链交易
  32. 1.5.7 示例6:支付证明合约
  33. 1.5.8 示例7:特定对象的快速调整(微)支付
  34. 1.5.9 示例8:多方去中心化彩票
  35. 参考资料
  36. 第2章 区块链进阶
  37. 2.1 外带数据
  38. 2.1.1 OP_RETURN外带数据
  39. 2.1.2 Multi-Signatures外带数据
  40. 2.2 Counterparty
  41. 2.2.1 Counterparty附生链的实现机制详解
  42. 2.2.2 发送
  43. 2.2.3 订单
  44. 2.2.4 发行
  45. 2.2.5 广播
  46. 2.2.6 赌约
  47. 2.3 挖矿算法解析
  48. 2.3.1 PoW挖矿算法及分析
  49. 2.3.2 PoS股权证明算法及分析
  50. 2.3.3 DPoS股份授权证明算法及分析
  51. 2.4 Sidechains
  52. 2.4.1 侧链背景
  53. 2.4.2 技术原理
  54. 2.5 最新比特币技术
  55. 2.5.1 IBLT
  56. 2.5.2 隔离见证
  57. 2.5.3 闪电网络
  58. 2.5.4 RSMC
  59. 2.5.5 HTLC
  60. 参考资料
  61. 第3章 密码学基础
  62. 3.1 Hash函数
  63. 3.1.1 技术原理
  64. 3.1.2 SHA-1算法
  65. 3.1.3 SHA-2算法
  66. 3.1.4 SHA-3算法
  67. 3.1.5 RIPEMD160算法
  68. 3.2 椭圆曲线密码
  69. 3.2.1 椭圆曲线方程
  70. 3.2.2 公钥和私钥的产生算法
  71. 3.3 ECDSA数字签名
  72. 3.4 Schnorr数字签名
  73. 3.4.1 技术思想
  74. 3.4.2 Schnorr与ECDSA的异同
  75. 3.5 Bloom filter
  76. 3.5.1 技术原理
  77. 3.5.2 应用案例
  78. 第4章 比特币区块链开发
  79. 4.1 Bitcoin的编译过程
  80. 4.1.1 Ubuntu下的编译
  81. 4.1.2 Mac下的编译
  82. 4.1.3 Windows下的编译
  83. 4.2 代码剖析
  84. 4.2.1 主要模块
  85. 4.2.2 初始化和启动
  86. 4.2.3 P2P网络
  87. 4.2.4 交易和区块
  88. 4.2.5 脚本系统
  89. 4.2.6 挖矿
  90. 4.2.7 私钥
  91. 4.3 性能实战
  92. 4.3.1 建立私链
  93. 4.3.2 优化改进
  94. 4.4 API开发
  95. 4.4.1 命令行调用
  96. 4.4.2 RPC API调用接口
  97. 4.4.3 如何调用API进行开发
  98. 4.4.4 通过命令实现区块链的查询实例
  99. 第5章 以太坊智能合约开发
  100. 5.1 以太坊
  101. 5.1.1 以太坊的定义
  102. 5.1.2 下一代区块链
  103. 5.1.3 以太坊虚拟机
  104. 5.1.4 以太坊的工作原理
  105. 5.2 以太坊账户管理
  106. 5.2.1 账户
  107. 5.2.2 钥匙文件
  108. 5.2.3 创建账号
  109. 5.3 更新、备份、恢复账号
  110. 5.3.1 更新账号
  111. 5.3.2 账号备份和恢复
  112. 5.4 公有链、联盟链、私有链及网络配置
  113. 5.4.1 以太坊网络
  114. 5.4.2 公有链、私有链和联盟链
  115. 5.4.3 如何连接
  116. 5.4.4 更快地下载区块链
  117. 5.4.5 静态节点、信任节点和启动节点
  118. 5.5 搭建测试网络和私有链
  119. 5.5.1 Modern测试网
  120. 5.5.2 设置本地私有测试网
  121. 5.6 账户、交易核心概念及投注合约解析
  122. 5.6.1 外有账户与合约账户
  123. 5.6.2 什么是交易
  124. 5.6.3 什么是消息
  125. 5.6.4 什么是gas
  126. 5.6.5 估算交易成本
  127. 5.6.6 账户交互示例:投注合约
  128. 5.7 深入浅出智能合约
  129. 5.7.1 合约的定义
  130. 5.7.2 以太坊高级语言
  131. 5.7.3 写合约
  132. 5.7.4 编译合约
  133. 5.7.5 创建和部署合约
  134. 5.7.6 与合约互动
  135. 5.7.7 合约元数据
  136. 5.7.8 测试合约和交易
  137. 5.8 如何部署、调用智能合约
  138. 5.8.1 RPC
  139. 5.8.2 惯例
  140. 5.8.3 部署合约
  141. 5.8.4 和智能合约互动
  142. 5.8.5 Web3.js
  143. 5.8.6 控制台
  144. 5.8.7 查看合约与交易
  145. 5.9 智能合约案例实战
  146. 参考资料
  147. 第6章 Fabric原理和实操
  148. 6.1 超级账本项目背景
  149. 6.2 Fabric简介
  150. 6.3 系统架构
  151. 6.3.1 交易
  152. 6.3.2 区块链数据结构
  153. 6.3.3 节点
  154. 6.4 交易背书的基本流程
  155. 6.4.1 客户端创建交易后发送到它所选择的背书节点
  156. 6.4.2 背书节点模拟交易,然后生成背书签名
  157. 6.4.3 提交客户端获取交易的背书,通过排序服务广播
  158. 6.4.4 排序服务向所有节点投递交易消息
  159. 6.5 背书策略
  160. 6.5.1 背书策略规范
  161. 6.5.2 交易评估与背书策略
  162. 6.5.3 背书策略示例
  163. 6.6 验证总账(1.0版本之后的功能)和原始总账检查点(精简)
  164. 6.6.1 验证总账
  165. 6.6.2 原始总账检查点
  166. 6.7 Fabric V1.0开发者快速入门
  167. 6.7.1 前置条件和系统配置
  168. 6.7.2 下载源代码,创建Fabric网络
  169. 6.7.3 生成配置文件
  170. 6.7.4 使用Docker创建Fabric网络&创建/加入通道(账本)
  171. 6.7.5 示例合约执行过程解析
  172. 6.7.6 查看智能合约执行日志
  173. 6.7.7 手工创建和加入通道
  174. 6.7.8 使用命令行工具部署、调用、查询智能合约
  175. 6.7.9 开发环境故障排除
  176. 6.7.10 Fabric常用的Docker命令
  177. 6.8 智能合约开发
  178. 6.8.1 智能合约的定义
  179. 6.8.2 GO语言智能合约的开发和部署
  180. 6.8.3 Java智能合约的编写与部署
  181. 6.8.4 开发和提交代码
  182. 相关术语
  183. 附录A 国内区块链联盟介绍
  184. 附录B 《ChinaLedger面向中国资本市场应用的分布式总账白皮书》全文
载入中

热门划线

  1. 对智能合约的探索是出于对比特币区块链低效的脚本系统的不满,该脚本使用的是非图灵完备的堆栈语言,只能实现有限的功能。4 人
  2. 实现“程序即规则”(Code is Law)的智能环境。从图灵完备的以太坊EVM、超级账本ChainCode到Chain平台的ChainCore,研究者的目标是在有限的存储空间中设计一个完备合约语言和高效的底层虚拟机,甚至将传统开发语言(如C/C++、Java)移植到区块链上。效率和安全性的改进依然任重道远,这也是区块链领域最有技术含量的发展方向之一。2 人
  3. 金融为解决信息不对称而生2 人
  4. 。从金融化维度上看,发展主线围绕着“有中心”与“无中心”展开,哪一种业态更能解决信息对称,在不同的时空下,基于不同的金融工程技术而有不同的呈现,近400年的现代金融史正是一条从“无中心”到“有中心”再到“多中心”进而又可能回到“无中心”的演变轨迹2 人
  5. 金融业要求信息应真实、安全、准确、权属清晰,因此我们有理由相信,互联网金融下一步演绎的方向是“区块链金融”,在区块链的路径上,继续探索哪一种“中心化形态”更有利于解决信息的对称性和效率性,从而将金融业态推向一个新的高度。2 人
  6. 区块链由许多对等的节点组成,通过共识算法保证区块数据和交易数据的一致性,从而形成一个统一的分布式账本。2 人
  7. 从这个角度来说,区块链是记录价值、传递消息和价值本身转移的一个可信账本。2 人
  8. 区块链系统本身一旦运行起来,就可自行产生区块并且同步数据,无需人工参与。2 人
  9. 比特币地址是由公钥经过单向的Hash函数生成的。2 人
  10. “智能合约”这个流行的术语指的是在合约账户中编码——交易被发送给该账户时所运行的程序。2 人

喜欢这本书的人也喜欢