hyperledger fabric 1.4 智能合约介绍

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

在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/hyperledger/fabric-samples/blob/release-1.4/chaincode/chaincode_example02/go/chaincode_example02.go
那么fabric智能合约有三个接口函数,其中是Init函数,Invoke函数,main函数。

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容