注:转载自https://hyperledger-fabric-cn.readthedocs.io/zh/latest/write_first_app.html 在一步步操作验证的过程中把夹杂的英文去掉了,有少量句子的翻译做了些修改,自己看着通顺些。
-----------------------------------正文----------------------------
注解
如果你对 Fabric 网络的基本架构还不熟悉,在继续本部分之前,你可能想先 阅读 Key Concepts - 关键概念 部分。
本教程的价值仅限于介绍 Fabric 应用和使用简单的智能合约和应用。更深入 的了解 Fabric 应用和智能合约请查看 Developing Applications - 开发应用 或 Commercial paper tutorial 商业票据教程 部分。
本教程我们将通过手动开发一个简单的示例程序来演示 Fabric 应用是如何工作的。 使用的这些应用和智能合约统称为 FabCar
。他们提供了理解 Hyperledger Fabric 区块链的一个很好的起点。我们将学习怎么写一个应用程序和智能合约来查询和更新账本, 还有如何使用证书授权服务来生成一个 X.509 证书,应用程序将使用这个证书和授权区块链 进行交互。
我们将使用应用程序 SDK —— 详细介绍在 Application - 应用 —— 来调用智能合约,后者会通过智能合约SDK来执行账本查询和更新 —— 关于智能合约SDK的详细介绍见 Smart Contract Processing - 智能合约处理 。
我们将按照以下三个步骤进行:
1. 搭建开发环境。 我们的应用程序需要和网络交互,所以我们需要一个智能合约和 应用程序使用的基础网络。
2. 学习一个简单的智能合约, FabCar。 我们使用一个 JavaScript 写的智能合约。 我们将审查这个智能合约以了解它内部的交易,以及应用程序是怎么使用他们来进行查询和更新账本的。
3. 使用 FabCar 开发一个简单的应用程序。 我们的应用程序将使用 FabCar 智能合约来查询和更新账本上的汽车资产。我们将进入到应用程序的代码和他们创建的交易,包括查询一辆汽车, 查询一批汽车和创建一辆新车。
在完成这个教程之后,你将基本理解一个应用是如何通过编程关联智能合约来和 Fabric 网络上的多个节点的账本的进行交互的。
注解
这些应用程序也兼容 Service Discovery - 服务发现 和 Private data - 私有数据 , 但是我们不会显式地展示如何使用这些功能。
Set up the blockchain network - 设置区块链网络
注解
下边的部分需要进入你克隆到本地的 fabric-samples
仓库的 first-network
子目录。
如果你已经学习了 Building Your First Network - 创建你的第一个fabric网络 ,你应该已经下载 fabric-samples
而且已经运行起来了一个网络。在你进行本教程之前,你必须停止这个网络:
./byfn.sh down
如果你之前运行过这个教程,使用下边的命令关掉所有停止或者在运行的容器。注意, 这将关掉你 所有 的容器,无论是否和 Fabric 有关。
docker rm -f $(docker ps -aq)
docker rmi -f $(docker images | grep fabcar | awk '{print $3}')
如果你没有网络和应用的开发环境和相关构件,访问 Prerequisites - 先决条件 页面,确保你已经在你的机器上安装了必要的依赖。
接下来,如果你还没完成以下操作,请访问 Install Samples, Binaries and Docker Images - 安装示例、二进制文件和Docker镜像 页面,跟着上边的说明操作。当你克隆 了 fabric-samples
仓库后返回本教程,然后下载最新的稳定版 Fabric 镜像和相关 工具。