内容


IBM Blockchain 101:开发人员快速入门指南

构建一个快速入门区块链网络,并开始使用 IBM Blockchain Platform Starter Plan 进行编码

Comments

加入区块链革命!如果您打算探索用于业务用途的分布式账本技术,并希望构建一个业务区块链来进行演示、试验或预生产过渡,那么本指南非常适合您。我们现在将介绍多种入门方法,包括免费的 IBM Blockchain Platform Starter Plan 测试版。

本指南将展示如何使用 Starter Plan替代性方法,基于最新的开源 Hyperledger Fabric 框架来建立一个区块链网络。但是让我们先来了解一些与开发业务区块链网络相关的关键概念。

业务区块链概念

业务区块链网络是什么?

业务区块链网络是一个去中心化的网络,它使用分布式账本技术在网络中的成员组织之间安全高效地转移业务资产。资产可以是实体形式的,也可以是数字形式的,比如车辆、钻石、生鲜农产品或保险记录。一个共享的分布式账本可以记录网络中的参与者之间的所有资产交易的不可变历史,并对这些资产的当前状态(世界状态)进行编目。管控交易的业务规则由成员们商定并封装在链代码中,链代码也称为智能合约。

区块链网络的成员不再依靠中央权威机构或值得信赖的中介(比如银行或经纪公司)来验证交易,而是使用一种共识机制来提高整个网络的交易处理速度、透明度和责任性。为了获得额外的机密性,成员可以加入一个或多个允许数据隔离的通道;该通道内经过身份验证的对等节点共享一个特定于通道的账本。

业务区块链网络由一组可识别、可验证的机构共同拥有和运营,比如企业、大学或医院。在这样一个许可网络中,参与者相互了解,而且交易的处理速度比非许可的公有网络(比如比特币网络)快得多。在比特币网络中,成员是匿名的,这迫使他们依靠“工作证明”和其他类型的共识机制,这些机制需要通过耗时的计算来确认身份和验证交易。

需要了解更多背景?

  • 请查阅我们的分布式账本介绍
  • 学习区块链基础课程。在这门持续 2 小时的免费课程中,您将了解业务区块链,并探索该技术激发创新的关键方式。在完成这些视频和实验练习后,可以参加测验来获得一枚徽章。
  • 学习 IBM Blockchain 开发人员基础课程。这门持续 6 小时的免费课程在“区块链基础知识”的基础上进行了扩展,展示了如何建模、构建和测试业务网络,并创建一个可以查询账本的应用程序。在完成这些视频和实验练习后,可以参加测验来获得一枚徽章。

业务区块链的开源引擎:Hyperledger Fabric

为了满足现代业务需求,IBM 与其他公司合作开发了一个开源的、生产就绪的业务区块链框架,该框架名为 Hyperledger Fabric™,是 The Linux Foundation® 主办的一个 Hyperledger® 项目。Hyperledger Fabric 为各行各业在许可网络上的分布式账本解决方案提供支持。它的模块化架构最大程度地提高了区块链解决方案的机密性、灾备能力和灵活性。来自 27 个组织的 159 名工程师为 Hyperledger Fabric v1.0 做出了贡献。

深入剖析:

IBM 的企业就绪平台:IBM Blockchain Platform

IBM Blockchain Platform 是 IBM Cloud 上的一个区块链软件即服务产品。它是唯一一个全面集成的企业就绪区块链平台,是为简化去中心化的多机构业务网络的开发、治理和运营而设计的。IBM Blockchain Platform 通过利用来自 Hyperledger Fabric 框架的开源技术和 Hyperledger Composer 工具,加速这个去中心化世界中的合作。

IBM Blockchain Platform 使网络成员能够快速轻松地开始开发,并快速迁移到注重性能、隐私和安全性的协作环境中,该环境甚至适用于最严苛的用例和受监管行业。

提供不同的成员计划来满足不同的生态系统需求。您可以在一个无与伦比的安全的、高性能的、可全面扩展的网络上,从概念证明迁移到试验环境,再迁移到生产中。最新的成员计划是 Starter Plan,它被设计为用来开发和测试预生产应用程序的一种简单而又经济的入门方式。

发现 IBM Blockchain Platform:

Starter Plan 的内容

开发人员开始开发区块链的最简单、最经济的方法是使用 IBM Blockchain Platform Starter Plan,该计划目前处于测试阶段。对于正在探索区块链技术,希望构建一个业务区块链来进行演示、试验或预生产过渡的开发人员,这个开发和测试环境是一个理想选择。

任何开发者(无论是企业、初创公司、学术界、新手还是富有经验的开发者)都能体验 Starter Plan,并通过它将代码部署到一个全功能、多组织的区块链网络中。

