Fabric 链码Chaincode 的安装、初始化、调用、升级

本文详述Hyperledger Fabric链码的安装、初始化、调用、升级全流程,演示如何在Fabric网络中部署、管理和更新链码,实现智能合约的生命周期管理。

Fabric 链码Chaincode 的安装、初始化、调用、升级 

上一篇文章,我们启动了一个Fabric网络,这篇文章来看看在Fabric网络进行应用的开发。

上一篇文章,我们启动了一个 Fabric 网络,这篇文章来看看在 Fabric 网络进行应用的开发。

什么是 chaincode

chaincode 是 fabric 的智能合约,又叫做链码。Chaincode 是生成交易 transacton 的唯一方式,是外界与区块链系统交互的唯一渠道,开发 Fabric 区块链应用就是要编写 Chaincode, Chaincode 就是业务逻辑实现。

chaincode 生命周期

  • Install 安装

    chaincode 要在 Fabric 网络上运行,必须要先安装在网络中的节点 peer 上(可以理解为部署代码),安装同时注明版本号保证应用的版本控制。

  • Instantiate 实例化

    在 peer 上安装 chaincode 后,还需要实例化才能真正激活该 chaincode 。在实例化的过程中,chaincode 就会被编译并打包成 docker 容器镜像,然后启动运行。每个应用只能被实例化一次,实例化可在任意一个已安装该 chaincode 的 peer 上进行。

  • Invoke 调用,Query 查询

    chaincode 在实例化后,用户就能与它进行交互,其中 query 查询与应用相关的状态(即只读),而 invoke 则可能会改变其状态。

  • Upgrade 升级

    在 chaincode 更新代码后,需要把新的代码通过 install 交易安装到正在运行该 chaincode 的 peer 上,安装时需注明比先前版本更高的版本号,接下来向任意一个安装了新代码的 peer 发送 upgrade 交易就能更新 chaincode,chaincode 在更新前的状态也会得到保留。

first network 示例

现在,我们在 first network 的环境中,重新部署一个新的应用,应用逻辑是插入一个学生的成绩(学生姓名,语文成绩,数学成绩),然后计算总成绩记录到链上,通过学生姓名查询学生的总成绩,链码路径放到fabric-samples/chaincode/win_test/src/fabric-chaincode目录下,链码下载地址是:https://gitee.com/zh5715615/fabric-chaincode.git

先关掉 TLS

为了减少参数输入,在这里不引入 TLS(安全传输层协议)功能,后面再进行讲解,我们关掉 tls 开关:

  1. 修改first-network/docker-compose-cli.yaml

找到CORE_PEER_TLS

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI周红伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值