这里采用官方脚本自动安装:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
安装完成后,使用一下命令启动docker服务
sudo systemctl start docker
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源码到本地/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.gz
和hyperledger-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
如出现以上内容,则安装完成。
安装完成后,我们将解压后得到的bin、config目录复制到fabric-samples
文件夹中。
我们运行官方提供的一个案例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条)