学习Hyperledger FireFly的基础知识

523 阅读5分钟

Hyperledger FireFly为那些希望利用区块链技术构建和扩展安全的企业级应用的开发者带来了一个完整的开源堆栈。

要想大规模地构建企业级应用,需要的不仅仅是区块链节点。因此,开发人员经常发现自己从头开始构建管道,以使其业务逻辑发挥作用。Hyperledger FireFly的发布改变了区块链的发展,为开发者提供了一整套工具,使用熟悉的API构建和扩展安全的网络应用。FireFly的下一代平台简化了开发,使其能够在同时运行许多用例的情况下,轻松跨越多个公有链和私有链进行连接。无论你想在Hyperledger Fabric、Corda或Enterprise Ethereum等许可链上构建,还是在Ethereum、Polygon、Avalanche、Optimism、BNB Chain、Arbitrum、Moonbeam或Fantom等公共链上构建,FireFly都能满足你的需求。

在这篇文章中,我将指导你在哪里下载Hyperledger FireFly,如何建立一个本地开发环境,并向你介绍FireFly沙盒。但首先,快速介绍一下Supernode。

什么是Supernode?

Hyperledger FireFly是一个开源项目,由区块链和数字资产平台提供商Kaleido贡献给Hyperledger基金会。为了使FireFly成为现实,这家位于北卡罗来纳州罗利的公司与区块链社区合作,将重要的技术组件纳入一个企业级的、可插拔的开发和运行时堆栈,称为Supernode。

Image of a development stack

这个开发栈为区块链开发者提供了三个关键优势,特别是那些希望建立具有规模的企业级应用的开发者。

  • 加速:Hyperledger FireFly帮助开发者在他们选择的区块链协议上创建应用程序,并通过熟悉的REST API快速构建。用户可以利用预先建立的代币、钱包、存储和身份服务,以更快地达到生产。
  • 协调:Hyperledger FireFly使其更容易管理从区块链到后台的端到端数据。API允许开发人员根据区块链活动触发业务流程,以及链外存储和消息传递以保护敏感数据。
  • 支持:Hyperledger FireFly支持高容量的工作负载,与现有的IT系统和数据库集成,并与网络参与者进行沟通。

开始使用Hyperledger

FireFly让构建强大的区块链应用变得超级简单。在你的机器上安装堆栈也是一个简单的过程。下面我将指导你完成启动和运行的三个步骤,以便你今天就可以开始测试FireFly的功能。

Image depicting the FireFly install process

安装FireFly CLI

FireFly命令行界面(CLI)为区块链应用程序的离线开发创建本地FireFly堆栈。在本地拥有FireFly允许开发人员测试和迭代想法,而不必担心设置额外的基础设施。

安装FireFly CLI的最简单方法是下载最新版本的预编译二进制。要做到这一点,请访问发布页面

接下来,解压二进制文件并将其移至/usr/bin/local 。假设你从GitHub上下载了该软件包到你的Downloads 目录。

$ sudo tar -zxf ~/Downloads/firefly-cli_*.tar.gz -C /usr/local/bin ff

这样就把ff 的可执行文件放到了/usr/local/bin

如果你从GitHub下载软件包到不同的目录,请将上面的tar 命令改为firefly-cli_*.tar.gz 文件所在的位置。

另外,你可以使用Go 安装FireFly CLI 。如果你有一个本地的Go开发环境,并且你在路径中包含了${GOPATH}/bin ,你可以用Go运行来安装FireFly CLI

$ go install github.com/hyperledger/firefly-cli/ff@latest

最后,通过运行 ff 版本来验证安装。这将打印出当前的版本。

{
 "Version": "v1.1.0",
 "License": "Apache-2.0"
}

安装了FireFly CLI后,你就可以在你的机器上运行一些Supernodes了。

开始你的环境

FireFly堆栈是一个Supernode的集合,它们在一台开发机器上一起工作。一个堆栈有多个成员(也被称为组织)。每个成员在堆栈中都有自己的Supernode。这使得开发人员可以在一个单一的开发环境中,用各方之间的公共和私人数据混合来构建和测试数据流。

Image of the FireFly development stack

创建一个新的FireFly栈是相对容易的。ff init 命令为你创建一个新的堆栈,并提示你一些细节,如名称,以及你想在你的堆栈里有多少成员。

还有一些设置你可以改变。默认值是最简单的方法,但你可以通过运行ff init --help ,看到完整的选项列表。

一旦你创建了你的堆栈,使用命令ff start dev 来运行你的环境。

在你的堆栈启动后,它会打印出每个成员的用户界面的链接,以及该节点的沙箱。

使用FireFly沙盒

Image of the Firefly sandbox

每个成员也会得到一个FireFly Sandbox的实例。沙盒就像一个应用程序的例子。它可以用来测试、迭代和练习使用FireFly功能。它提供了一些代码片段,作为如何在你自己的应用程序后端建立这些功能的例子。

在沙盒中,有几样东西你可能想检查一下,以体验Hyperledger FireFly的全部功能。

Messages 标签帮助你发送消息,并在每个成员的FireFly资源管理器中查看数据有效载荷,或者向一个成员发送私人消息,并验证数据有效载荷在第三个成员的FireFly资源管理器中是否可见。你可以发送一个图像文件,并从另一个成员的FireFly资源管理器中下载它。

Tokens 标签可以创建一个不可伪造的代币池,并允许你将一个NFT转移给另一个成员,并验证FireFly Explorer中的账户余额。

Contracts 标签可以创建一个合同接口和API,然后为你的新API查看Swagger UI,或者创建一个事件监听器。你也可以使用Swagger UI来调用一个智能合约函数,发出一个事件。在沙盒中收到的任何事件也会在FireFly Explorer中显示出来。

构建你的应用程序

Hyperledger FireFly为那些想要建立和扩展安全的企业级应用程序的开发人员带来了一个完整的开源堆栈,可以访问区块链技术。它很容易安装在你的机器上,而且沙盒允许开发人员查看代码片段和测试想法--所有这些都是为了让区块链应用程序更快地进入生产。