本文由 Oliver Rodriguez 和 Indran Naick 共同编写。


您一定读过和听到过区块链的大量信息,而且可能已经了解它为什么意义重大。现在您可能想知道最好从何处入手开展实践活动,以及从何处可以找到入门资源。区块链网络中有许多角色,本文将分享我的一些经验。

假设您对 Hyperledger Fabric 很感兴趣。如果您感兴趣的是不同的区块链平台,本文或许不适合您。但是,如果您关注的是 Hyperledger Fabric,请继续阅读。

如果您是一个操作员、区块链开发人员,甚至是应用程序开发人员,而且您想要了解如何开始使用 Hyperledger Fabric,那么本文应该对您很有帮助。请记住,可从许多方面开始学习区块链,本文只是其中的一种方法。

在本文中,我们将介绍一些不同的角色:

  • 网络操作员:希望创建并运行他们的第一个网络。一旦创建并运行网络后,区块链开发人员就可以部署智能合约。
  • 区块链开发人员:开发智能合约,将它们部署到正在运行的网络中,并对网络如何运行有实际经验。
  • 应用程序开发人员:编写与区块链通信的应用程序;想要将该应用程序与现有的区块链网络相集成。

本文不会进行实际教学;只打算为您提供一些可以帮助您了解如何开始使用区块链的资源。全球有许多资源,众所周知,资源的绝对数量可能就是问题所在。我们会尽量提供我们发现的最有用的资源,也欢迎您提供不同的建议 – 请在评论区分享您最爱的资源!

面向网络操作员的区块链

对于那些关心底层 Hyperledger Fabric 网络的创建和管理的人来说,下面的资源将帮助您创建并运行您的第一个 Hyperledger Fabric 网络。但在我们提供资源列表之前,让我们复习一下 Hyperledger Fabric 网络知识,以便了解我们正在设置的是什么。总体来讲,有 4 个主要组件:

  • 对等节点:执行传入的事务并将更改提交到账本的区块链网络节点。每个对等节点都有账本的一个副本。
  • 渠道:一组对等节点,所有这些节点都有相同的账本副本。账本依据提交的事务进行更新。
  • 证书颁发机构:为区块链网络上的参与者颁发和撤销身份的实体。
  • 排序服务:此服务收集渠道上的所有事务,按时间顺序组织它们,并将它们发送给对等节点,以便将它们提交到账本。

有关这些组件的更完整的介绍,请查阅这篇关于区块链架构的演示。

您需要问自己的下一个问题是“该网络将部署到何处?”。无论您是想要可以本地运行的自己的网络,还是想要对互联网公开的云中的某个开发环境,下面这些资源都可以帮助您创建并运行您的第一个网络:

  • 如果您更喜欢在本地构建并运行自己的网络,请查阅这些使用 Docker Compose 设置 Hyperledger Composer 和 Hyperledger Fabric 的操作说明。如果您想要获得将网络部署到本地的详细说明,请参阅 IBM Code Pattern 构建区块链网络。
  • 如果想建立一个开发人员可以交互的网络,您需要一个对互联网公开的网络。您可以按照 GitHub 上的 IBM 区块链指令,创建一个在 IBM Cloud 内 Kubernetes 集群上运行的区块链网络。这些操作说明不仅将向您展示如何在 Kubernetes 上获得 Hyperledger Composer,还将展示如何创建一个 REST 服务器来公开 API 端点,使开发人员能够与您的区块链网络进行交互。
  • 如果您想要勇敢尝试,请参阅关于创建 Hyperledger Fabric 网络的文档。

恭喜您!如果您已按照其中一篇指南进行操作,那么您应该已经拥有自己的 Hyperledger Fabric 和 Hyperledger Composer 实例。很容易,不是吗?

面向区块链开发人员的区块链

作为开发人员,您可能想立即进行编程。通常在区块链解决方案中,开发人员负责创建在 Hyperledger Fabric 上运行的逻辑,还要创建将事务提交到区块链网络的客户端应用程序。本节将介绍帮助您开始编写在 Hyperledger Fabric 上运行的逻辑的资源。如果您已掌握这些资源,在本节结束时,您应该能够创建一个可部署到区块链网络的业务网络定义。

  • 要开始为区块链开发业务网络,最简单的方法是使用 Hyperledger Composer。Hyperledger Composer 使您能够轻松地创建业务网络定义,以便在您的 Hyperledger Fabric 网络上使用它们。这些业务网络定义将定义在区块链网络上运行的资产、参与者和事务。要获取更完整的介绍,请查阅 Hyperledger Composer 文档。
  • 已经知道 Hyperledger Composer 是什么,想直接开始编程?您很幸运,有一个在线沙箱允许您尝试编写业务网络定义。或者,如果您想了解如何在 Hyperledger Composer 上创建第一个业务网络定义,请参阅这篇有用的教程。
  • 开始创建业务网络定义时,如果您需要帮助了解文件语法,请参阅 Hyperledger Composer 参考指南 。
  • 如果您想详细了解如何创建业务网络定义,请参阅 IBM Code Pattern 创建并执行区块链智能合约。

如果一切顺利,您现在应该在为拥有使用 Hyperledger Composer 构建的业务网络定义而感到自豪。如果您特别喜欢冒险,甚至可以将业务网络部署到正在运行的 Hyperledger Fabric 实例中,比如您设置网络操作员部分时创建的实例。

面向应用程序开发人员的区块链

如果开发人员想要编写应用程序来与现有区块链进行交互,该怎么办?本节提供的资源将介绍如何开始创建应用程序向已部署的区块链网络提交事务。

  • 首先,我们建议学习这篇教程,其中介绍了如何开始创建应用程序。如果您喜欢使用 Node.js,这是一篇很棒的教程。它使用 composer-client NPM 模块来创建资产,提交事务,等等。
  • 如果您不想使用 Node.js,我们推荐学习有关编写 Web 或移动应用程序的 Hyperledger Composer 操作说明。此方法使用 composer-rest-server 来公开用于创建资产、参与者和事务的 API。您还可以找到关于创建 composer-rest-server 的信息。

学完上述教程之一后,您至少应该有一个能够与已部署的业务网络定义相连的应用程序。

后续步骤

希望我们在本文中列出的资源能帮您开始掌握区块链。接下来该怎么做?在成立您的新区块链初创公司之前,请务必查阅 developerWorks 上更详细的区块链课程。如果您在一家企业工作,想要获得一种快速沉浸式的、面对面的亲身体验来帮助您入门,您可以与我们的 IBM Developer Advocates 团队合作,他们会为您举办一个为期半天的研讨会。如果您已准备好开始开发区块链,而且想加速创新和改进您的业务,可以通过 IBM Blockchain Garage 聘请 IBM 的区块链咨询专家。

现在您已拥有了您所需的工具。区块链是近年来出现的最激动人心、最具颠覆性的技术之一。不要错过机会 – 是时候卷起袖子大干一场了!

本文翻译自:Blockchain for business: Getting to “hello world”(2018-7-9)

1 条评论"适用于业务的区块链:初涉 “hello world”"

  1. 这个讲得很好,容易理解。

加入讨论