什么是链码(Chaincode)?
我们知道区块链有3个发展阶段:区块链1.0,区块链2.0,区块链3.0。其中区块链2.0就是各种区块链平台百花齐放的阶段,区块链2.0最大的特点就是智能合约,我们接下来要介绍的链码就是智能合约的一种,是Hyperledger子项目Fabric提供的智能合约,叫做chaincode,翻译过来就是链码。
链码是一段程序,目前采用go语言来编写,Java、NodeJs语言也会慢慢支持。链码的编写需要实现Fabric提供的一套接口,之后链码需要运行在一个安全的Docker容器中。在Fabric区块链中,链码通过应用程序提交的交易来初始化和管理ledger和world state。
链码用来处理一些得到各方共识的业务逻辑。由某个链码创建的state, 一半只能用该链码来访问,不能够被另一个链码来直接访问。然而,在同一个网络中,如果链码得到授权,也可以调用另一个链码来间接访问它的状态。
链码编写和管理
从应用开发者的角度,区块链应用的编写请参考下一篇《Hyperledger Fabric链码之二》。
从链码操作员的角度,链码安装、初始化以及升级,请参考《Hyperledger Fabric链码之三》。