为方便存证场景的开发,合约平台提供原生存证交易接口以实现存证目的。
存证交易
depositData
存证交易,同步方式调用。
- 函数原型
public DepositDataResponse depositData(DepositDataRequest request)
- 请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | DepositDataRequest | 存证交易的请求 |
- 返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
response | DepositDataResponse | 存证交易的响应 |
- 示例
DepositDataRequest request = new DepositDataRequest(senderId, receiverId, depositData, amount);
// 参考错误信息说明文档,检查返回的数据
DepositDataResponse response = sdk.getAccountService().depositData(request);
asyncDepositData
存证交易,异步方式调用。
- 函数原型
public int asyncDepositData(DepositDataRequest request, IAsyncCallback callback)
- 请求参数
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
request | true | DepositDataRequest | 存证的请求 |
callback | true | IAsyncCallback | 回调函数 |
- 返回字段
返回字段 | 字段类型 | 说明 |
---|---|---|
result | int | 发送返回值 |
- 示例
DepositDataRequest request = new DepositDataRequest(senderId, receiverId, depositData, amount);
int result = sdk.getAccountService().asyncDepositData(request, new IAsyncCallback() {
@Override
public void onResponse(int errorCode, Response response) {
// 参考错误信息说明文档,检查返回的数据
System.out.println("async deposit data, errorCode:" + errorCode + ", response: " + response.getErrorCode());
}
});
存证交易的请求参数
DepositDataRequest,具体参数如下表所示。
参数 | 类型 | 说明 |
---|---|---|
senderId | Identity | 发起交易者的 identity |
receiverId | Identity | 目标账户 identity |
amount | BigInteger | 转账金额 |
depositData | byte[] | 待存储数据,可自定义数据内容,然后序列化存证,存证后读取数据再反序列化 |
注意:存证交易的
data
数据大小有上限限制,此限制为合约链的一个配置选项,通常默认 1 MB,实际根据合约链的配置情况而定。存证交易的返回参数
DepositDataResponse,具体参数如下表所示。
参数 | 类型 | 说明 |
---|---|---|
transactionReceipt | TransactionReceipt | 交易收据 |
blockNumber | BigInteger | 区块号 |