在Java语言中,链码主要由以下方法组成。
- init: 链码在初始化和升级时调用此接口,初始化相关的数据。
- invoke:主要用于实现链码的内部业务逻辑,您可以在该方法中实现相关的业务。
- 在上述方法实现过程中,用户可以调用 和链上进行交互。
Hyperledger Fabric 提供了很多官方链码样例,具体请参考。 我们以 为例,为大家介绍链码的开发规范。
首先,我们看一个空链码结构的示例代码
Init 函数在链码实例化以及升级的时候会被调用。在实现 Init 函数的过程中,可使用 来对参数和分布式账本进行操作。
本示例要求用户输入的参数为,并初始化2个键值对,调用 putStringState 将数据写入分布式账本中。
invoke 函数是对用户具体业务逻辑的实现,用户可以根据不同的业务处理逻辑,调用不同的业务处理函数,如invoke,delete 和 query 函数。
业务逻辑 invoke 函数实现了业务逻辑中的资产转移,将 accountFrom 的资产转移 amount 个单位给 accountTo。
- 使用 API getStringState 获取到 KEY_NAME 对应的资产总值
- 调用业务逻辑实现 amount 个资产单位的转移
- 调用 API putStringState 将更新后的资产情况写入到账本中
业务逻辑 delete 函数实现了业务逻辑中的账户删除功能。
业务逻辑 query 函数实现了业务逻辑中的账户查询功能,通过调用 API GetState 查询对应账户的资产。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/12778.html