基于Ubuntu系统,docker搭建
镜像拉取命令
curl -sSL https://bit.ly/2ysbOFE | bash -s -- 2.2.9 1.5.5
过程中使用代理遇到错误,参考curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to domain.com:443 已解决。
1. 启动网络
cd fabric-samples/test-network/
./network.sh up createChannel -ca -c mychannel -s couchdb
./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go
用两个终端分别执行文件
source terminalorg1 #记为t1
source terminalorg2 #记为t2
2.测试网络
# t1终端执行
peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls true --cafile $ORDERER_CA -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 '{"Args":["CreateAsset", "100","red", "20","aditya","100"]}'
# t1和t2终端分别执行
peer chaincode query -C mychannel -n basic -c '{"Args":["ReadAsset", "100"]}'
3.添加节点
./organizations/fabric-ca/registerPeer1.sh #生成证书
docker-compose -f docker/docker-compose-peer1org1.yaml up -d #启动容器
4.测试节点
#t1中执行
CORE_PEER_ADDRESS=localhost:8051
peer channel list
CORE_PEER_ADDRESS=localhost:8051 peer channel list
CORE_PEER_ADDRESS=localhost:8051 peer channel join -b channel-artifacts/mychannel.block
peer channel getinfo -c mychannel
#t2中也执行
peer channel getinfo -c mychannel
#t1和t2显示的区块信息一致,返回t1,安装智能合约
CORE_PEER_ADDRESS=localhost:8051 peer lifecycle chaincode install basic.tar.gz
#在peer1上执行query,正确则安装成功。
CORE_PEER_ADDRESS=localhost:8051 peer chaincode query -C mychannel -n basic -c '{"Args":["ReadAsset", "100"]}'