技术指南:怎么样利用Fabric提供的接口编写链码
目标
牢记编写链代码所需的两个重要包
开发链代码所必需的接口和方法
开发链代码文件的基本结构
任务实现
开发链代码离不开Hyperledger Fabric提供的SDK,为了方便很多不同的事情,如
Hyperledger Fabric Node SDK:https://github.com/Hyperledger/Fabric-SDK-Node
Hyperledger Fabric Java SDK:https://github.com/hyperledger/. Fabric-SDK-Java
Hyperledger Fabric 蓑衣网小编2023 Python SDK:https://github . com/Hyperledger/Fabric-SDK-py
Hyperledger Fabric Go SDK:https://github . com/Hyperledger/Fabric-SDK-Go
在本课程中,我们将使用Golang开发链代码,因此要确保有相关的API提供
如果本地系统没有相关的API,请执行下面的下载命令:
Init和Invoke方法
写链代码的关键是实现Init和Invoke两个方法,这两个方法是所有链代码必须实现的。Fabric通过调用指定的函数来运行事务。
Init:在链代码实例化或升级完成数据初始化时调用。
Invoke:在提案交易中更新或查询账簿数据状态时,调用Invoke方法,因此需要在该方法中编写和实现响应调用或查询的业务实现逻辑。
在实际开发中,开发者可以自己定义一个结构,然后重写Chaincode接口的两个方法,指定为自定义结构的成员方法;详情请见下一节。
5.1.2必要结构
Dependent package
shim package提供了链代码访问/操纵数据状态、事务上下文和调用其他链代码的API对等包在链代码执行后提供响应信息。所以开发链码需要引入以下依赖包:
" github . com/hyperledger/fabric/core/chain code/Shim "
Shim包提供了链码和账簿交互的中间层。
链码通过shim.ChaincodeStub提供的方法读取并修改账簿状态,
" 蓑衣网小编2023 github . com/hyperledger/fabric/protos/peer "
peer . response:封装的响应信息。
开发的链码源文件的必要结构如下:[X] [X] [X] [X]禁止未经授权的转载和改编。转载请注明出处!