Starter Plan 提供了一个预先配置的快速入门网络的一键式设置,该网络包含一个排序服务、一个默认通道以及两家公司。排序服务用于对共享账本的交易进行排序,默认通道用于成员公司之间的通信,两家公司分别拥有一个证书颁发机构对等节点来验证交易并提交到账本。Starter Plan 集成了所有 Hyperledger Fabric 功能和 Hyperledger Composer 开发工具集(称为 IBM Blockchain Platform: Develop),以及一个缩短网络管理和治理时间的直观 UI 的附加优势。

通过 Starter Plan,您可以:

  • 立即部署和演示样本应用程序(通过 IBM Cloud 工具链实现持续交付),并查看资产转移实践。
  • 在一个预生产过渡环境中迭代式地开发和测试您自己的应用程序和链代码。
  • 在 Swagger UI 中使用 API 与您的网络进行交互。提供网络凭证,以便能够将这些 API 集成到您自己的应用程序中。
  • 邀请其他组织加入您的网络并设置他们自己的对等节点。
  • 将其他成员组织添加到您的 IBM Cloud 帐户,以便模拟多组织交易场景。
  • 开发宝贵的网络治理和运营技能,您可以将这些技能无缝转移到 Enterprise 计划中。Starter Plan 提供了与 Enterprise 计划相同的体验,所以迁移到完全生产网络中时没有学习曲线。

您可以用 Starter Plan 的样本应用程序进行演示,并用它来开发您自己的应用程序。要自动部署和运行一个样本应用程序,只需通过 IBM Cloud 工具链来选择、部署和启动该应用程序即可。或者通过手动部署和自定义样本应用程序,了解如何逐步开发您自己的应用程序。

有多个样本应用程序可供您试验并在默认通道中运行。例如:

  • Marbles 样本应用程序以丰富多彩的形式演示了在网络上的成员将虚拟弹珠转移给其他成员时,前端应用程序会如何与链代码进行交互。该应用程序是使用 Node.js 编写的,链代码是使用 Go 编写的。
  • Vehicle Manufacture 样本既是一个 Angular Web 应用程序,也是一部教程,逐步演示了如何使用 Hyperledger Composer 建模一个简单网络来跟踪新车从订购到交付的过程。

Starter Plan 的直观 UI 可帮助您治理和监控您的网络。例如,您可以查看对等节点,向网络中添加组织,为一个成员子集创建新通道来实现数据隔离和隐私,在对等节点上安装链代码并在一个通道上将其实例化,为需要成员批准的活动设置通知。

简言之,Starter Plan 使您能够比以往更容易地获得在协作式预生产环境中开发、治理和运营业务区块链的实践经验。此外,因为同一个易用的 UI 可通过其他成员计划进行扩展,所以在迁移到生产部署时具有平缓的学习曲线。

Starter Plan 不包含的内容

Starter Plan 针对生产开发和测试入门进行了优化。它在一些方面不同于 Enterprise 计划:

  • 在 Starter Plan 中,证书颁发机构和订购服务是没有容错的。Starter Plan 网络中的每个公司仅有一个证书颁发机构,而且该网络仅有一个订购服务来负责执行 SOLO 共识。
  • 在 Starter Plan 中,无法使用 Hardware Security Module (HSM) 来保护和管理数字密钥,实现强身份验证和密码处理。
  • 在 Starter Plan 中,在(按固定时间表执行)维护和网络更新期间,您可能遇到短暂的宕机。
  • Starter Plan 无法保证会在升级版本后保留数据。 但是,您可以将 Starter Plan .bna 文件、链代码和应用程序迁移到 Enterprise 计划。

从 Starter Plan 升级

当您准备好进一步扩展您的网络,将您的网络定义、链代码和应用程序部署到附带增强了安全性和高级支持的附加层的生产环境中时,您需要一个 Enterprise 计划。

在 Enterprise 计划中,您会获得所有 Starter Plan 特性,以及一个能容忍崩溃的生产级基础架构,这个基础架构在 IBM z® 大型机上的安全云容器中运行,包含运行时/数据隔离、针对订购服务和证书颁发机构的高可用性,以及使用 HSM 卡来存储安全密钥的能力。

为什么不直接在您自己的计算机上使用开源技术?

一个本地部署的、基于 Hyperledger Fabric 框架的、使用 Hyperledger Composer 工具构建的区块链将具有极好的模拟效果。但是,如果无法访问其他成员组织,您就无法体验或测试多组织网络的可伸缩性和强大功能。此外,在本地使用开源技术需要更耐心、更灵活地进行命令行编码。

相反,通过 Starter Plan,您会获得一个可扩展的、可靠的、完全集成的 IDE,它会通过简单的单击、轻松的指令和可扩展的样本来指导您完成网络创建、部署、监控和治理。在您准备好在生产中部署一个全面的网络时,您在 Starter Plan 上开发的代码和技能很容易转移到 Enterprise 计划。

