为什么要使用开发者模式?
如果不使用开发者模式,每次调试都要网络重启,channel创建,peer加入,这样太费事了,因此,我们需要使用开发者模式进行调试
启动网络
如何使用开发者模式启动网络?
使用basic-network
- 修改docker-compose.yaml文件,打开dev,开启7052端口
# command: peer node start
command: peer node start --peer-chaincodedev=true
ports:
- 7051:7051
- 7052:7052
- 7053:7053
- 修改启动脚本 start.sh,注意使用vi修改才是真的修改
docker-compose -f docker-compose.yml up -d ca.example.com orderer.example.com peer0.org1.example.com couchdb cli
- 启动 start.sh
这个脚本帮我们做了启动了节点,创建了channel,节点介入channel
这样网络就启动配置完成了,接下来我们就能愉快的进行chaincode开发了
chaincode部署
- 将开发好的chaincode注册给 peer,ip地址使用docker容器的ip
CORE_CHAINCODE_ID_NAME="mycc:v0" npm start -- --peer.address grpc://172.17.0.1:7052

这样就会运行的当前的链码状态,如果修改了链码要重新运行,只需停掉当前重新注册即可(重新运行上面指令)
- 安装链码
-n mycc指名字,也就是3中指定的chaincode_id_name,-p ...mycc 指容器中的链码映射路径
CORE_PEER_LOCALMSPID=Org1MSP
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
peer chaincode install -l node -n mycc -v v0 -p /opt/gopath/src/github.com/mycc/

- 实例化链码
CORE_PEER_LOCALMSPID=Org1MSP
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
peer chaincode instantiate -l node -n mycc -v v0 -C mychannel -c '{"args":["init","zzh","100","czbk","200"]}' -o 172.17.0.1:7050

交互,测试链码调用
- 查询初始化值
CORE_PEER_LOCALMSPID=Org1MSP
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
peer chaincode invoke -n mycc -C mychannel -c '{"args":["query","zzh"]}' -o 172.17.0.1:7050

- 转账
peer chaincode invoke -n mycc -C mychannel -c '{"args":["trans","czbk","zzh","10"]}' -o 172.17.0.1:7050

- 查询转账后
peer chaincode invoke -n mycc -C mychannel -c '{"args":["query","czbk"]}' -o 172.17.0.1:7050
peer chaincode invoke -n mycc -C mychannel -c '{"args":["query","zzh"]}' -o 172.17.0.1:7050
网友评论