一、链码:
链码,就是传统区块链技术模型中的智能合约,在Hyperledger fabric 框架中,被称为链码。
传统区块链技术模型中,智能合约一般都是运行在一个独立的虚拟机中(比如以太坊中,智能合约运行在EVM中),在fabric中,链码运行在Docker容器中。
二、链码分类
链码可以被分为系统链码和用户链码两种。
系统链码
用于支持配置管理、背书签名、链码生命周期管理等系统的资源和功能,不能随意修改和操作,只能通过标准接口进行调用。
用户链码
用户链码是用户自定义编写的智能合约代码,支持打包、安装、部署、升级、调用等操作。
三、链码生命周期管理:
1.(签名)打包
支持节点对链码包进行签名打包或者多个节点对已经签名的包进行签名打包。
2.链码安装
将链码文件保存到节点目录下。
3.链码部署(实例化)
将链码文件绑定到指定通道、准备好运行链码的容器。
4.链码调用(invoke)
交易的主要调用方法,需要指定参数和方法名称。(要经过orderer)
5.链码升级(upgrade)
用于升级指定应用通道上的用户链码以拓展功能和修复漏洞等。
6.链码查询(query)
用于查询Peer节点中的状态数据。(不经过orderer)