创建一个智能合约并部署(java)(fabric-chaincode-java) - Go语言中文社区

创建一个智能合约并部署(java)(fabric-chaincode-java)


创建一个智能合约并部署(java)

环境

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),官方没有提供教程,笔者在这里浪费了很多时间。

部署

  • 部署单机单节点fabric网络
  • 将编辑好的Java chaincode拷贝到/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"]}'

参考:

  • 博客园博主灵龙关于Fabric 1.4 单机单节点部署(solo)的实例:https://www.cnblogs.com/llongst/p/9571321.html
  • 链码实例参考fabric-chaincode-java-1.4.1,地址:https://github.com/hyperledger/fabric-chaincode-java/tree/v1.4.1
  • IBM教程:https://www.ibm.com/developerworks/java/library/j-chaincode-for-java-developers/j-chaincode-for-java-developers-pdf.pdf
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_43562234/article/details/102392308
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