| 作者 |
| 杜行舟 孟繁轲 郝玉琨 |
| 丛书名 |
| 出版社 |
| 机械工业出版社* |
| ISBN |
| 9787111664338 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 《aelf区块链应用架构指南》旨在引导区块链应用开发者,基于aelf 框架构建可支撑商业应用的分布式 App。内容从分布式技术体系入手,从区块链业务建模思维方法、设计原则、技术决策和原型开发的角度,以典型的存证业务及去中心、多中心治理等场景为例,对基于 aelf 技术体系的领域分析、架构设计、性能及部署设计活动的工具方法进行阐述。具体涉及 aelf 区块链平台技术体系、智能合约及跨链资源体系、业务系统性能测评以及aelf 技术生态与治理。本书在各模块中穿插介绍了主流区块链系统的技术原理与发展历史,并详细介绍了aelf 框架的技术实现,帮助读者从不同角度、多方面地理解区块链。 《aelf区块链应用架构指南》以“理论牵引例程,技术支撑场景”为逻辑原则,在特定技术的介绍中通过概念示意图、业务模型图、数据流图等形式,结合伪代码示例及程序运行数据,指导区块链应用产品设计及DApp 软件产品的全生命周期研发。 《aelf区块链应用架构指南》的主要读者对象为分布式技术行业从业人员(包括产品经理及开发人员)、相关研究方向的高校师生等。目前,aelf 开源生态已初具规模,自aelf 框架的preview 版本发布以来,开源社区热度激增。本书编写过程获得了aelf 官方团队的大力支持,通过丰富的技术理念和完备的例程,为aelf 区块链应用开发者的技术研发工作提供了丰富的指导。 |
| 目录 |
序 前言 第1 章 分布式:从多中心到去中心【入门:概念综述】/1 1.1 传统分布式架构体系/2 1.2 基于令牌的分布式协同达成/4 1.3 现有主流区块链系统的共识机制/5 1.3.1 PoW 机制/5 1.3.2 PoS/DPoS 机制/5 1.3.3 PBFT 机制/6 1.4 分布式数据存储体系—扩展与合并/7 1.5 aelf 解决方案的亮点/10 1.5.1 技术优势/10 1.5.2 应用优势/12 第2 章 区块链思维方法【入门:理论剖析】/14 2.1 区块链技术特性:以早期方案为例/15 2.1.1 密钥对/15 2.1.2 区块/16 2.1.3 共识/17 2.1.4 开源闭源争议/18 2.2 区块链数据存储—账本与记账模式/20 2.3 区块链存证与溯源/22 2.3.1 存证、溯源的业务核心/22 2.3.2 区块链的天然优势/23 2.4 可信区块链存证业务设计:信任的技术解构/24 2.4.1 存证有效性证明/24 2.4.2 数据与哈希/25 2.5 区块链分布式业务执行/26 2.6 多中心&去中心治理:不止于分布式存储/28 2.6.1 分布式数据存储/28 2.6.2 分布式业务执行/29 2.7 业务流与资金流价值协同/30 第3 章 aelf 区块链平台架构【进阶:行业平台】/32 3.1 准备aelf 开发环境/33 3.2 额外依赖:支持aelf 源码、合约构建/36 3.2.1 Windows 构建工具/36 3.2.2 Git 安装指引/37 3.2.3 开发框架“.NET Core SDK”安装指引/37 3.2.4 ProtoBuf 依赖安装指引/38 3.3 运行aelf 节点/39 3.3.1 运行单节点/39 3.3.2 运行多节点/41 3.3.3 构建/生成并运行源码/45 3.4 运行一条aelf 侧链/49 3.5 aelf 地址系统/51 3.6 aelf 交易/52 3.7 aelf 区块架构/53 3.8 aelf 提供的Web API 说明/54 3.8.1 Blockchain 类API/55 3.8.2 反序列化类API/64 3.8.3 Net 类API/65 3.8.4 Web API 数据类型定义/67 第4 章 aelf 构建分布式原型平台【进阶:行业实例】/76 4.1 区块链浏览器API/77 4.1.1 区块浏览类API/77 4.1.2 交易浏览类API/80 4.1.3 TPS 性能记录API/83 4.2 aelf 命令行工具/85 4.2.1 命令行工具介绍/85 4.2.2 选项详细介绍/90 4.2.3 命令详细介绍/92 4.2.4 关于aelf-bridge/107 4.3 通过SDK 构建与aelf 交互的DApp/112 4.3.1 SDK 典型调用例程/113 4.3.2 SDK 对Web API 的调用/115 4.3.3 SDK 中的AElf.wallet 交互/122 4.3.4 SDK 的其他细节/124 4.4 一个可供参考的示例项目/125 4.4.1 定义业务模型/125 4.4.2 业务交易签名与发起/128 4.4.3 交易数据检索/131 第5 章 aelf 智能合约系统【高级:领域分析】/133 5.1 智能合约业务与鉴权/134 5.1.1 架构/134 5.1.2 编写与部署/135 5.1.3 调用/137 5.1.4 执行与校验/137 5.1.5 常见问题/141 5.2 aelf 智能合约架构/144 5.2.1 架构总览/144 5.2.2 链交互/145 5.2.3 运行时环境与执行/148 5.2.4 SDK/149 5.2.5 服务/149 5.2.6 事件/150 5.2.7 消息/151 5.3 开发部署aelf 合约/151 5.3.1 配置脚手架/152 5.3.2 第一个合约:实现/155 5.3.3 第一个合约:测试/164 5.3.4 第一个合约:部署/169 5.3.5 第一个合约:前端/171 5.3.6 合约上下文/175 5.3.7 内联合约调用/178 5.4 aelf 合约标准(ACS):多业务域资源隔离/182 5.4.1 ACS0:创世合约/183 5.4.2 ACS1:手续费信息/184 5.4.3 ACS2:并行资源信息/184 5.4.4 ACS3:提案与审批/184 5.4.5 ACS4:共识机制/185 5.4.6 ACS5:方法调用阈值/186 5.4.7 ACS6:随机数生成器/186 5.4.8 ACS7:跨链/186 5.4.9 ACS8:合约费用/187 5.5 C# 合约SDK/187 5.5.1 CSharpSmartContractContext/187 5.5.2 CSharpSmartContract/191 5.6 要求和限制/192 5.6.1 项目要求/192 5.6.2 架构限制与要求/193 5.6.3 命名空间与类型限制/197 5.6.4 其他限制/200 第6 章 aelf 跨链资源体系【高级:领域架构】/201 6.1 跨链交互:组织级价值分配/202 6.1.1 为什么需要跨链/202 6.1.2 跨链面临的问题/205 6.2 跨链原理与方案:分配设计/206 6.2.1 比特币框架的HTLC 方案/206 6.2.2 BTC Relay 方案与默克尔证明/208 6.3 aelf 跨链实现:分布式资源动态协同/210 6.3.1 设计思路/211 6.3.2 架构/211 6.3.3 数据流/213 6.3.4 跨链验证/214 6.4 部署aelf 侧链/215 6.4.1 编辑配置文件/216 6.4.2 启动主链节点/219 6.4.3 创建侧链提案/219 6.4.4 启动侧链节点/228 6.5 aelf 跨链价值分配的设计/228 6.5.1 跨链价值传输/228 6.5.2 创建转账/229 6.5.3 在目标链上接收转账/229 6.5.4 跨链验证交易/230 第7 章 aelf 系统优化与云部署【高级:性能设计】/233 7.1 aelf 操作系统与内核:面向底层瓶颈/234 7.2 基于aelf 的业务设计思路/235 7.3 aelf 集群化测评:打造高性能分布式系统/236 7.3.1 测评设计/237 7.3.2 测评场景定义/239 7.3.3 测评环境搭建与部署/240 7.3.4 测评结果/242 7.3.5 测评结论/246 7.4 aelf 开源贡献与DevOps/246 7.4.1 aelf 开源项目开发/246 7.4.2 aelf |