第十章 九析带你轻松完爆 hyperledger fabric - chaincode 生命周期介绍

本系列文章:
前端


第一章:九析带你完爆 hyperledger fabric - 快速上手 basic-network 样例java

第二章:九析带你完爆 hyperledger fabric - 快速搭建 GO 环境node

第三章:九析带你完爆 hyperledger fabric - 快速上手 first-network 样例python

第四章:九析带你完爆 hyperledger fabric - 系统逻辑架构篇git

第五章:九析带你完爆 hyperledger fabirc - 网络节点介绍github

第六章:  九析带你轻松完爆 hyperledger fabric - 区块和区块链介绍后端

第七章:  九析带你轻松完爆 hyperledger fabric - 区块链防篡改机制服务器

第八章:九析带你轻松完爆 hyperledger fabric - Couchdb 安装网络

第九章:九析带你轻松完爆 hyperledger fabric - NVM 和 Nodejs 安装架构

第十章:九析带你轻松完爆 hyperledger fabric - chaincode 生命周期介绍

目录

1 前言

2 chaincode 生命周期

    2.1 安装 (install)

    2.2 实例化(instantiate)

    2.3 调用(invoke)

    2.4 升级(upgrade)


1 前言

        chaincode,又称链码,是 fabric 区块链中的智能合约。可是智能合约名存实亡,由于并不智能,并无你想固然认为具备任何 AI 能力,它本质就是业务逻辑代码,跟你平时写一段增删改查没任何区别,只是由于它是区块链,因此让人以为屌一点而已,可是,仅此而已。

        IT 公司的经典技术分工是 “前端 + 后端 + 运维”,对应 fabric 应用开发,那就是 “chaincode 调用者 + chaincode + fabric”。由此可知,chaincode 本质就是业务核心逻辑,它是 fabric 中生成交易(区块数据)的惟一方式,咱们开发 fabric 应用,其实也就是在编写 chaincode。


2 chaincode 生命周期

        chaincode 生命周期大体有这么几个阶段:安装、实例化、调用、升级。

2.1 安装 (install)

        安装 chaincode 的过程就是将 chaincode 部署到区块链的过程。在之前的教程中,咱们曾介绍过 fabric 区块链中有多种节点,安装 chaincode,则只能安装在 peer 节点之上,并且在安装的过程当中,要指定一个名称和版本。就像咱们平时发布项目时要指定项目名称和发布版本同样。例如:

peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02

2.2 实例化(instantiate)

        就像你把代码部署在服务器,若是不启动就不会产生任何做用同样;chaincode 安装完,还须要进行实例化操做才能够被外界真正的访问。chaincode 实例化就是将代码打包成镜像而后启动容器运行的过程。每一个 chaincode 只会被实例化一次,可是实例化过程能够在任何一个安装了 chaincode 的 peer 上进行。 例如:

peer chaincode instantiate -o orderer.example.com:7050 -C $CHANNEL_NAME -n mycc -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P "OR        ('Org1MSP.member','Org2MSP.member')"

2.3 调用(invoke)

        安装并初始化后的 chaincode,就像你结识又肯定关系的女友同样,你能够那个了,是否是很兴奋,很想尖叫?操做 chaincode 的客户端有不少类型,好比 java、python、nodejs 等。chaincode 提供统一的调用接口 invoke。客户端能够经过调用 chaincode 来达到查询、变动帐本信息的目的。例如:

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

2.4 升级(upgrade)

        就像系统升级同样,chaincode 也会有升级的需求。在升级 chaincode 的过程当中,须要把新的 chaincode 安装(install)到正在运行该 chaincode 的 peer 节点上,并且在安装时须要指定比原先更高的版本。安装完毕后,只需向该 peer 节点发送 upgrade 操做,就能够顺利升级 chaincode 了。

peer chaincode install -n mycc -v 1.1 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02

peer chaincode upgrade -n mycc -v 1.1 -c '{"Args": ["init","a","100","b","200"]}' -C mychannel

        自此,九析带你轻松完爆 chaincode 的生命周期。

相关文章
相关标签/搜索