日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

原生存證接口

為方便存證場景的開發,合約平臺提供原生存證交易接口以實現存證目的。

存證內容上鏈

depositData

發起存證內容上鏈的交易,同步方式調用。

  • 函數原型

public DepositDataResponse depositData(DepositDataRequest request)
  • 請求參數

參數

必選

類型

說明

request

true

DepositDataRequest

發起存證的請求

DepositDataRequest,具體參數見下表。

返回字段

字段類型

說明

senderId

Identity

發起內容存證的賬戶地址

receiverId

Identity

接收內容存證的賬戶地址

amount

BigInteger

轉賬金額,默認值為0,不支持修改(即不支持轉賬交易)

depositData

byte[]

待存儲數據,可自定義數據內容,然后序列化存證,存證后讀取數據再反序列化

重要

存證交易的data數據大小存在上限限制,此限制為合約鏈的一個配置選項,通常默認設置為1MB。具體的數據大小上限可根據合約鏈的配置情況,通過提交工單的形式由后臺技術人員進行調整。

  • 返回字段

返回字段

字段類型

說明

response

DepositDataResponse

存證交易的響應

DepositDataResponse,具體參數見下表。

返回字段

字段類型

說明

transactionReceipt

TransactionReceipt

交易收據

blockNumber

BigInteger

區塊號

TransactionReceipt,具體參數見下表。

參數

類型

說明

result

long

交易執行結果,0 代表成功,其他值代表失敗

gasUsed

BigInteger

交易執行所花費的gas費用

logs

List<logEntry>

交易結果日志輸出

output

byte[]

交易的輸出,此處為虛擬機的執行結果

LogEntry,具體參數見下表。

參數

類型

說明

from

Identity

交易結果日志中的字段,代表交易發送者

to

Identity

交易結果日志中的字段,代表交易接收者

topics

List<String>

交易結果日志中的字段,交易執行的事件主題

logData

byte[]

交易結果日志中的字段,交易執行中的日志數據

  • 示例

public void depositData() {
        String content = "hello world";
        DepositDataRequest depositDataRequest = new DepositDataRequest(
                Utils.getIdentityByName("Administrator"),
                Utils.getIdentityByName("Tester001"),
                content.getBytes(), new BigInteger("0"));
        DepositDataResponse depositDataResponse = sdk.getAccountService().depositData(depositDataRequest);
        if (!depositDataResponse.isSuccess()) {
            logger.error("depositData failed, errorCode :{}, errorDesc: {}", depositDataResponse.getErrorCode().getErrorCode(), depositDataResponse.getErrorCode().getErrorDesc());
        } else {
            // 交易收據
            TransactionReceipt transactionReceipt = depositDataResponse.getTransactionReceipt();
            if (transactionReceipt.getResult() != 0) {
                logger.error("depositData failed, errorCode :{}, errorDesc: {}", ErrorCode.valueOf((int) transactionReceipt.getResult()).getErrorCode(), ErrorCode.valueOf((int) transactionReceipt.getResult()).getErrorDesc());
            } else {
                logger.info("depositData success.返回信息: {}", transactionReceipt.toString());
            }
        }
    }

asyncDepositData

發起存證內容上鏈的交易,異步方式調用。

  • 函數原型

public int asyncDepositData(DepositDataRequest request, IAsyncCallback callback)
  • 請求參數

參數

必選

類型

說明

request

true

DepositDataRequest

發起存證的請求

callback

true

IAsyncCallback

回調函數

重要

存證交易的 data 數據大小有上限限制,此限制為合約鏈的一個配置選項,通常默認 1 MB,實際根據合約鏈的配置情況而定。

  • 同步返回字段

返回字段

字段類型

說明

result

int

發送返回值

  • 異步返回字段

返回字段

字段類型

說明

errorCode

int

SDK發送消息返回的錯誤碼,success時為0。

response

Response

平臺返回的響應,其中 response.getErrorCode()是平臺返回的錯誤碼。

DepositDataResponse,具體參數見下表。

返回字段

字段類型

說明

transactionReceipt

TransactionReceipt

交易收據

blockNumber

BigInteger

區塊號

  • 示例

public void asyncDepositData() {
        String content = "hello world";
        DepositDataRequest depositDataRequest = new DepositDataRequest(
                Utils.getIdentityByName("Administrator"),
                Utils.getIdentityByName("Tester001"),
                content.getBytes(), new BigInteger("0"));
        int result = sdk.getAccountService().asyncDepositData(depositDataRequest, new IAsyncCallback() {
            @Override
            public void onResponse(int errorCode, Response response) {
                // 參考錯誤信息說明文檔,檢查返回的數據  
                DepositDataResponse depositDataResponse = (DepositDataResponse) response;
                if (!depositDataResponse.isSuccess()) {
                    logger.error("depositData failed, errorCode :{}, errorDesc: {}", depositDataResponse.getErrorCode().getErrorCode(), depositDataResponse.getErrorCode().getErrorDesc());
                } else {
                    // 交易收據
                    TransactionReceipt transactionReceipt = depositDataResponse.getTransactionReceipt();
                    if (transactionReceipt.getResult() != 0) {
                        logger.error("depositData failed, errorCode :{}, errorDesc: {}", ErrorCode.valueOf((int) transactionReceipt.getResult()).getErrorCode(), ErrorCode.valueOf((int) transactionReceipt.getResult()).getErrorDesc());
                    } else {
                        logger.info("depositData success.返回信息: {}", transactionReceipt.toString());
                    }
                }
            }
        });
    }