小白也能读懂的Fabric测试网络运行以及链码部署

安装基础环境

Git

sudo apt-get install git

cURL

sudo apt-get install curl

Docker

sudo apt-get -y install docker-compose

检查安装情况

$ docker --version
Docker version 20.10.21, build 20.10.21-0ubuntu1~22.04.2
$ docker-compose --version
docker-compose version 1.29.2, build unknown

下面是启动代码

sudo systemctl start docker

Ps.如果需要Docker自启动可以运行下面的代码

sudo systemctl enable docker
sudo usermod -a -G docker <username>

username是自己的用户名,记得替换

JQ

sudo apt-get install jq

克隆代码以及安装对应文件

下面这个可选

go get github.com/hyperledger/fabric

这个必须

go get github.com/hyperledger/fabric-samples

进入fabric-samples目录,执行下面代码,需要安装一段时间

curl -sSLO https://raw.githubusercontent.com/hyperledger/fabric/main/scripts/install-fabric.sh && chmod +x install-fabric.sh

之后执行

sudo ./install-fabric.sh docker samples binary

启动测试网络

进入文件夹

cd test-network

启动测试网络

sudo ./network.sh up

可以运行下面的命令查看容器情况

sudo docker ps -a

创建通道

sudo ./network.sh createChannel

安装链码

./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go

Ps. 可以执行sudo chmod -R 777 ../test-network来避免使用sudo出错的情况。

执行链码

环境设置

export PATH=${
    
    PWD}/../bin:$PATH
export FABRIC_CFG_PATH=$PWD/../config/

使用组织1调用链码

export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${
    
    PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${
    
    PWD}/organizations/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
export CORE_PEER_ADDRESS=localhost:7051

执行

peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls --cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem" -C mychannel -n basic --peerAddresses localhost:7051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt" --peerAddresses localhost:9051 --tlsRootCertFiles "${PWD}/organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt" -c '{"function":"InitLedger","Args":[]}'

查询

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

关闭网络

sudo ./network.sh down

猜你喜欢

转载自blog.csdn.net/u012421101/article/details/130306042