《HYPERLEDGER区块链开发实战:利用HYPERLEDGER FABRIC和COMPOSER构建去中心化的应用》[美]尼廷・高尔(Nitin Gaur) | PDF下载|ePub下载
HYPERLEDGER区块链开发实战:利用HYPERLEDGER FABRIC和COMPOSER构建去中心化的应用 版权信息
- 出版社:机械工业出版社
- 出版时间:2023-05-01
- ISBN:9787111727569
- 条形码:9787111727569 ; 978-7-111-72756-9
HYPERLEDGER区块链开发实战:利用HYPERLEDGER FABRIC和COMPOSER构建去中心化的应用 本书特色
1.Hyperledger技术指导委员会主席Christopher Ferris作序推荐。
2.Hyperledger创始会员IBM公司组织撰写,IBM区块链实验室主任Nitin Gaur领衔。
3.开发区块链解决方案的实用指南。以真实世界的案例为模型,应用程序开发穿插
于从基础设施创建到DevOps模型以及模型驱动开发等各个步骤。
HYPERLEDGER区块链开发实战:利用HYPERLEDGER FABRIC和COMPOSER构建去中心化的应用 内容简介
区块链和Hyperledger技术是当今的热门话题。Hyperledger Fabric和Hyperledger Composer是开源项目,能够帮助组织机构创建私有的许可区块链网络,它们在金融、银行、供应链和物联网等领域都有应用。《Hyperledger区块链开发实战》将是使用Hyperledger技术探索和创建区块链网络的简单参考。本书首先概述了区块链的演变过程,包括相关区块链技术的总览。你将学习如何配置Hyperledger Fabric,并熟悉其体系结构组件。使用这些组件,你将学习构建私有区块链网络,以及连接到这些网络的应用。首先从原理开始,你将学习设计和启动一个网络,在链码中实现智能合约等。在本书的结尾,你将能够构建和部署自己的去中心化应用程序,解决区块链生命周期中遇到的关键痛点。 《Hyperledger区块链开发实战》适合IT技术人员、区块链开发人员以及高等院校区块链工程、信息安全、物联网工程等专业师生阅读。
HYPERLEDGER区块链开发实战:利用HYPERLEDGER FABRIC和COMPOSER构建去中心化的应用 目录
原书前言
作者简介
第1 章 区块链——企业和行业视角
1.1 定义名词——什么是区块链
1.2 区块链框架的4个核心构建模块
1.2.1 需要考虑的其他能力
1.3 安全事务处理协议的基础
1.4 区块链技术已经发展到什么地步,又将走向哪里
1.4.1 巨大分歧
1.4.2 区块链交付的经济学模型
1.4.3 边学边走
1.4.4 信任和责任的承诺
1.5 将区块链应用到行业
1.6 区块链在企业里的应用
1.6.1 什么应用适合引入区块链
1.6.2 企业如何看待区块链
1.6.3 检验区块链技术应用的试金石
1.6.4 为整个企业集成区块链基础设施
1.7 企业设计原则
1.7.1 业务驱动和演进
1.7.2 确保可持续性
1.7.3 推动区块链应用的原则
1.8 选择区块链框架的商业考虑
1.9 选择区块链框架的技术考虑
1.9.1 身份管理
1.9.2 可扩展性
1.9.3 企业级安全
1.9.4 开发工具
1.9.5 加密经济模型
1.9.6 具有系统治理的去中心化
1.9.7 企业支撑
1.9.8 用例驱动的可插拔的选择
1.10 企业集成和可扩展性设计
1.11 其他考虑
1.11.1 共识、ACID属性和CAP
1.11.2 认证——SSC已签名和加密
1.11.3 使用HSM
1.12 总结
第2 章 探索Hyperledger Fabric
2.1 建立在开放计算的基础上的Hyperledger
2.1.1 Hyperledger项目基础知识
2.2 Hyperledger框架、工具和构建块
2.2.1 Hyperledger框架
2.2.2 Hyperledger工具
2.2.3 区块链解决方案的构建块
2.3 Hyperledger Fabric组件设计
2.3.1 Hyperledger设计原则
2.3.2 CAP定理
2.3.3 Hyperledger Fabric参考架构
2.3.4 Hyperledger Fabric运行时架构
2.3.5 组件化设计的优势
2.4 Hyperledger Fabric:一个完整的交易示例
2.5 Hyperledger Fabric的探索
2.5.1 区块链网络中的组件
2.5.2 开发者交互
2.6 理解由区块链驱动的业务网络治理
2.6.1 治理结构与格局
2.6.2 IT治理
2.6.3 区块链网络治理
2.6.4 业务网络治理
2.7 总结
第3 章 为商业场景做准备
3.1 贸易和信用证
3.1.1 信任在促进贸易中的重要性
3.1.2 当前的信用证流程
3.2 商业场景和使用案例
3.2.1 概述
3.2.2 现实世界的处理流程
3.2.3 简化和修改后的流程
3.2.4 贸易金融和物流运输中使用的术语
3.2.5 共享过程工作流
3.2.6 共享资产和数据
3.2.7 参与者的角色和能力
3.2.8 区块链应用对现实世界处理流程的好处
3.3 设置开发环境
3.3.1 设计一个网络
3.3.2 安装前提
3.3.3 创建分支和克隆trade-finance-logistics仓库
3.3.4 创建和运行网络配置
3.4 网络组件的配置文件
3.5 启动一个示例交易网络
3.6 总结
第4 章 利用Golang设计一个数据和交易模型
4.1 开始开发链码
4.1.1 编译和运行链码
4.1.2 安装和实例化链码
4.1.3 调用链码
4.2 创建一个链码
4.2.1 链码接口
4.2.2 建立链码文件
4.3 访问控制
4.3.1 ABAC(基于属性的访问控制)
4.4 实现链码函数
4.4.1 定义链码资产
4.4.2 编写链码函数
4.4.3 创建资产
4.4.4 读取和修改资产
4.4.5 主函数
4.5 测试链码
4.5.1 SHIM模拟
4.6 链码设计主题
4.6.1 复合键
4.6.2 批量查询
4.6.3 状态查询和CouchDB
4.6.4 索引
4.6.5 读集和写集
4.6.6 多版本并发控制
4.7 日志输出
4.7.1 配置
4.7.2 日志API
4.7.3 SHIM日志级别
4.7.4 stdout和stderr
4.7.5 附加SHIM API函数
4.8 总结
第5 章 公开网络资产和交易
5.1 构建完整的应用程序
5.1.1 Hyperledger Fabric应用程序的特性
5.1.2 构建应用程序
5.1.3 中间件——封装和驱动链码
5.1.4 用户应用程序——导出服务和API
5.2 与现有系统和流程的集成
5.2.1 设计考虑
5.2.2 去中心化
5.2.3 流程联合
5.2.4 服务发现
5.2.5 身份映射
5.2.6 集成设计模式
5.2.7 关于可靠性、可用性和可服务性的思考
5.3 总结
第6 章 业务网络
6.1 一个充满目的性活动的忙碌世界
6.1.1 为什么业务网络需要一种语言
6.2 定义业务网络
6.2.1 更深层次的想法
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.4.5 资产生命周期
6.4.6 通过交易详细描述资产的生命周期
6.5 介绍交易
6.5.1 变化是一个基本概念
6.5.2 业务定义和实例
6.5.3 隐式和显式交易
6.5.4 合约的重要性
6.5.5 签名
6.5.6 用于多方处理的智能合约
6.5.7 数字交易处理
6.5.8 发起交易
6.5.9 交易历史
6.5.10 交易流
6.5.11 将交易分成不同的业务网络
6.5.12 交易历史和资产状态
6.5.13 作为交易历史的业务网络
6.5.14 监管机构和业务网络
6.6 从使用Composer设计业务网络的角度讨论事件
6.6.1 一个普适的概念
6.6.2 消息中包含事件通知
6.6.3 举例说明事件结构
6.6.4 事件和交易
6.6.5 外部与显性事件
6.6.6 事件导致参与者采取行动
6.6.7 松耦合的设计
6.6.8 事件的作用
6.7 实现一个业务网络
6.7.1 去物化的重要性
6.7.2 区块链对B2B和EDI有益
6.7.3 与区块链互动的参与者
6.7.4 使用API访问业务网络
6.7.5 3层系统架构
6.7.6 Hyperledger Fabric和Hyperledger Composer
6.8 总结
第7 章 一个业务网络实例
7.1 信用证实例
7.1.1 安装例子
7.1.2 运行实例
7.1.3 回顾流程
7.2 分析信用证的过程
7.2.1 练习场
7.2.2 查看业务网络
7.3 业务网络的描述
7.3.1 参与者描述
7.3.2 资产描述
7.3.3 交易描述
7.3.4 事件描述
7.4 业务网络模型
7.4.1 命名空间
7.4.2 枚举
7.4.3 资产定义
7.4.4 参与者定义
7.4.5 概念定义
7.4.6 交易定义
7.4.7 事件定义
7.5 测试在线业务网络
7.5.1 验证信用证实例
7.5.2 验证参与者实例
7.5.3 验证交易实例
7.5.4 向业务网络中提交一个新的交易
7.5.5 理解交易是如何实现的
7.6 创建业务网络API
7.6.1 SWAGGER API定义
7.6.2 使用SWAGGER查询网络
7.6.3 从命令行测试网络
7.6.4 使用SWAGGER创建一个新的信用证
7.6.5 网络名片和钱包
7.6.6 访问控制列表
7.7 总结
第8 章 区块链网络中的敏捷性
8.1 定义升级流程
8.1.1 智能合约的考虑
8.1.2 集成层的考虑
8.1.3 升级流程概览
8.2 配置持续集成流水线
8.2.1 定制流水线流程
8.2.2 发布智能合约包
8.3 配置Git代码库
8.3.1 设置智能合约的代码所有者
8.3.2 保护主分支
8.3.3 配置Git以进行提交签名和验证
8.4 测试端到端流程
8.4.1 创建一笔新的交易
8.4.2 添加测试用例
8.4.3 发布新版本
8.5 更新网络
8.5.1 通知联盟
8.5.2 升级业务网络
8.6 总结
第9 章 区块链网络中的生活
9.1 修改或升级Hyperledger Fabric应用程序
9.1.1 Fabric区块链和应用程序生存周期
9.1.2 通道配置更新
9.1.3 智能合约和策略更新
9.1.4 升级平台
9.2 系统监控和性能
9.2.1 测量和分析
9.2.2 应该在Fabric应用程序中测量或理解什么
9.2.3 Fabric应用程序中的测量和数据收集
9.2.4 Fabric工程性能指南
9.3 总结
第10 章 治理—管制行业不可避免的弊端
10.1 去中心化和治理
10.2 探索商业模型
10.2.1 区块链的好处
10.2.2 从好处到利润
10.2.3 网络商业模型
10.3 业务网络中治理的作用
10.4 商业领域与流程
10.4.1 成员生命周期
10.4.2 资金与费用
10.4.3 规则
10.4.4 教育
10.4.5 服务生命周期
10.4.6 争论
10.5 治理架构
10.5.1 中心化的治理
10.5.2 去中心化的治理
10.6 治理和IT 解决方案
10.6.1 管理网络加入流程
10.7 总结
第11 章 Hyperledger Fabric的安全性
11.1 Hyperledger Fabric的设计目标影响安全性
11.2 Hyperledger Fabric的架构
11.2.1 Fabric CA或成员服务提供商
11.2.2 对等节点
11.2.3 智能合约或链码
11.2.4 账本
11.2.5 私有数据
11.2.6 排序服务
11.3 网络引导和治理是迈向安全的步
11.3.1 创建网络
11.3.2 添加新成员
11.3.3 部署和更新链码
11.3.4 数据模型
11.4 强身份——Hyperledger Fabric网络安全的关键
11.4.1 引导Fabric CA
11.4.2 在Fabric CA中管理用户的实际考虑因素
11.5 链码的安全性
11.5.1 如何与其他背书模块的节点共享链码
11.5.2 谁可以安装链码
11.5.3 链码加密
11.5.4 基于属性的访问控制
11.6 常见威胁以及Hyperledger Fabric如何减轻它们
11.6.1 Hyperledger Fabric中的交易隐私
11.7 Hyperledger Fabric和量子计算
11.8 通用数据保护条例(GDPR)的考虑因素
11.9 总结
第12 章 区块链的未来和挑战
12.1 主要的Hyperledger项目概要
12.1.1 Hyperledger框架——业务区块链技术
12.1.2 Hyperledger工具
12.2 区块链未来的道路
12.2.1 解决分歧——企业区块链和加密资产驱动的生态系统
12.2.2 互操作性——理解业务服务集成
12.2.3 区块链解决方案的可伸缩性和经济可行性
12.3 与Hyperledger区块链保持联系
12.4 总结
HYPERLEDGER区块链开发实战:利用HYPERLEDGER FABRIC和COMPOSER构建去中心化的应用 作者简介
Nitin Gaur是IBM公司区块链实验室主任,负责围绕区块链技术和行业特定应用建立
知识体系和组织化的理解。他坚忍不拔且以客户为中心,以分析机会和创造符合运营需求的技术、快速上升的盈利能力和显著改善客户体验的能力而闻名。他还是IBM公司杰出工程师。
Luc Desrosiers是IBM公司认证的IT架构师,拥有20多年的经验。在他的整个职业生涯中,担任过不同的角色:开发人员、顾问和售前架构师。他近从加拿大搬到英国,在一个很棒的实验室工作:IBM Hursley。这是他有机会加入IBM公司区块链团队的地方。他现在与多个行业的客户合作,帮助他们探索区块链技术如何实现变革性的用途并提供解决方案。
Venkatraman Ramakrishna是拥有10年经验的IBM公司研究员。在获得印度理工学Nitin Gaur是IBM公司区块链实验室主任,负责围绕区块链技术和行业特定应用建立
知识体系和组织化的理解。他坚忍不拔且以客户为中心,以分析机会和创造符合运营需求的技术、快速上升的盈利能力和显著改善客户体验的能力而闻名。他还是IBM公司杰出工程师。
Luc Desrosiers是IBM公司认证的IT架构师,拥有20多年的经验。在他的整个职业生涯中,担任过不同的角色:开发人员、顾问和售前架构师。他近从加拿大搬到英国,在一个很棒的实验室工作:IBM Hursley。这是他有机会加入IBM公司区块链团队的地方。他现在与多个行业的客户合作,帮助他们探索区块链技术如何实现变革性的用途并提供解决方案。
Venkatraman Ramakrishna是拥有10年经验的IBM公司研究员。在获得印度理工学
院克勒格布尔分校的技术学士学位和加州大学洛杉矶分校的博士学位之后,他在微软公司的Bing基础架构团队工作,构建可靠的应用程序部署软件。在加入区块链团队之前,他在IBM公司研究院从事移动计算和安全方面的工作。他开发了贸易和监管应用程序,现在致力于提高Hyperledger平台的性能和隐私保护特性。
Petr Novotny是IBM公司研究院的研究科学家,在软件系统工程和研究方面拥有超过
15年的经验。他获得了伦敦大学学院的理学硕士学位和伦敦帝国理工学院的博士学位,同时也是一名博士后研究员。他是美国陆军研究实验室的访问科学家。在IBM公司,他致力于区块链技术的创新工作,并领导区块链解决方案和分析工具的开发。
Salman A. Baset博士是IBM 公司区块链解决方案的安全CTO。他负责监督IBM公司
与沃尔玛和马士基等合作伙伴合作构建的区块链解决方案的安全性和合规性,并就区块链解决方案及其安全性与客户进行交流。他推动了针对基于区块链的解决方案的通用数据保护条例的实施。他还建立了身份管理系统,供参与全球贸易数字化的财富500 强公司使用,并开发IBM Food Trust区块链解决方案。
Anthony O′Dowd在IBM公司区块链团队工作。他常驻欧洲,是全球团队的一员,该
团队帮助用户构建受益于区块链技术的解决方案。Anthony拥有中后台系统方面的背景,并领导了企业消息传递和集成领域关键IBM 中间件的开发。他喜欢在不同的行业工作,以了解他们如何利用中间件来构建更高效的集成业务系统。