Hyperledger Fabric 链码的介绍

版权声明:博客中的文章版权归博主所有,未经授权,禁止转载,转载请注明出处

什么是链码

chaincode 简称 链码,一般是用户使用go语言编写的应用代码。

链码被部署在 Fabric 网络节点上,运行在 Docker 容器中,并通过 gRPC 协议与相应的Peer节点进行交互,以操作分布式账本中的数据。

链码生命周期

Fabric提供了 package,install,instantiate, 和 upgrade 4个命令管理链码的生命周期。

链码生命周期

通过 install 安装链码,通过 instantiate 实例化链码,然后可以通过 invoke 、query 调用链码和查询链码。

如果需要升级链码,则需要先 install 安装新版本的链码,通过 upgrade 升级链码。

install 安装链码前,可以通过 package 打包并签名生成打包文件,然后在通过 install 安装。

安装链码

peer chaincode install -n sacc -v 1.0 -p sacc

实例化链码

peer chaincode instantiate -n sacc -v 1.0 -c '{"Args":["john","0"]}' -P "OR ('Org1.member','Org2.member')"

调用链码

peer chaincode invoke -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}'

查询链码

peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'

升级链码

# 安装新版本的链码
peer chaincode install -n mycc -v 1 -p path/to/my/chaincode/v1

# upgrade 升级链码
peer chaincode upgrade -n mycc -v 1 -c '{"Args":["d", "e", "f"]}' -C mychannel

打包链码和签名

# 打包链码
peer chaincode package -n mycc -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -v 0 -s -S -i "AND('OrgA.admin')" ccpack.out

# 对打包文件进行签名
peer chaincode signpackage ccpack.out signedccpack.out

关注公众号
关注公众号

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值