智能合约是一段代码程序可以部署在区块链平台中。
在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 发布!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。