搭建账本Fabric-sample first-network(二)

本文详细介绍了如何搭建Hyperledger Fabric的first-network,包括环境准备、生成证书和密钥、配置交易、启动网络、创建/加入通道、安装实例化链码,以及解决遇到的问题,如密码工具缺失、CRIT 002错误和Docker守护程序连接问题。通过此教程,读者可以了解区块链应用开发的基础流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:ethanlu(ethanlu@mail.ustc.edu.cn)

创建于:2018年7月18日

最后修改:2019年7月11日

【重点:如果之前跑过e2e的sample,在跑这个之前一定要把镜像删掉,官网有这一步操作。】

 

# 在e2e_cli目录下
docker rm -f $(docker ps -aq)

如果不成功依次删除各个镜像

docker rmi hyperledger-zookeeper

最后清理全部images

docker rmi $(docker images -q)

检查一下在开发区块链应用程序或者Hyperledger Fabric的平台上是否已经安装了预置环境。

1、下载并安装Hyperledger的Fabric-samplesfabric-samples文件夹中包含了许多示例:

需要git branch切换到v1.0.2(git checkout v.1.0.2)否则报错。

git clone https://github.com/hyperledger/fabric-samples.git

2、将我们使用first-network这个例子。现在让我们打开这个子目录。 

cd first-network

注意:文档中提供的命令必须运行在fabric-sample的子目录first-network。如果你选择从其他位置运行命令,提供的一些脚本将无法找到对应的二进制工具(如bin目录下的crypto)。

3、我们提供一个完全注释的脚本byfn.sh,利用这些docker镜像可以快速引导一个由4个代表2个不同的组织对等以及节点排序一个服务节点的Hyperledger fabric网络。它还将启动一个容器来运行一个对等节点加入通道,部署实例化链码以及驱动已经部署的链码执行交易的脚本。

./byfn.sh -h

以下是byfn.sh脚本的帮助文档:

如果你选择不提供信道名称,则脚本将使用默认名称mychannel.CLI超时参数(用-t标志指定)是一个可选值;如果你选择不设置它,那么CLI容器将会在脚本执行完之后退出。

如图4所示,执行该脚本(会报错,文章的最后问题解答有解决办法):

./byfn.sh -m generate

接下来,可以使用以下命令来启动整个网络再试提示是否继续:

生成工具后会出现如下界面:

第一步生成我们各种网络实体的所有证书和密钥,genesis block用于引导排序服务,配置以及Channel所需要的一组交易配置集合。

5,接下来,使用以下命令来启动整个网络:

 ./byfn.sh -m up

日志将继续然后启动所有容器,驱动一个端到端的应用场景成功以后,在终端窗口中会报告以下内容: 

 

 跑通之后会出现如下界面:

6,最后,让我们把它全部停下来,这样我们可以一步一步地探索网络设置。以下操作将关闭你的容器,移除加密材料和4个配置信息,并且从docker库删除chaincode镜像。你将再一次被提示是否继续,回答Y:

./byfn.sh -m down

 

测试用例说明:

如图1所示,加密生成器

Cryptogen消费一个包含网络拓扑的crypto-config.yaml,并允许我们为组织和属于这些组织的组件生成一组证书和密钥。每个组织都配置了ca-cert唯一的根证书(),它将特定组件(对等体和订单)绑定到该组织。通过为每一个组织分配唯一的CA证书,我们正在模仿一个经典的网络,这个网络中的成员将使用自己的证书颁发机构.Hyperledger Fabric中的交易和通信是通过存储在keystore中的实体的私人签名,然后通过公司手段进行验证(signcerts)。

将你在注意到这个文件里有一个count变量我们将使用它来指定每个组织中。peer的数量;在我们的例子中,每个组织有两个对等体我们现在不会深入研究X.509证书基础状语从句:公钥设施。的细节如果你有兴趣,你可以在自己的时间细读这些主题。

在运行该工具之前,让我们浏览快速一下这段代码crypto-config.yaml注意特别在。OrdererOrgs头下的NameDomain状语从句:Specs参数:

OrdererOrgs:
#---------------------------------------------------------
# Orderer
# --------------------------------------------------------
- Name: Orderer
  Domain: example.com
  # ------------------------------------------------------
  # "Specs" - See PeerOrgs below for complete description
# -----------------------------------------------------
  Specs:
    - Hostname: orderer
# -------------------------------------------------------
# "PeerOrgs" - Definition of organizations manag
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值