立即行动!通过 Starter Plan 开始构建您的区块链网络

现在,要了解实际的业务区块链并开始开发区块链技能应用程序,最简单、最经济的方式是注册使用 IBM Blockchain Platform Starter Plan。

  1. 注册使用 Starter Plan(免费测试版)。
  2. 您将被引导至 IBM Cloud 中的区块链目录页来启动您的 Starter Plan 网络。在该页面顶部,为您的网络填入一个服务名称。在 Pricing Plans 下,选择 Starter Membership Plan (Beta),然后单击 Create
  3. 看到欢迎屏幕时,选择开始时是要先部署样本应用程序,还是开发和部署您自己的应用程序。
  4. 如果选择 Develop apps,系统会指导您通过一系列简单步骤安装“IBM Blockchain Platform: Develop”工具,以建模您的网络定义并将其部署到 Starter Plan。Starter Plan 文档中提供了完整的细节。可以在下面预览您被引导执行的操作:
    1. 安装开发工具(npm 模块)来创建和测试您的业务网络。
    2. 创建一个目录,其中包含您需要为业务网络定义的所有组件,包括资产、参与者和交易。
    3. 通过定义资产类、参与者类、交易类、事件类和访问控制规则,对您的业务网络进行建模
    4. 将您的新业务网络打包到一个可部署的文件中,该文件称为业务网络归档 (.bna) 文件。
    5. 将 .bna 文件部署到 IBM Blockchain Platform Starter Plan 网络。部署 .bna 文件后,可以生成一个 REST 服务器并构建 RESTful API 调用,以便外部应用程序能与您的区块链网络进行交互。

或者开始使用其他选项构建您的区块链网络

如果更喜欢构建和运行一个本地网络,请参阅这些使用 Docker Compose 设置 Hyperledger Composer 和 Hyperledger Fabric 的操作说明。要获得如何将网络部署到本地的详细演示,请参阅 IBM Code pattern 构建一个区块链网络

如果想设置一个开发人员可以交互的网络,您需要一个向互联网公开的网络。要创建一个在 IBM Cloud 内的 Kubernetes 集群上运行的网络,可以按照在 Kubernetes 上设置 Hyperledger Composer 的以下 IBM Blockchain 操作说明进行操作。您还将了解如何创建一个 REST 服务器来公开 API 端点,以便开发人员能与您的区块链网络进行交互。

如果您是一个十足的开源、DIY 爱好者,而且更喜欢命令行编码,请查阅 Hyperledger.org 上有关创建 Hyperledger Fabric 网络的文档

获取帮助和支持

可通过许多方法获得支持和问题答案。

  1. 对于一般性区块链问题:
    搜索 dW Answers。浏览已问过的问题,或者提交一个新问题(包含关键词 blockchain)。
     
  2. 要获取与 IBM Blockchain Platform Starter Plan 相关的帮助:
    UI 中的 Support 部分提供了许多自助资源以及发布说明。对于软件缺陷或给定资源未涉及的问题,您会在 IBM Cloud Service Portal 中找到关于提交支持案例的操作说明。提交一个支持案例时,您会在几分钟内获得电子邮件回复。
     
  3. 对于具体的 Hyperledger Fabric 实现问题:
    Hyperledger Rocket.Chat 频道Stack Overflow 是最佳的选择。
     
  4. 要获取有关 Hyperledger 的更多帮助:
    浏览 Hyperledger 频道指南并加入适合您的问题的讨论组。

后续行动

我们希望您会尝试使用 Starter Plan,从中获得乐趣,如果您希望在其中看到任何特性,请在下面的评论部分告诉我们。

最后,我们将提供继续构建您的区块链技能的 5 种好方法:

  • 时刻关注来自 developerWorks 的区块链时事通讯。查阅最新一期订阅
     
  • 访问 developerWorks 上的区块链开发人员中心。可以在这里获得开发和部署业务区块链解决方案的工具和教程,以及代码和社区支持。
     
  • 学习面向开发人员的区块链基础课程,了解资产转移的复杂细节。学完这门持续 2 小时的免费自学课程后,参加测验,获取一枚徽章,并开始为您的业务网络规划有用的区块链应用程序。
     
  • 继续学习 IBM Blockchain 开发人员基础课程,这门持续 6 小时的免费课程在“区块链基础知识”的基础上进行了扩展,更详细地介绍了区块链业务网络的组件和架构,以及构建网络和创建应用程序的经验。
     
  • 查阅许多区块链 code pattern,它们提供了解决复杂问题的路线图,包括概述、架构图、流程、存储库指南和其他阅读材料。

评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Cloud computing
ArticleID=1060095
ArticleTitle=IBM Blockchain 101:开发人员快速入门指南
publish-date=04092018