Mac OS Fabric环境搭建

一、环境准备

1.1、docker环境安装

这里采用官方脚本自动安装:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

安装完成后,使用一下命令启动docker服务

sudo systemctl start docker

1.2、Docker Compose环境安装

Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。

运行以下命令以下载 Docker Compose 的当前稳定版本:

sudo curl -L "https://github.com/docker/compose/releases/download/2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

将可执行权限应用于二进制文件:

sudo chmod +x /usr/local/bin/docker-compose

创建软链:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试是否安装成功:

docker-compose --version

二、安装fabric

2.1、下载fabric源码

下载fabric源码到本地/Users/XXX/GolandProjects目录下

cd /Users/wanghongjie/GolandProjects
git clone "https://github.com/hyperledger/fabric.git"

下载完成后,进入到fabric/scripts/目录中,并运行bootstrap.sh文件

cd fabric/scripts/
./bootstrap.sh

这里hyperledger-fabric-ca-darwin-amd64-1.5.2.tar.gzhyperledger-fabric-darwin-amd64-2.4.0.tar.gz下载非常慢。我们可以提前下载好,放到和bootstrap.sh同级目录下,解压到当前目录。解压后bin和config文件。

修改bootstrap.sh文件,将

 download() {
     local BINARY_FILE=$1
     local URL=$2
     echo "===> Downloading: " "${URL}"
     curl -L --retry 5 --retry-delay 3 "${URL}" | tar xz || rc=$?
     if [ -n "$rc" ]; then
         echo "==> There was an error downloading the binary file."
         return 22
     else
         echo "==> Done."
     fi
 }

改为

 download() {
         echo "==> Done."
 }

执行./bootstrap.sh,此时会下载镜像该过程较慢。

WX20211222-133511@2x

WX20211222-133511@2x

如出现以上内容,则安装完成。

安装完成后,我们将解压后得到的bin、config目录复制到fabric-samples文件夹中。

2.2、运行测试案例

我们运行官方提供的一个案例test-network-nano-bash

首先进入test-network-nano-bash目录中,我们可以看到一下文件内容。

1、首先运行./generate_artifacts.sh

2、开始3个控制台页面,分别运行./orderer1.sh, ./orderer2.sh, ./orderer3.sh

3、开启4个控制台,分别运行`./peer1.sh, ./peer2.sh, ./peer3.sh, ./peer4.sh

4、再次运行source peer1admin.sh, source peer2admin.sh, source peer3admin.sh, source peer4admin.sh

5、打包默认go代码。

peer lifecycle chaincode package basic.tar.gz --path ../asset-transfer-basic/chaincode-go --lang golang --label basic_1

6、安装打包好的智能合约

peer lifecycle chaincode install basic.tar.gz

我这里之前执行过该命令,它提示chaincode already successfully。记录下package ID basic_1:d54015a12fa19e018a12c0bd69e3392c3abe89f0ff8972d38a8b8991ddd10550

7、将PackageID 设置到环境变量中

export CC_PACKAGE_ID=basic_1:d54015a12fa19e018a12c0bd69e3392c3abe89f0ff8972d38a8b8991ddd10550

8、chaincode的审批和提交

peer lifecycle chaincode approveformyorg -o 127.0.0.1:6050 --channelID mychannel --name basic --version 1 --package-id $CC_PACKAGE_ID --sequence 1 --tls --cafile ${PWD}/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt

peer lifecycle chaincode commit -o 127.0.0.1:6050 --channelID mychannel --name basic --version 1 --sequence 1 --tls --cafile "${PWD}"/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt

9、调用链代码来创建一个资产(根据任何组织的默认背书策略,只需要一个背书人)。然后查询资产,更新它,并再次查询,以查看总账上产生的资产更改。

创建

peer chaincode invoke -o 127.0.0.1:6050 -C mychannel -n basic -c '{"Args":["CreateAsset","2","blue","50","julywhj","2000"]}' --tls --cafile "${PWD}"/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt

查询

peer chaincode query -C mychannel -n basic -c '{"Args":["ReadAsset","2"]}'

修改

peer chaincode invoke -o 127.0.0.1:6050 -C mychannel -n basic -c '{"Args":["UpdateAsset","2","blue","100","julywhj","1000"]}' --tls --cafile "${PWD}"/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt

祝贺您,您已经部署了一个最小的Fabric网络!如果希望查看部署网络所需的最小命令集,请检查脚本。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Fabric是一个用于构建和管理区块链网络的开源平台。下面是搭建Fabric环境的步骤: 1. 安装DockerDocker Compose:Fabric使用Docker容器来运行网络组件,因此需要先安装DockerDocker Compose。 2. 下载Fabric二进制文件:从Fabric官方网站下载适用于您的操作系统的Fabric二进制文件。解压缩下载的文件。 3. 创建网络配置文件:在Fabric中,网络由多个组织和节点组成。您需要创建一个网络配置文件,定义组织、节点和通道等信息。可以使用Fabric提供的示例配置文件作为参考。 4. 生成证书和密钥:每个组织和节点都需要具有自己的证书和密钥。使用Fabric提供的工具生成证书和密钥,并将其放置在相应的目录中。 5. 编写Docker Compose文件:创建一个Docker Compose文件,定义要运行的容器和它们之间的连接。在文件中指定组织、节点、通道和链码等信息。 6. 启动网络:使用Docker Compose启动Fabric网络。执行命令`docker-compose up`,将会启动所有定义的容器。 7. 创建通道:使用Fabric提供的命令行工具创建一个通道,并将其加入到网络中的各个节点。 8. 安装链码:将链码安装到网络中的节点上。使用Fabric提供的命令行工具执行链码安装命令。 9. 实例化链码:使用Fabric提供的命令行工具实例化链码。实例化链码会在网络中的节点上启动链码容器,并将链码初始化为初始状态。 10. 运行应用程序:使用Fabric提供的SDK或API开发应用程序,并与Fabric网络进行交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Julywhj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值