Docs

Docs

  • 文档
  • github

›使用说明

快速开始

  • 代码示例

使用说明

  • 获取SDK
  • 初始化
  • 交易类型
  • 请求响应
  • 合约接口
  • 工具接口

注意事项

  • 相关事项

交易类型

交易体的封装

SDK对于发送的交易需要进行封装,不同虚拟机的交易类型不同,同时SDK也需要将传进来的交易参数进行编码

SDK使用构造器模式来创建相应虚拟机的Builder来完成对Transaction的创建,通过调用build()函数来获取到Transaction实例

class Builder {
    Builder deploy();
    Builder invoke();
    Transaction build();
}

Transaction tx = new Transaction.Builder().build();

下面将详细展开具体Transaction构造

HVM合约交易封装

HVM合约交易的构造器继承自Transaction.Builder,HVMBuilder可以构造HVM虚拟机的部署合约和调用合约两种交易

创建构造器

方法原型

public HVMBuilder(String from)

参数说明

参数名
类型
参数描述
fromstring调用者账户地址

使用示例

String accountAddress = "856E2B9A5FA82FD1B031D1FF6863864DBAC7995D";
HVMBuilder builder = new Transaction.HVMBuilder(accountAddress);

获取部署交易

方法原型

public Builder deploy(String jarPath)

参数说明

参数名
类型
参数描述
jarPathstring合约jar包文件路径

使用示例

String accountAddress = "856E2B9A5FA82FD1B031D1FF6863864DBAC7995D";
String jarPath = "/usr/tmp/hvm-contract.jar";
Transaction tx = new Transaction.HVMBuilder(accountAddress).deploy(jarPath).build();

说明:合约jar包路径若为相对路径,则相对于当前SDK执行环境的classpath路径

获取调用交易

方法原型

public Builder invoke(String contractAddress, BaseInvoke baseInvoke)

参数说明

参数名
类型
参数描述
contractAddressstring调用合约地址
baseInvokeBaseInvokeHVM合约的调用Bean实例

使用示例

String accountAddress = "856E2B9A5FA82FD1B031D1FF6863864DBAC7995D";
String contractAddr = "ec425efb6bd536b9874038a012e753022e75302a";
BaseInvoke baseInvoke = new StudentInvoke();
Transaction tx = new Transaction.HVMBuilder(accountAddress).invoke(contractAddr, baseInvoke).build();

说明:BaseInvoke的实现类必须包含空参构造函数

← 初始化请求响应 →
  • 交易体的封装
    • HVM合约交易封装
QTechGitHub
Copyright © 2025 Hyperchain Co., Ltd.