乐趣区

hyperledger-fabric-14-智能合约介绍

智能合约是一段代码程序可以部署在区块链平台中。

在 fabric 中的智能合约分为两大类,一种是系统智能合约,一种是用户自定义合约,同时 fabric 中的智能合约也叫 chaincode,链码。

普通合约就是用户自己定义开发的合约,用于完成用户的业务需求。普通合约的生命周期满足 install, instantiate and upgrade(安装,实例化,升级)的步骤。普通智能合约是运行在 docker 里面的,而且此 docker 会自动生成和启动。

系统合约是 fabric 内置的一些合约,用于完成系统性的特定操作。系统合约是运行在 peer 节点中,而不是独立的 docker 容器中。所有系统的智能合约不符合 install, instantiate and upgrade 这样的生命周期。比如 Lifecycle System Chaincode (lscc) 是生命周期系统合约,fabric 用户合约为什么能够安装和实例化其实就是由此系统合约控制的,而且当实例化合约后,会生成一个区块,Configuration System Chaincode (cscc),配置区块系统合约,我们怎么修改和查询每个 channel 的配置区块,就是由此系统合约控制的。

如需完整的学习 fabric,可以参考视频教程

fabric 智能合约开发的语言支持三种 java,go,nodejs,智能合约的 demo 样例在 https://github.com/hyperledge…
那么 fabric 智能合约有三个接口函数,其中是 Init 函数,Invoke 函数,main 函数。

main 函数是智能合约的入口,Init 函数是初始化函数,当智能合约实例化的时候调用,Invoke 函数是触发函数,当对合约进行除初始化以为的所有操作都在此函数调用。

fabric 给的样例合约比较简单,下一章节我们介绍智能合约的核心 api

本文由博客一文多发平台 OpenWrite 发布!

退出移动版