更新时间:2024-01-11 GMT+08:00
链代码结构
本章以Java语言为例来介绍。链代码即一个Java项目,创建好文件后进行函数开发等操作。
约束与限制
Java链代码仅支持Fabric 2.2及以上版本。
Java链代码仅适用于Fabric架构版本的区块链实例。
链代码接口
链代码启动必须通过调用shim包中的start方法。实际开发中, 您需要自行定义一个类,来继承ChaincodeBase。以下为继承时必须重写的方法:
public class SimpleChaincodeSimple extends ChaincodeBase { @Override public Response init(ChaincodeStub stub) { } @Override public Response invoke(ChaincodeStub stub) { } }
- init方法:在链代码实例化或升级时被调用,完成初始化数据的工作。
- Invoke方法:更新或查询账本数据状态时被调用, 需要在此方法中实现响应调用或查询的业务逻辑。
链代码结构
Java语言的链代码结构如下:
package main // 引入必要的包,系统自动操作,只要在maven或gradle中配置即可 import org.hyperledger.fabric.shim.ChaincodeBase; import org.hyperledger.fabric.shim.ChaincodeStub; public class SimpleChaincodeSimple extends ChaincodeBase { @Override public Response init(ChaincodeStub stub) { // 在该方法中实现链代码初始化或升级时的处理逻辑 // 编写时可灵活使用stub中的API } @Override public Response invoke(ChaincodeStub stub) { // 在该方法中实现链代码运行中被调用或查询时的处理逻辑 // 编写时可灵活使用stub中的API } //主函数,需要调用shim.Start()方法 public static void main(String[] args) { new SimpleChaincode().start(args); } }
父主题: Java语言链代码开发