书 名: | 区块链技术指南 |
图书定价: | 69元 |
作 者: | 邹均 |
出 版 社: | 机械工业出版社 |
出版日期: | 2016-11-01 |
ISBN 号: | 9787111553564 |
开 本: | 16开 |
页 数: | 0 |
版 次: | 1-1 |
邹均:中关村区块链产业联盟专家、服务合约(Service Contract)方向博士,关注与实践区块链技术与应用。擅长云计算、大数据、软件定义存储。现为海纳云CTO,曾任IBM澳洲金融行业首席软件架构师、多个云计算公司管,是融智北京端外国专家。在会议期刊发表论文20余篇,获2015年澳中校友会ICT和媒体类别杰出校友奖,区块链相关论文获2016年IEEE ICWS佳博士论文奖。 张海宁:VMware中国研发中心云原生应用首席架构师,西蒙弗雷泽大学计算机科学硕士,多年软件全栈开发经验,Harbor企业级容器Registry开源项目负责人,Cloud Foundry中国社区早的技术布道师之一,国内早的iOS开发者。在VMware公司先后负责开源PaaS平台Cloud Foundry、大数据虚拟化、软件定义存储VSAN等领域的技术布道和解决方案推广。目前着重关注区块链、容器和云计算等领域的研究和开发工作。之前曾担任IBM软件工程师、Sun公司解决方案架构师等职务。 唐屹:广州大学教授、理学博士,专注于区块链与应用、网络信息、分布式计算等,为国外知名公司开发过椭圆曲线密码软件,获密码科技进步二等奖(省部级)。主持或参与完成多项或省部级自然科学基金与人才计划等重点项目。 李磊:合肥工业大学副教授,Macquarie大学博士。擅长数据挖掘、社会计算、智能计算。获2011年澳洲优博士论文提名,并多次担任IEEE会议的程序委员会委员及组织者。在社会计算和区块链等领域发表论文40余篇,被引用350余次。 刘天喜:深圳拓邦股份有限公司总经理助理,工程师、北京大学博士。在移动通信、集成电路、移动互联网、物联网等领域深耕多年,擅长技术产业研究、行业分析和战略规划,主导或参与中国工程院、网信办、工信部、国资委等十余项产业研究课题。发表学术论文10余篇。 陈晖:区块链PPk开源项目发起人和主要开发者、巴比特网站专栏作者与区块链技术版版主。对网络与通信技术有深入实践与研究,十余年的软件研发和项目管理经验。通过深度实践以比特币为代表的数字加密货币领域,率先提出“区块链+网络通信”将大化发挥区块链性价值的观点,并着力以开放开源项目的形式推动区块链与网络通信领域融合的技术创新和应用发展。 曲烈:Macquarie大学博士,曾任Macquarie大学研究员、助教。从事信息、密码学、区块链、服务计算以及信息等领域的研究。多次在知名会议和期刊发表论文,并受邀宣讲。 郑晓明:中国电信云计算分公司工程师、Macquarie大学博士,专注于云计算、云存储、监控、、模式识别等,近期研究区块链相关技术。 |
区块链专家联袂,区块链践行者联合撰写,从技术层面全面揭示区块链技术秘密。涵盖基础概念、架构、底层算法、应用开发、典型的区块链解决方案、常见问题等读者*为关心的技术与应用。 本书分为三大部分,共计11章内容。 部分为基础和入门(第1~2章),着重是区块链入门介绍,并讲解区块链基础,包括区块链的概念、种类、比特币交易、区块链的一些基础概念等,为后面深入介绍区块链技术做铺垫。 第二部分为架构和技术篇(第3~10章):详细讲解了以下方面。 区块链1.0/2.0/3.0架构,以及互联链架构属性与特点剖析,做到宏观理解与认识。 区块链基于的密码学原理和典型的算法,了解区块链开发之道。 区块链中常用的共识算法与作用,了解区块链价值传递与弱中心化之基石。 比特币开发指南,帮助初学者入门。 以太坊上的智能合约开发要领,为以后应用打下基础。 HyperLedger开源项目及其架构,掌握主流的项目与应用。 区块链上常见的问题,包括TheDAO攻击的源码级分析。 典型解决方案:以闪电网络为主的支付方案;以标识登记为主的开源ODIN解决方案。 第三部分为回顾和展望(第11章),从架构变革的角度探讨IT发展的原动力,并提供对区块链对未来IT发展的一些展望。 |
本书作者 序一:什么是区块链 序二:区块链——未来已来,只是尚未流行 序三:区块链——连接虚拟与现实 序四:区块链——转型之擎 前言 第1章 区块链和比特币初体验 / 1 1.1 区块链简介 / 1 1.1.1 区块链起源——比特币 / 1 1.1.2 区块链和区块链技术的涵义 / 2 1.1.3 区块链分类 / 2 1.1.4 区块链价值与应用 / 7 1.2 区块链体验 / 10 1.2.1 获取比特币的3种途径 / 11 1.2.2 通过交易所购买比特币 / 13 1.2.3 比特币钱包和地址 / 17 1.2.4 从交易平台提取比特币到钱包 / 20 1.2.5 比特币交易查询 / 22 1.3 本章小结 / 22 第2章 区块链基础 / 24 2.1 区块链技术 / 24 2.1.1 基本概念 / 25 2.1.2 框架与特点 / 32 2.1.3 区块链运作的核心技术 / 35 2.1.4 区块链交易流程 / 41 2.2 以太坊 / 42 2.2.1 什么是以太坊 / 42 2.2.2 以太坊技术 / 43 2.2.3 以太坊智能合约 / 48 2.2.4 以太坊的去中心化应用 / 50 2.3 基于区块链的电子货币 / 51 2.3.1 元币平台 / 51 2.3.2 代币 / 52 2.3.3 货币的未来 / 58 2.4 本章小结 / 58 第3章 区块链架构剖析 / 59 3.1 基本定义 / 59 3.2 区块链1.0架构:比特币区块链 / 61 3.2.1 比特币前端 / 63 3.2.2 比特币节点后端 / 66 3.3 区块链2.0架构:以太坊区块链 / 79 3.4 区块链3.0架构:货币、金融范围的区块链应用 / 87 3.5 互联链架构剖析 / 90 3.5.1 互联链背景 / 90 3.5.2 互联账本 / 91 3.5.3 互联账本协议组 / 92 3.5.4 互联账本各层协议关系 / 95 3.6 本章小结 / 96 第4章 区块链中的密码学技术 / 97 4.1 哈希算法 / 97 4.1.1 哈希函数的性质与应用 / 99 4.1.2 哈希指针链 / 101 4.2 Merkle树 / 102 4.3 公钥密码算法 / 103 4.3.1 椭圆曲线密码算法 / 104 4.3.2 secp256k1椭圆曲线 / 105 4.3.3 椭圆曲线签名与验证签名 / 106 4.4 本章小结 / 107 第5章 共识算法详解 / 109 5.1 拜占庭容错技术 / 109 5.1.1 拜占庭将军问题 / 110 5.1.2 拜占庭容错 / 112 5.1.3 实用的拜占庭容错 / 112 5.1.4 Raft协议 / 114 5.2 PoW机制 / 116 5.3 制 / 122 5.4 D制 / 123 5.5 Ripple共识算法 / 124 5.6 小蚁共识机制 / 126 5.7 本章小结 / 127 第6章 比特币应用开发指南 / 129 6.1 以虚拟机方式搭建应用开发环境 / 129 6.1.1 下载和安装Oracle VM VirtualBox / 129 6.1.2 以虚拟机方式安装Ubuntu14.04 / 133 6.1.3 安装Node.js开发环境 / 138 6.1.4 安装Docker运行环境 / 138 6.1.5 安装和运行比特币测试网络 / 139 6.1.6 运行个示例程序 / 141 6.2 把握比特币“交易”数据结构 / 145 6.2.1 了解比特币的“交易”数据结构 / 145 6.2.2 交易记录的实例解析 / 146 6.2.3 运行示例程序 / 148 6.3 实战:多重签名交易 / 153 6.3.1 将ODIN标识注册到区块链上的实例解析 / 153 6.3.2 运行示例程序 / 156 6.4 本章小结 / 157 第7章 智能合约 / 158 7.1 智能合约简介 / 158 7.1.1 什么是智能合约 / 158 7.1.2 智能合约的历史 / 159 7.1.3 智能合约的优点和面临的 / 160 7.2 以太坊智能合约详解 / 161 7.2.1 以太坊上的账户 / 161 7.2.2 以太币和Gas / 166 7.2.3 合约和交易 / 167 7.3 以太坊虚拟机 / 170 7.4 实例:在以太坊上开发实施智能合约 / 173 7.4.1 通过以太坊钱包部署智能合约 / 173 7.4.2 通过控制台部署智能合约 / 179 7.5 本章小结 / 183 第8章 账本项目 / 184 8.1 账本项目简介 / 184 8.1.1 项目背景 / 184 8.1.2 项目管理形式 / 185 8.1.3 项目的生命周期管理 / 186 8.1.4 项目发展状况 / 187 8.2 Fabric项目 / 187 8.2.1 项目概述 / 187 8.2.2 应用场景 / 188 8.2.3 项目架构 / 189 8.2.4 部署方式 / 191 8.2.5 交易的执行 / 192 8.3 Sawtooth Lake项目 / 193 8.3.1 项目概述 / 194 8.3.2 项目架构 / 194 8.4 本章小结 / 196 第9章 区块链常见问题 / 197 9.1 钱包的性问题 / 197 9.2 加密货币的交易方式 / 199 9.3 匿名性和隐私性 / 201 9.4 矿池算力集中的问题 / 203 9.5 51%攻击问题 / 205 9.6 去中心化的自治组织 / 207 9.6.1 去中心化的自治组织简介 / 207 9.6.2 The DAO项目 / 208 9.6.3 代码漏洞分析 / 210 9.6.4 解决方案 / 213 9.6.5 软分叉和硬分叉的影响 / 215 9.6.6 重放攻击 / 216 9.7 本章小结 / 219 第10章 区块链应用案例分析 / 220 10.1 闪电网络 / 220 10.1.1 闪电网络简介 / 220 10.1.2 支付通道的创建 / 221 10.1.3 支付通道的更新 / 223 10.1.4 支付网络的构建 / 223 10.1.5 支付通道的关闭 / 225 10.1.6 小结 / 226 10.2 ODIN:用区块链来替代DNS / 226 10.2.1 ODIN简介 / 227 10.2.2 实现功能 / 228 10.2.3 主要特点 / 229 10.2.4 ODIN标识编码格式 / 229 10.2.5 ODIN标识技术规范 / 232 10.2.6 使用示例 / 233 10.2.7 开放资源 / 234 10.2.8 问题与思考 / 234 10.3 本章小结 / 236 第11章 从架构变革看IT时代的演进 / 237 11.1 架构心得 / 237 11.1.1 架构和技术的关系 / 237 11.1.2 关于计算的观察 / 238 11.1.3 架构创新的神奇力量 / 238 11.1.4 冯·诺依曼架构 / 239 11.1.5 哈佛体系架构 / 240 11.1.6 有影响力架构的特点 / 240 11.1.7 从非生物计算到非生物智能 / 241 11.2 架构创新——IT发展源源不断的动力 / 242 11.2.1 大中型机时代 / 243 11.2.2 开放时代的到来 / 243 11.2.3 客户端/服务端(CS)分布式时代 / 243 11.2.4 互联网时代 / 244 11.2.5 云计算、大数据时代 / 246 11.2.6 互联网+时代 / 250 11.2.7 区块链+时代 / 252 11.3 未来展望 / 254 |
书 名: | 区块链开发指南 |
图书定价: | 59元 |
作 者: | 申屠青春 |
出 版 社: | 机械工业出版社 |
出版日期: | 2017-06-01 |
ISBN 号: | 9787111571209 |
开 本: | 16开 |
页 数: | 0 |
版 次: | 1-1 |
序一 区块链的价值实现 序二 区块链,推动金融代际跃升的新力量 序三 区块链技术的现实和未来 前言 第1章 区块链基础 1 1.1 交易和交易链 2 1.1.1 比特币地址 3 1.1.2 交易的本质 3 1.1.3 输入和输出 5 1.1.4 交易类型 5 1.1.5 找零地址 6 1.2 区块和区块链 8 1.2.1 区块结构 8 1.2.2 创世块 10 1.2.3 区块链原理 13 1.3 挖矿、矿池 14 1.3.1 挖矿原理与区块的产生 14 1.3.2 挖矿难度 16 1.3.3 矿池原理与商业模式 18 1.4 脚本 19 1.4.1 脚本特点 20 1.4.2 脚本运行过程 24 1.4.3 脚本操作码解读 25 1.4.4 脚本执行过程 26 1.5 合约应用案例 27 1.5.1 合约应用原理 28 1.5.2 示例1:提供押金证明 29 1.5.3 示例2:担保和争端调解 30 1.5.4 示例3:保证合约 30 1.5.5 示例4:使用外部状态 32 1.5.6 示例5:跨链交易 34 1.5.7 示例6:支付证明合约 35 1.5.8 示例7:特定对象的快速调整(微)支付 36 1.5.9 示例8:多方去中心化彩票 37 参考资料 37 第2章 区块链进阶 39 2.1 外带数据 39 2.1.1 OP_RETURN外带数据 39 2.1.2 Multi-Signatures外带数据 40 2.2 Counterparty 40 2.2.1 Counterparty附生链的实现机制详解 41 2.2.2 发送 41 2.2.3 订单 42 2.2.4 发行 42 2.2.5 广播 43 2.2.6 赌约 43 2.3 挖矿算法解析 43 2.3.1 PoW挖矿算法及分析 43 2.3.2 PoS股权证明算法及分析 44 2.3.3 DPoS股份授权证明算法及分析 45 2.4 Sidechains 45 2.4.1 侧链背景 45 2.4.2 技术原理 46 2.5 新比特币技术 49 2.5.1 IBLT 49 2.5.2 隔离见证 50 2.5.3 闪电网络 51 2.5.4 RSMC 51 2.5.5 HTLC 52 参考资料 53 第3章 密码学基础 54 3.1 Hash函数 54 3.1.1 技术原理 54 3.1.2 SHA-1算法 55 3.1.3 SHA-2算法 57 3.1.4 SHA-3算法 64 3.1.5 RIPEMD160算法 65 3.2 椭圆曲线密码 66 3.2.1 椭圆曲线方程 67 3.2.2 公钥和私钥的产生算法 68 3.3 ECDSA数字签名 69 3.4 Schnorr数字签名 70 3.4.1 技术思想 70 3.4.2 Schnorr与ECDSA的异同 70 3.5 Bloom filter 71 3.5.1 技术原理 71 3.5.2 应用案例 72 第4章 比特币区块链开发 74 4.1 Bitcoin的编译过程 74 4.1.1 Ubuntu下的编译 74 4.1.2 Mac下的编译 75 4.1.3 Windows下的编译 76 4.2 代码剖析 77 4.2.1 主要模块 77 4.2.2 初始化和启动 79 4.2.3 P2P网络 80 4.2.4 交易和区块 89 4.2.5 脚本 89 4.2.6 挖矿 91 4.2.7 私钥 92 4.3 性能实战 93 4.3.1 建立私链 93 4.3.2 优化改进 96 4.4 API开发 97 4.4.1 命令行调用 97 4.4.2 RPC API调用接口 100 4.4.3 如何调用API进行开发 103 4.4.4 通过命令实现区块链的查询实例 103 第5章 以太坊智能合约开发 109 5.1 以太坊 109 5.1.1 以太坊的定义 109 5.1.2 下一代区块链 109 5.1.3 以太坊虚拟机 110 5.1.4 以太坊的工作原理 110 5.2 以太坊账户管理 111 5.2.1 账户 111 5.2.2 钥匙文件 112 5.2.3 创建账号 112 5.3 更新、备份、恢复账号 115 5.3.1 更新账号 115 5.3.2 账号备份和恢复 116 5.4 公有链、联盟链、私有链及网络配置 117 5.4.1 以太坊网络 117 5.4.2 公有链、私有链和联盟链 117 5.4.3 如何连接 118 5.4.4 更快地下载区块链 119 5.4.5 静态节点、信任节点和启动节点 120 5.5 搭建测试网络和私有链 121 5.5.1 Modern测试网 121 5.5.2 设置本地私有测试网 121 5.6 账户、交易核心概念及投注合约解析 125 5.6.1 外有账户与合约账户 125 5.6.2 什么是交易 126 5.6.3 什么是消息 126 5.6.4 什么是gas 126 5.6.5 估算交易成本 127 5.6.6 账户交互示例:投注合约 128 5.7 深入浅出智能合约 131 5.7.1 合约的定义 131 5.7.2 以太坊语言 131 5.7.3 写合约 131 5.7.4 编译合约 132 5.7.5 创建和部署合约 134 5.7.6 与合约互动 135 5.7.7 合约元数据 136 5.7.8 测试合约和交易 137 5.8 如何部署、调用智能合约 138 5.8.1 RPC 138 5.8.2 惯例 138 5.8.3 部署合约 139 5.8.4 和智能合约互动 141 5.8.5 Web3.js 142 5.8.6 控制台 143 5.8.7 查看合约与交易 143 5.9 智能合约案例实战 143 参考资料 146 第6章 Fabric原理和实操 147 6.1 账本项目背景 147 6.2 Fabric简介 149 6.3 架构 150 6.3.1 交易 150 6.3.2 区块链数据结构 150 6.3.3 节点 151 6.4 交易背书的基本流程 155 6.4.1 客户端创建交易后发送到它所选择的背书节点 156 6.4.2 背书节点模拟交易,然后生成背书签名 157 6.4.3 提交客户端获取交易的背书,通过排序服务广播 158 6.4.4 排序服务向所有节点投递交易消息 158 6.5 背书策略 159 6.5.1 背书策略规范 159 6.5.2 交易评估与背书策略 159 6.5.3 背书策略示例 160 6.6 验证总账(1.0版本之后的功能)和原始总账检查点(精简) 160 6.6.1 验证总账 160 6.6.2 原始总账检查点 161 6.7 Fabric V1.0开发者快速入门 163 6.7.1 前置条件和配置 163 6.7.2 下载源代码,创建Fabric网络 164 6.7.3 生成配置文件 164 6.7.4 使用Docker创建Fabric网络&创建/加入通道(账本) 165 6.7.5 示例合约执行过程解析 165 6.7.6 查看智能合约执行日志 166 6.7.7 手工创建和加入通道 166 6.7.8 使用命令行工具部署、调用、查询智能合约 167 6.7.9 开发环境故障排除 168 6.7.10 Fabric常用的Docker命令 168 6.8 智能合约开发 169 6.8.1 智能合约的定义 169 6.8.2 GO语言智能合约的开发和部署 169 6.8.3 Java智能合约的编写与部署 174 6.8.4 开发和提交代码 180 相关术语 182 附录A 国内区块链联盟介绍 184 附录B 《ChinaLedger面向中国资本市场应用的分布式总账白皮书》全文 201 |
书 名: | node.js区块链开发 |
图书定价: | 59元 |
作 者: | 朱志文 |
出 版 社: | 机械工业出版社 |
出版日期: | 2017-05-01 |
ISBN 号: | 9787111566953 |
开 本: | 16开 |
页 数: | 0 |
版 次: | 1-1 |
朱志文(网名imfly),区块链技术专家,全栈开发工程师,亿书(Ebookchain)等多个开源项目的核心开发者,中国区块链俱乐部主创者和发起人,区块链技术的狂热布道者,CSDN区块链知识库特邀编辑、博客专家,多个区块链项目的专家顾问和天使投资人。你可以在亿书官网找到他。 |
本书力图用*少的篇幅表述丰富的内容,共分为五个部分,20多个章节,具体结构如下。 部分:了解区块链,共4章。详细讲述了区块链产品——加密货币的相关概念,用独特的技术视角,把加密货币的基本技术要素串联起来。 第二部分:Node.js入门指南,共4章。详细介绍了Node.js入门知识,并通过一个具体项目,完成对Node.js在区块链技术领域的调查和描述,整个章节也是项目架构设计的调研和技术选型阶段,是本书*一个完整的实践范例。 第三部分:源码解读,共9章。从架构设计的角度,层层剖析区块链的设计原理,深刻解读相关概念和技术。先从项目设计的角度详细介绍了亿书白皮书的核心内容,然后从项目入口程序出发,介绍了亿书项目的整体结构;之后分别介绍了P2P网络、加密解密、签名和多重签名、区块链、共识机制等区块链核心内容及其代码实现。 第四部分:开发实践,共9章。主要是对第二和第三部分的有益补充,把在这两个部分出现的技术难点抽取出来,集中介绍。仍然以亿书项目中涉及的实际项目为主,包含多个完整独立的小项目,其中涉及函数式编程等编程方法论、aysnc的用法、命令行工具的开发、亿书官方网站的开发、密码学技术、时间戳和数据计算,以及测试技术。 第五部分:附录。汇总了区块链的相关概念、常见词汇的中英文对照等内容。 |
序一 序二 序三 前言 部分 了解区块链 第1章 加密货币就是货币 2 1.1 加密货币简史 2 1.2 什么是加密货币 3 1.3 加密货币就是货币 4 1.4 加密货币可靠吗 4 1.5 总结 6 1.6 参考 6 第2章 区块链,承载人类信用的基石 7 2.1 利益,现实的内在驱动力 7 2.2 信用,决定着利益转移的方向 7 2.3 未来趋势 9 2.4 应用场景 9 2.5 提示 11 2.6 总结 12 2.7 参考 12 第3章 共识机制,可编程的利益转移规则 13 3.1 机制,左右产品走向的根源 13 3.2 PoW:工作量证明机制 14 3.3 PoS:股权证明机制 15 3.4 DPoS:授权股权证明机制 16 3.5 亿书对D制的改进 17 3.6 总结 17 3.7 参考 18 第4章 区块链架构设计 19 4.1 基本概念 19 4.2 架构图 20 4.3 协议层 20 4.4 扩展层 22 4.5 应用层 22 4.6 编程实现 23 4.7 知识图谱 25 4.8 总结 26 4.9 参考 27 第二部分 Node.js入门指南 第5章 Node.js在币圈流行么 30 5.1 Node.js在开源社区很流行 30 5.2 Node.js在币圈也同样流行 32 5.2.1 Github自带搜索 32 5.2.2 自制查询工具 32 5.3 Github上前10个应用的简介 34 5.4 结论 36 5.5 总结 36 5.6 参考 36 第6章 Node.js让前端开发像飞一样 37 6.1 项目需求 37 6.2 技术选型 37 6.3 Node.js简介 38 6.4 开发步骤 39 6.4.1 搭建环境 39 6.4.2 新建工程 40 6.4.3 前端组件 40 6.4.4 前端流程 42 6.4.5 学习API 43 6.4.6 数据整理 44 6.4.7 D3.js渲染 46 6.4.8 代码调试 48 6.4.9 部署发布 48 6.5 总结 51 6.6 参考 51 第7章 Node.js让后台开发像前端一样简单 53 7.1 需求 53 7.2 开发 54 7.2.1 安装Express 54 7.2.2 创建简单应用 54 7.2.3 使用模板引擎 55 7.2.4 使用静态文件服务 55 7.2.5 后台请求Github API 56 7.2.6 模块化重构 57 7.2.7 测试和部署 61 7.3 总结 61 7.4 参考 62 第8章 你必须知道的几个Node.js编码习惯 63 8.1 都是数据流 63 8.2 事事皆回调 65 8.3 异常要捕捉 67 8.4 总结 72 8.5 参考 73 第三部分 源码解读 第9章 亿书,一个面向未来的自出版平台 76 9.1 亿书是什么 76 9.2 使用场景 76 9.3 主要特点 77 9.4 核心功能 77 9.5 技术架构 78 9.6 总结 79 9.7 参考 79 第10章 入口程序app.js解读 80 10.1 源码与类图 80 10.2 解读 80 10.2.1 配置处理 80 10.2.2 异常捕捉 82 10.2.3 模块加载 83 10.3 总结 86 第11章 一个精巧的P2P网络实现 88 11.1 源码、类图与流程图 88 11.2 解读 89 11.2.1 路由扩展 89 11.2.2 节点路由 92 11.2.3 节点保存 94 11.3 总结 98 11.4 参考 98 第12章 加密和验证 99 12.1 源码、类图与流程图 99 12.2 概念 101 12.2.1 私钥和公钥 101 12.2.2 加密货币地址 101 12.2.3 加密过程 101 12.2.4 验证过程 102 12.3 实践 102 12.4 总结 104 12.5 参考 104 第13章 地址 105 13.1 源码、类图与流程图 105 13.2 解读 105 13.2.1 公共API 107 13.2.2 Hash地址 109 13.2.3 别名地址 110 13.2.4 注册用户名 111 13.2.5 联系人列表 113 13.3 总结 115 13.4 参考 115 第14章 签名和多重签名 116 14.1 源码 116 14.2 解读 116 14.2.1 签名 116 14.2.2 多重签名 120 14.3 总结 125 第15章 交易 126 15.1 源码与类图 126 15.2 解读 128 15.2.1 交易的本质 128 15.2.2 交易的生命周期 129 15.2.3 亿书的交易类型 129 15.2.4 交易的基本流程 130 15.2.5 转账交易分析 136 15.3 总结 141 15.4 参考 141 第16章 区块链 142 16.1 源码、类图与流程图 142 16.2 解读 143 16.2.1 区块链是什么 143 16.2.2 区块链的特点 147 16.2.3 区块链开发应该解决的问题 148 16.2.4 亿书区块链数据库设计 148 16.2.5 亿书区块链的实现 149 16.3 总结 162 16.4 参考 163 第17章 D制 164 17.1 源码与类图 164 17.2 受托人数据库表 165 17.3 解读 167 17.3.1 拜占庭将军问题 167 17.3.2 亿书D制概述 169 17.3.3 注册受托人 170 17.3.4 投票 170 17.3.5 块(时段)周期 170 17.3.6 受托人(循环)周期 172 17.3.7 奖励周期 174 17.4 总结 176 17.5 参考 176 第四部分 开发实践 第18章 函数式编程入门经典 178 18.1 什么是函数式编程 178 18.1.1 面向对象的编码方式 179 18.1.2 函数式编程的方式 179 18.1.3 函数式编程的延伸 180 18.2 函数式编程的优势 181 18.3 函数式编程的基本原则 181 18.3.1 直接把函数赋值给变量 182 18.3.2 使用普适的方式命名 182 18.3.3 避免依赖外部变量 183 18.3.4 面对this值时,小心加小心 184 18.4 怎样进行函数式编程 184 18.4.1 柯里化:动态产生新函数 184 18.4.2 组合:自由组合新函数 186 18.4.3 注释:签名函数的行为和目的 187 18.4.4 容器:处理控制流、异常、异步和状态的独立模块 189 18.4.5 数据验证仿函数 191 18.4.6 处理仿函数 191 18.4.7 异步处理仿函数 194 18.4.8 嵌套处理仿函数 195 18.5 总结 197 18.6 参考 198 第19章 轻松从文件生成UML类图 199 19.1 工具简要介绍 199 19.2 能从中学点什么 201 19.3 关于抽象语法树 201 19.4 工具实现过程 202 19.4.1 基本需求 202 19.4.2 架构流程和代码结构 203 19.5 总结 204 19.6 参考 204 第20章 命令行开发介绍 205 20.1 commander 205 20.2 概念定义 205 20.3 用法介绍 206 20.4 案例分析 208 20.5 总结 209 20.6 参考 209 第21章 一张图学会使用async组件进行异步流程控制 210 21.1 概念定义 211 21.2 流程类别 211 21.3 用法分类 212 21.4 脑图 213 21.5 总结 215 21.6 参考 215 第22章 静态网站开发全景扫描 216 22.1 亿书官网介绍 216 22.1.1 资源信息 216 22.1.2 功能特点 217 22.2 静态网站开发方案 218 22.3 与Ember.js的“前仇旧恨” 218 22.4 理解Ember.js几个让人迷乱的深“坑” 219 22.4.1 什么是前端框架 219 22.4.2 一定要使用它的命令行工具Ember-cli 219 22.4.3 在浏览器上安装使用Ember-inspector插件 219 22.4.4 Ember.js提倡的MVC模型里没有了VC 220 22.4.5 有了组件,自然就没了全局模板layout和局部模板partial 220 22.4.6 玩转Ember.js的必经之路 220 22.4.7 学会插件开发,把现成的插件装进Ember.js里 221 22.5 总结 222 22.6 参考 222 第23章 开发通用的HTML组件 223 23.1 插件简介 224 23.2 概念解读 225 23.3 开发过程 226 23.3.1 插件的基本情况 226 23.3.2 插件的工程结构 227 23.3.3 插件的开发设计 229 23.3.4 加载第三方库 231 23.3.5 测试插件 232 23.3.6 蓝图模板 233 23.3.7 辅助工具 234 23.4 Ember.js的钩子方法介绍 235 23.4.1 contentFor钩子方法 235 23.4.2 写入命令行 235 23.4.3 其他钩子方法 236 23.5 总结 236 23.6 参考 236 第24章 三张图让你全面掌握加密解密技术 237 24.1 密码学纵览 237 24.2 场景与算法 237 24.3 Node.js中的加密和解密、签名和认证 237 24.4 趣味实践 241 24.4.1 场景 241 24.4.2 需求 241 24.4.3 方案 241 24.4.4 编码 241 24.5 参考 243 第25章 在时间和数据计算方面应该注意的问题 244 25.1 时间戳处理问题 244 25.1.1 问题再现 244 25.1.2 时间戳的重要性 245 25.1.3 不同产品对时间处理的需求 245 25.1.4 时间处理的基本原理 245 25.1.5 语言的Date对象 246 25.1.6 实践 247 25.2 数据计算处理问题 248 25.2.1 问题再现 248 25.2.2 答案 249 25.3 参考 249 第26章 测试 251 26.1 概念解释 251 26.2 框架流程 252 26.3 测试框架与库介绍 252 26.4 实践 253 26.5 总结 257 26.6 参考 257 第五部分 附录 附录A 区块链相关术语 260 附录B 区块链相关名词 273 附录C 关于区块链俱乐部 280 后记 282 |
以实践为基础,从技术角度研究了区块链的设计与实现,从代码层面详细剖析了使用Node.js开发区块链的技巧与*佳实践。 围绕区块链、Node.js前后端开发、密码学、P2P网络、共识算法等进行全面深入的讲解,帮助读者更深刻地理解Node.js区块链开发! |
书 名: | 区块链原理、设计与应用 |
图书定价: | 89元 |
作 者: | 杨保华;陈昌 |
出 版 社: | 机械工业出版社 |
出版日期: | 2017-08-01 |
ISBN 号: | 9787111577829 |
开 本: | 16开 |
页 数: | 0 |
版 次: | 1-1 |
序 言 前 言 理 论 篇 第1章 区块链思想的诞生 2 1.1 从实体货币到数字货币 2 1.2 站在巨人的肩膀上 5 1.3 了不起的社会学实验 5 1.4 潜在的商业价值 7 1.5 本章小结 8 第2章 核心技术概览 9 2.1 定义与原理 9 2.2 技术的演化与分类 11 2.3 关*问题和挑战 13 2.4 趋势与展望 17 2.5 认识上的误区 19 2.6 本章小结 19 第3章 典型应用场景 20 3.1 应用场景概览 20 3.2 金融服务 22 3.2.1 银行业金融管理 22 3.2.2 证券交易 24 3.2.3 众筹投资 25 3.3 征信和权属管理 26 3.4 资源共享 28 3.5 贸易管理 29 3.6 物联网 30 3.7 其他场景 31 3.8 本章小结 33 第4章 分布式核心问题 34 4.1 一致性问题 34 4.1.1 定义与重要性 34 4.1.2 问题与挑战 35 4.1.3 一致性要求 36 4.1.4 带约束的一致性 36 4.2 共识算法 37 4.2.1 问题与挑战 38 4.2.2 常见算法 38 4.2.3 理论界限 38 4.3 FLP 不可能原理 39 4.3.1 定义 39 4.3.2 正确理解 39 4.4 CAP 原理 40 4.4.1 定义 40 4.4.2 应用场景 41 4.5 ACID 原则 41 4.6 Paxos 算法与 Raft 算法 42 4.6.1 Paxos 算法 42 4.6.2 Raft 算法 45 4.7 拜占庭问题与算法 45 4.8 可靠性指标 48 4.8.1 几个 9 的指标 48 4.8.2 两个核心时间 49 4.8.3 提可靠性 49 4.9 本章小结 49 第5章 密码学与技术 50 5.1 Hash 算法与数字摘要 50 5.1.1 Hash定义 50 5.1.2 常见算法 51 5.1.3 性能 51 5.1.4 数字摘要 52 5.1.5 Hash 攻击与防护 52 5.2 加解密算法 52 5.2.1 加解密基本组成 53 5.2.2 对称加密算法 53 5.2.3 非对称加密算法 54 5.2.4 选择明文攻击 55 5.2.5 混合加密机制 56 5.2.6 离散对数与 Diffie–Hellman密钥交换协议 57 5.3 消息认证码与数字签名 57 5.3.1 消息认证码 58 5.3.2 数字签名 58 5.3.3 性 59 5.4 数字证书 59 5.4.1 X.509 证书规范 60 5.4.2 证书格式 61 5.4.3 证书信任链 62 5.5 PKI 体系 63 5.5.1 PKI 基本组件 63 5.5.2 证书的签发 63 5.5.3 证书的撤销 66 5.6 Merkle树结构 66 5.7 布隆过滤器 67 5.8 同态加密 68 5.9 其他问题 70 5.10 本章小结 71 第6章 比特币——区块链思想诞生的摇篮 72 6.1 比特币项目简介 72 6.1.1 比特币大事记 73 6.1.2 其他数字货币 74 6.2 原理和设计 75 6.2.1 基本交易过程 75 6.2.2 重要概念 76 6.2.3 创新设计 78 6.3 挖矿 80 6.3.1 基本原理 80 6.3.2 挖矿过程 81 6.3.3 如何看待挖矿 81 6.4 共识机制 82 6.4.1 工作量证明 82 6.4.2 权益证明 83 6.5 闪电网络 83 6.6 侧链 85 6.6.1 SPV 证明 85 6.6.2 双向挂钩 86 6.6.3 新进展 87 6.7 热点问题 87 6.7.1 设计中的权衡 87 6.7.2 分叉 87 6.7.3 交易延展性 88 6.7.4 扩容之争 89 6.7.5 比特币的监管和追踪 90 6.8 相关工具 91 6.9 本章小结 92 第7章 以太坊——挣脱数字货币的枷锁 93 7.1 以太坊项目简介 93 7.1.1 以太坊项目简史 94 7.1.2 主要特点 95 7.2 核心概念 95 7.3 主要设计 97 7.3.1 智能合约相关设计 97 7.3.2 交易模型 97 7.3.3 共识 97 7.3.4 降低攻击 98 7.3.5 提扩展性 98 7.4 相关工具 98 7.4.1 客户端和开发库 98 7.4.2 以太坊钱包 99 7.4.3 IDE 100 7.4.4 网站资源 100 7.5 安装客户端 100 7.5.1 从 PPA 直接安装 100 7.5.2 从源码编译 101 7.6 使用智能合约 102 7.6.1 搭建测区块链 102 7.6.2 创建和编译智能合约 104 7.6.3 部署智能合约 105 7.6.4 调用智能合约 106 7.7 智能合约案例:投票 106 7.7.1 智能合约代码 107 7.7.2 代码解析 109 7.8 本章小结 111 第8章 账本——面向企业的分布式账本 112 8.1 账本项目简介 112 8.2 社区组织结构 114 8.2.1 基本结构 114 8.2.2 大中华区技术工作组 114 8.3 项目介绍 115 8.3.1 Fabric 项目 116 8.3.2 Sawtooth 项目 117 8.3.3 Iroha 项目 117 8.3.4 Blockchain Explorer 项目 117 8.3.5 Cello 项目 118 8.3.6 Indy 项目 118 8.3.7 Composer 项目 118 8.3.8 Burrow 项目 119 8.4 开发工具 119 8.4.1 Linux Foundation ID 119 8.4.2 Jira——任务和进度管理 119 8.4.3 Gerrit——代码仓库和 Review管理 120 8.4.4 RocketChat——在线沟通 121 8.5 贡献代码 121 8.6 本章小结 126 实 践 篇 第9章 账本 Fabric 部署和使用 128 9.1 简介 128 9.2 本地编译安装 129 9.2.1 操作 130 9.2.2 环境配置 130 9.2.3 获取代码 131 9.2.4 编译安装 fabric-peer 组件 131 9.2.5 编译安装 fabric-orderer 组件 132 9.2.6 编译安装 fabric-ca 组件 133 9.2.7 编译安装辅助工具 133 9.2.8 获取 chaintool 133 9.2.9 安装Go语言相关工具 134 9.2.10 示例配置 134 9.3 使用 Docker 镜像 134 9.3.1 安装 Docker 服务 134 9.3.2 安装 docker-compose 135 9.3.3 获取 Docker 镜像 135 9.3.4 镜像 Dockerfile 138 9.4 启动 Fabric 网络 143 9.4.1 网络拓扑 143 9.4.2 准备相关配置文件 144 9.4.3 启动 Orderer 节点 150 9.4.4 启动 Peer 节点 151 9.4.5 操作网络 152 9.4.6 基于容器方式 156 9.5 链码的概念与使用 157 9.5.1 链码操作命令 158 9.5.2 命令参数 158 9.5.3 安装链码 159 9.5.4 实例化链码 162 9.5.5 调用链码 165 9.5.6 查询链码 167 9.5.7 升级链码 168 9.5.8 打包链码和签名 169 9.6 使用多通道 170 9.6.1 通道操作命令 170 9.6.2 命令选项 171 9.6.3 创建通道 172 9.6.4 加入通道 174 9.6.5 列出所加入的通道 175 9.6.6 获取某区块 176 9.6.7 更新通道配置 177 9.7 SDK 支持 178 9.8 生产环境注意事项 179 9.9 本章小结 181 第10章 账本 Fabric 配置管理 182 10.1 简介 182 10.1.1 配置文件 182 10.1.2 配置管理工具 183 10.2 Peer 配置剖析 183 10.2.1 logging部分 184 10.2.2 peer部分 184 10.2.3 vm部分 188 10.2.4 chaincode部分 189 10.2.5 ledger部分 190 10.3 Orderer 配置剖析 191 10.4 cryptogen 生成组织身份配置 194 10.4.1 配置文件 195 10.4.2 子命令和参数 196 10.4.3 生成密钥和证书文件 196 10.4.4 查看配置模板信息 198 10.5 configtxgen 生成通道配置 199 10.5.1 configtx.yaml配置文件 199 10.5.2 命令选项 203 10.5.3 生成Orderer初始区块并进行查看 203 10.5.4 生成新建通道交易文件并进行查看 211 10.5.5 生成锚节点更新交易文件 215 10.6 configtxlator 转换配置 215 10.6.1 RESTful接口 215 10.6.2 解码为Json格式 216 10.6.3 编码为二进制格式 217 10.6.4 计算配置更新量 217 10.6.5 更新通道配置 218 10.7 本章小结 219 第11章 账本 Fabric CA 应用与配置 220 11.1 简介 220 11.2 安装服务端和客户端 221 11.2.1 本地编译 221 11.2.2 获取和使用Docker镜像 223 11.2.3 示例Dockerfile 223 11.3 启动 CA 服务 225 11.4 服务端命令剖析 228 11.4.1 全局命令参数 228 11.4.2 init命令 230 11.4.3 start命令 230 11.5 服务端配置文件解析 231 11.6 与服务端进行交互 235 11.7 客户端命令剖析 237 11.7.1 全局命令参数 237 11.7.2 enroll命令 239 11.7.3 getcacert命令 240 11.7.4 reenroll命令 241 11.7.5 register命令 241 11.7.6 revoke命令 242 11.8 客户端配置文件解析 243 11.9 生产环境部署 245 11.10 本章小结 247 第12章 账本 Fabric 架构与设计 248 12.1 整体架构概览 248 12.1.1 核心特性 248 12.1.2 整体架构 249 12.1.3 典型工作流程 249 12.2 核心概念与组件 251 12.2.1 网络层相关组件 252 12.2.2 共识相关组件 254 12.2.3 权限管理相关组件 255 12.2.4 业务层相关组件 257 12.3 gRPC 消息协议 262 12.3.1 Envelope消息结构 262 12.3.2 客户端访问Peer节点 263 12.3.3 客户端、Peer节点访问Orderer 265 12.3.4 链码容器和Peer节点之间的操作 265 12.3.5 多个节点之间的操作 266 12.4 权限管理和策略 267 12.4.1 策略应用场景 267 12.4.2 身份证书 268 12.4.3 权限策略的实现 268 12.4.4 通道策略 272 12.4.5 背书策略 273 12.4.6 实例化策略 273 12.5 用户链码 274 12.5.1 基本结构 274 12.5.2 链码与Peer的交互过程 275 12.5.3 链码处理状态机 277 12.6 链码 279 12.7 排序服务 281 12.7.1 gRPC服务接口 282 12.7.2 链和账本管理 283 12.7.3 通道配置更新 284 12.7.4 共识插件 286 12.8 本章小结 288 第13章 区块链应用开发 290 13.1 简介 290 13.2 链码的原理、接口与结构 292 13.2.1 Chaincode接口 292 13.2.2 链码结构 293 13.2.3 链码基本工作原理 294 13.3 链码开发 API 295 13.3.1 账本状态交互API 296 13.3.2 交易信息相关API 296 13.3.3 参数读取API 297 13.3.4 其他API 297 13.4 应用开发案例一:转账 298 13.4.1 链码结构 298 13.4.2 Init方法 299 13.4.3 Invoke方法 300 13.5 应用开发案例二:资产权属管理 301 13.5.1 链码结构 301 13.5.2 Invoke方法 303 13.6 应用开发案例三:调用其他链码 312 13.7 应用开发案例四:发送事件 313 13.8 开发佳实践小结 314 13.9 本章小结 316 第14章 区块链服务平台设计 317 14.1 简介 317 14.1.1 参考架构 318 14.1.2 考量指标 318 14.2 IBM Bluemix 云区块链服务 319 14.3 微软 Azure 云区块链服务 321 14.4 使用账本 Cello 搭建区块链服务 324 14.4.1 基本架构和特性 324 14.4.2 环境准备 325 14.4.3 下载Cello源码 325 14.4.4 配置Worker节点 325 14.4.5 配置Master节点 326 14.4.6 使用Cello管理区块链 327 14.4.7 基于Cello进行功能扩展 330 14.5 本章小结 330 附 录 附录A 术语表 334 附录B 常见问题解答 338 附录C Golang 开发相关 342 附录D ProtoBuf 与 gRPC 349 附录E 参考资源 353 |
书 名: | 白话区块链 |
图书定价: | 59元 |
作 者: | 蒋勇;文延;嘉文 |
出 版 社: | 机械工业出版社 |
出版日期: | 2017-11-01 |
ISBN 号: | 9787111582984 |
开 本: | 16开 |
页 数: | 0 |
版 次: | 1-1 |
韩璐,毕业于北京工业大学计算机科学与技术,现任大型金融机构信息架构师,深度参与互联网金融信息建设,对手机银行、网上银行等金融交易设计富于经验。从2014年开始关注区块链和数字货币,具有数字货币交易经验,同时也热衷于研究学习区块链技术原理,结合现任工作方向思考比特币、以太坊、零币等区块链技术特点及优势,也曾参与区块链相关项目。她是一个区块链及数字货币的爱好者,也是去中心化思想的支持者。 |
技术审校 前言 第1章 初识区块链 1 1.1 例说区块链 1 1.1.1 从一本账本说起 1 1.1.2 区块链技术理念 3 1.1.3 一般工作流程 4 1.2 区块链技术栈 5 1.3 区块链分类与架构 10 1.3.1 区块链架构 10 1.3.2 区块链分类 13 1.4 源自比特币 16 1.4.1 比特币技术论文介绍 16 1.4.2 比特币核心程序:中本聪客户端 18 1.4.3 比特币的发行:挖矿 30 1.4.4 比特币钱包:核心钱包与轻钱包 35 1.4.5 比特币账户模型:UTXO 39 1.4.6 动手编译比特币源码 41 1.5 区块链的技术意义 48 1.6 知识点导图 51 第2章 区块链应用发展 53 2.1 比特币及其朋友圈:加密数字货币 53 2.1.1 以太坊 54 2.1.2 比特币现金 56 2.1.3 莱特币 57 2.1.4 零币 57 2.1.5 数字货币发展总结 59 2.2 区块链扩展应用:智能合约 61 2.2.1 比特币中包含的合约思想 61 2.2.2 以太坊中图灵完备的合约支持 62 2.3 交易结算 62 2.3.1 银行结算清算 62 2.3.2 瑞波 :开放支付网络 64 2.4 IPFS:星际文件 65 2.5 公证防伪溯源 66 2.6 供应链金融 70 2.7 区块链基础设施:可编程社会 74 2.8 链内资产与链外资产 76 2.9 知识点导图 77 第3章 区块链骨骼:密码算法 79 3.1 哈希算法 79 3.1.1 什么是哈希计算 79 3.1.2 哈希算法的种类 80 3.1.3 区块链中的哈希算法 81 3.2 公开密钥算法 83 3.2.1 两把钥匙:公钥和私钥 83 3.2.2 RSA算法 84 3.2.3 椭圆曲线密码算法 85 3.3 编码/解码算法 86 3.3.1 Base64 87 3.3.2 Base58 88 3.3.3 Base58Check 89 3.4 应用场景 90 3.5 知识点导图 91 第4章 区块链灵魂:共识算法 92 4.1 分布式的一致性 92 4.1.1 一致性问题 93 4.1.2 两个原理:FLP与CAP 94 4.1.3 拜占庭将军问题 95 4.1.4 共识算法的目的 96 4.2 Paxos算法 98 4.3 Raft算法 99 4.4 PBFT算法 101 4.5 工作量证明——PoW 102 4.6 股权权益证明——PoS 104 4.7 委托权益人证明机制——DPoS 104 4.8 共识算法的社会学探讨 106 4.9 知识点导图 107 第5章 区块链扩展:扩容、侧链和闪电网络 108 5.1 比特币区块扩容 108 5.2 侧链技术 113 5.3 闪电网络的设计 116 5.4 多链:区块链应用的扩展交互 121 5.5 知识点导图 122 第6章 区块链开发平台:以太坊 123 6.1 项目介绍 123 6.1.1 项目背景 123 6.1.2 以太坊组成 125 6.1.3 关*概念 127 6.1.4 官方钱包使用 143 6.2 以太坊应用 151 6.2.1 测试链与私链 151 6.2.2 编写一个代币合约 158 6.3 知识点导图 164 第7章 区块链开发平台:账本 166 7.1 项目介绍 166 7.1.1 项目背景 166 7.1.2 项目组成 167 7.2 Fabric项目 169 7.2.1 Fabric基本运行分析 169 7.2.2 Fabric安装 170 7.3 Fabric示例 173 7.3.1 部署准备 173 7.3.2 启动Fabric网络 178 7.3.3 Fabric智能合约 180 7.3.4 Fabric部署总结 187 7.4 知识点导图 187 第8章 动手做个实验:搭建微链 189 8.1 微链是什么 189 8.2 开发环境准备 190 8.3 设计一个简单的结构 191 8.4 源码解析 193 8.4.1 目录结构 193 8.4.2 代码之旅 194 8.5 微链实验的注意问题 214 8.6 知识点导图 214 第9章 潜在的问题 216 9.1 两个哭泣的婴儿:软分叉与硬分叉 217 9.2 达摩克利斯剑:51%攻击 220 9.3 简单的代价:轻钱包的易攻击性 222 9.4 忘了保险箱密码:私钥丢失 223 9.5 重放攻击:交易延展性 225 9.6 代码漏洞:智能合约之殇 227 9.6.1 说说TheDAO事件 227 9.6.2 Parity多重签名漏洞 228 9.7 网络拥堵:大量交易的确认 229 9.8 容量贪吃蛇:不断增长的区块数据 231 9.9 知识点导图 232 后记 区块链与可编程社会 234 |
书 名: | 区块链项目开发指南 |
图书定价: | 59元 |
作 者: | (印度)纳拉扬·普鲁斯蒂(Narayan Prusty) |
出 版 社: | 机械工业出版社 |
出版日期: | 2018-01-01 |
ISBN 号: | 9787111584001 |
开 本: | 16开 |
页 数: | 0 |
版 次: | 1-1 |
译者序 前言 第1章 去中心化应用1 1.1 什么是DApp1 1.1.1 去中心化应用的优点2 1.1.2 去中心化应用的缺点3 1.2 去中心化自治组织3 1.3 DApp中的用户身份4 1.4 DApp中的用户账户5 1.5 访问中心化应用6 1.6 DApp中的内部货币6 1.7 什么是授权的DApp7 1.8 热门的DApp7 1.8.1 比特币7 1.8.2 以太坊9 1.8.3 账本项目9 1.8.4 IPFS10 1.8.5 Namecoin11 1.8.6 达世币12 1.8.7 BigChainDB14 1.8.8 OpenBazaar14 1.8.9 Ripple14 1.9 总结16 第2章 以太坊的工作原理17 2.1 以太坊概览17 2.2 以太坊账户18 2.3 交易18 2.4 共识19 2.5 时间戳20 2.6 随机数21 2.7 区块时间21 2.8 分叉24 2.9 创世区块24 2.10 以太币面值24 2.11 以太坊虚拟机25 2.12 gas25 2.13 发现对等节点26 2.14 Whisper和Swarm27 2.15 geth27 2.15.1 安装geth28 2.15.2 JSON-RPC和操作台28 2.15.3 子命令和选项29 2.15.4 创建账户29 2.16 以太坊钱包31 2.17 浏览器钱包31 2.18 以太坊的缺点32 2.19 serenity33 2.20 总结35 第3章 编写智能合约36 3.1 Solidity源文件36 3.2 智能合约的结构37 3.3 数据位置38 3.4 什么是不同的数据类型39 3.4.1 数组类型39 3.4.2 字符串类型40 3.4.3 结构类型41 3.4.4 枚举类型42 3.4.5 mapping类型42 3.4.6 delete操作符43 3.4.7 基本类型之间的转换44 3.4.8 使用var44 3.5 控制结构45 3.6 用new操作符创建合约46 3.7 异常46 3.8 外部函数调用46 3.9 合约功能48 3.9.1 可见性48 3.9.2 函数修改器50 3.9.3 回退函数51 3.9.4 继承52 3.10 库54 3.11 返回多值56 3.12 导入其他Solidity源文件57 3.13 全局可用变量57 3.13.1 区块和交易属性57 3.13.2 地址类型相关58 3.13.3 合约相关58 3.14 以太币单位58 3.15 存在、真实性和所有权合约的证明59 3.16 编译和部署合约60 3.17 总结62 第4章 开始使用web3.js63 4.1 web3.js概述63 4.1.1 导入web3.js64 4.1.2 连接至节点64 4.1.3 API结构65 4.1.4 BigNumber.js66 4.1.5 单位转换66 4.1.6 检索gas价格、余额和交易细节67 4.1.7 发送以太币68 4.1.8 处理合约69 4.1.9 检索和合约事件71 4.2 为所有权合约创建客户端73 4.2.1 项目结构74 4.2.2 创建后端74 4.2.3 创建前端76 4.2.4 测试客户端80 4.3 总结82 第5章 创建钱包服务83 5.1 在线钱包和离线钱包的区别83 5.2 Hooked-Web3-Provider和EthereumJS-tx库84 5.3 分层确定性钱包87 5.4 密钥衍生函数87 5.5 LightWallet88 5.6 创建钱包服务89 5.6.1 必要条件89 5.6.2 项目结构90 5.6.3 创建后端90 5.6.4 创建前端91 5.6.5 测试97 5.7 总结101 第6章 创建智能合约部署平台102 6.1 计算一个地址的交易nonce102 6.2 solcjs概述104 6.2.1 安装solcjs104 6.2.2 solcjs API104 6.3 创建合约部署平台107 6.3.1 项目结构108 6.3.2 创建后端108 6.3.3 创建前端113 6.3.4 测试117 6.4 总结118 第7章 创建投注App119 7.1 Oraclize概述119 7.1.1 Oraclize的工作原理120 7.1.2 数据源120 7.1.3 真实性证明121 7.1.4 定价122 7.1.5 开始使用Oraclize API123 7.1.6 加密查询127 7.1.7 Oraclize Web IDE128 7.2 处理字符串128 7.3 创建投注合约130 7.4 为投注合约创建客户端133 7.4.1 项目结构133 7.4.2 创建后端134 7.4.3 创建前端135 7.4.4 测试客户端143 7.5 总结147 第8章 创建企业级智能合约148 8.1 探索ethereumjs-testrpc148 8.1.1 安装和使用149 8.1.2 可用RPC方法151 8.2 什么是事件主题153 8.3 开始使用truffle-contract154 8.3.1 安装和导入truffle-contract155 8.3.2 建立测试环境156 8.3.3 truffle-contract API156 8.4 truffle概述163 8.4.1 安装truffle163 8.4.2 初始化 truffle163 8.4.3 编译合约165 8.4.4 配置文件165 8.4.5 部署合约166 8.4.6 单元测试合约169 8.4.7 包管理175 8.4.8 使用truffle的操作台178 8.4.9 在truffle环境中运行外部脚本179 8.4.10 truffle的创建管线179 8.4.11 truffle的服务器端186 8.5 总结187 第9章 创建联盟区块链188 9.1 什么是联盟区块链189 9.2 什么是证明共识189 9.3 parity概述189 9.3.1 Aura的工作原理190 9.3.2 运行parity191 9.3.3 创建私有网络192 9.3.4 许可和隐私197 9.4 总结198 |
评分
评分
评分
评分
评分
评分
评分
评分
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等,本站所有链接都为正版商品购买链接。
© 2025 windowsfront.com All Rights Reserved. 静流书站 版权所有