社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
jdk:java version “1.8.0_221”
gradle:Gradle 5.6.2
fabric:1.4.1
centos:
注意:
gradle需要配置本地仓库和jvm,gradle和maven都可以采用,不过gradle 5.6.2配置本地仓库和jvm比较麻烦(IBM官方教程用的gradle),官方没有提供教程,笔者在这里浪费了很多时间。
/opt/gopath/src/github.com/hyperledger/fabric/singlepeer/chaincode/java
目录下,如果不存在此目录,请自行创建。关闭和删除已存在的进程
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
生成公私钥和证书
./bin/cryptogen generate --config=./crypto-config.yaml
生成创世区块
mkdir channel-artifacts
./bin/configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block
生成通道配置区块
./bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/mychannel.tx -channelID mychannel
启动orderer和peer
docker-compose -f docker-compose-cli.yaml up -d
启动cli容器
docker exec -it cli bash
创建channel
peer channel create -o orderer.example.com:7050 -c mychannel -f ./channel-artifacts/mychannel.tx
peer加入channel
peer channel join -b mychannel.block
安装链码
peer chaincode install -n mycc -p /opt/gopath/src/github.com/hyperledger/fabric/singlepeer/chaincode/java -v 1.0 -l java
注意:-p
后面的是docker容器中链码所在的位置,命令中-l java
表示安装的链码由java编写
实例化智能合约
peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -l java -n mycc -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P "AND ('Org1MSP.peer')"
java编写的链码编译速度较慢,耐心等待
查询
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
转账
peer chaincode invoke -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}'
参考:
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!