# NULS API-JSONRPC

NULS customized the NULS2.0 wallet version required for docking. The docking wallet embeds the NULS-API module. The module encapsulates the NULS-SDK function, uses the HTTP protocol to access the interface, and supports JSON-RPC and RESTful two formats.

mainnet and test wallet download address

NULS-API offline operation tool download address

# Settings

The default port number for the NULS-API module is 18004, which can be modified in the nuls.ncf configuration file (for the entire wallet chainbox) or the module.ncf configuration file (for the individual module), as follows:

[nuls-API]
#httpServerStart port
serverPort=18004

# Description

In order to better understand the related business of NULS2.0, and the meaning of the return value of the interface, do some explanation here in advance.

# Online & Offline

The nuls-api module provides several online and offline interfaces.

Online interface: The wallet must operate normally and be able to connect to other nodes in the network to properly synchronize blocks and broadcast data. Before calling the online interface, it is best to sync to the latest block. The data generated by the interface is saved in the wallet. For example, create an account, change a password, transfer money, get a block header, and so on.

Offline interface: NULS 2.0 provides a NULS-API tool for offline operation .No need to install a wallet, you can run independently on a server that is not connected to the network.The user receives the relevant parameters by calling the offline interface, and obtains the return value, and the corresponding data is not stored in the wallet.For example, creating an account offline, offline assembly transfer transactions, offline signatures, and the like.

# interface method -- JSON call details

  • json-rpc access method Example json data request:
{
  "jsonrpc":"2.0",
  "method": "methodCMD", //interface name
  "params":[], //All interface parameters are passed as arrays, and the order of the parameters cannot be changed. If the parameters are not required, they must also be filled in null placeholders.
  "id":1234
}

Usage example using linux command curl, issued to a chainbox instance.:


\> curl -s -X POST -H 'Content-Type: application/json' --data '{"jsonrpc":"2.0","method":"getChainInfo","params”:[], “id":1234}' http://127.0.0.1:18003

{"jsonrpc":"2.0","id":"null","result":{"chainId":2,"chainName":"nuls2","defaultAsset":{"key":"2-1","chainId":2,"assetId":1,"symbol":"NULS","decimals":8,"initCoins":0,"address":null,"status":1},"assets":[{"key":"2-1","chainId":2,"assetId":1,"symbol":"NULS","decimals":8,"initCoins":0,"address":null,"status":1}],"seeds":["tNULSeBaMkrt4z9FYEkkR9D6choPVvQr94oYZp"],"status":1,"new":false}}


When using Postman:

  1. Type the URL of the API (http://127.0.0.1:18003)
  2. Change method to POST.
  3. In the parameter section click on "raw" and select format as "JSON" and add the json request in the testarea provided.
  4. In the headers section add "Content-Type" as header and "application/json;charset=UTF-8" as the value.
  5. Test by comparing the output to the curl output.

# RESTful access method

Add request header Content-Type: application/json;charset=UTF-8

For the REST access method, please refer to the RESTFUL interface documentation.

# Interface debugging

We provide the import files (JSON-RPC and RESTFUL) of the Postman interface tuning tool. After importing, you can debug the interface.

JSON-RPC Interface Debugging - POSTMAN Import File

RESTFUL Interface Debugging - POSTMAN Import File

# Field Description

chain's chainId:

NULS2.0 supports multi-chain parallel and cross-chain transfer. Each chain is distinguished by chain id. The chain id of the nuls main network is 1, and the chain id of the nuls test network is 2.

Chain assets:

NULS2.0 supports each chain in addition to the default assets, dynamically add assets according to business needs. Each asset of each chain is distinguished by a composite primary key of the chain ID and the asset ID. For example, NULS of the NULS main network, chainId=1, assetId=1

Type value of the transaction:

NULS2.0 has multiple transactions by default. Each transaction has different functions. When calling the interface to query the transaction details, the type field can be used to distinguish different transaction types. The following are the enumeration values of the transaction type:

int COIN_BASE = 1;						// coinBase block reward
int TRANSFER = 2;						// transfer
int ACCOUNT_ALIAS = 3;					/ / Set the account alias
int REGISTER_AGENT = 4;					// New consensus node
int DEPOSIT = 5;						// Entrusted to participate in the consensus
int CANCEL_DEPOSIT = 6;					// cancel the delegate consensus
int YELLOW_PUNISH = 7;					// yellow card
int RED_PUNISH = 8;						// red card
int STOP_AGENT = 9;						// Unregister the consensus node
int CROSS_CHAIN = 10;					// Cross-chain transfer
int REGISTER_CHAIN_AND_ASSET = 11;		// registration chain
int DESTROY_CHAIN_AND_ASSET = 12;		// Logout chain
int ADD_ASSET_TO_CHAIN = 13;			// Add an asset to the chain
int REMOVE_ASSET_FROM_CHAIN = 14;		// Delete the assets on the chain
int CREATE_CONTRACT = 15;				// Create a smart contract
int CALL_CONTRACT = 16;					/ / Call smart contract
int DELETE_CONTRACT = 17;				// delete the smart contract
int CONTRACT_TRANSFER = 18;				// Internal transfer of the contract
int CONTRACT_RETURN_GAS = 19;			// Contract execution fee refund
int CONTRACT_CREATE_AGENT = 20;			// contract new consensus node
int CONTRACT_DEPOSIT = 21;				// Contract commissioned to participate in the consensus
int CONTRACT_CANCEL_DEPOSIT = 22;		// Contract cancellation commission consensus
int CONTRACT_STOP_AGENT = 23;			// Contract cancellation consensus node
int VERIFIER_CHANGE = 24;				// certifier change

From and to: of the transaction

Take a transfer transaction as an example: tx.type = 2

From is the transferor of the transfer transaction, each from a certain amount of assets transferred as a transferor, wherein the nonce value will change after each transfer, you can get the current latest nonce value by calling the query account balance interface.

To is the recipient of the transfer transaction, each to is regarded as the recipient receives the amount of an asset, where lockTime is the lock time. When the lock time is greater than 0, it means that the real time exceeds this value, the asset can be used normally; when lockTime = -1, it means permanent lock, special transaction is needed to unlock, such as participation in the consensus and cancellation of the consensus . Transaction fee = the sum of the main assets of the chain - the sum of the main assets of the chain

# Interface method

  • json-rpc access method

    Add request header Content-Type: application/json;charset=UTF-8

    HttpMethod: POST

    URL: http://{ip}:{port}/jsonrpc

    Example: http://127.0.0.1:18004/jsonrpc

    Request data format:

    {
      "jsonrpc":"2.0",
      "method": "methodCMD", //interface name
      "params":[], //All interface parameters are passed as arrays, and the order of the parameters cannot be changed. If the parameters are not required, they must also be filled in null placeholders.
      "id":1234
    }
    
  • restful access method

Add request header Content-Type: application/json;charset=UTF-8

For the rest, please refer to the RESTFUL interface documentation

# Interface debugging

We provide the import files (JSON-RPC and RESTFUL) of the Postman interface tuning tool. After importing, you can debug the interface.

JSON-PRC Interface Debugging - POSTMAN Import File

RESTFUL Interface Debugging - POSTMAN Import File

# Interface List

# 1.0 Get information

Get information about the chain, where the consensus asset is the asset that needs to be used when creating a consensus node transaction and creating a delegation consensus transaction for this chain.

# Cmd: info

Detailed description: Get information about the chain, where the consensus asset is the asset that needs to be used when creating a consensus node transaction and creating a delegation consensus transaction for the chain

# parameter list

No parameters

# return value

Field Name Field Type Parameter Description
chainId string ID of this chain
assetId string ID of the default primary asset of this chain
inflationAmount string The initial number of default primary assets for this chain
agentChainId string Chain ID of the chain consensus asset
agentAssetId string ID of the chain consensus asset

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "info",
  "params" : [ ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "agentChainId" : 2,
    "inflationAmount" : 500000000000000,
    "agentAssetId" : 1,
    "chainId" : 2,
    "assetId" : 1
  }
}

# 1.1 Creating accounts in batches

# Cmd: createAccount

Detailed description: The created account exists in the local wallet

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
count int create quantity yes
password string password yes

# return value

Field Name Field Type Parameter Description
return value list<string> return account address collection

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "createAccount",
  "params" : [ 2, 1, "abcd1234" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : [ "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk" ]
}

# 1.2 Modify account password

# Cmd: updatePassword

Detailed description: Change account password

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
address string account address yes
oldPassword string original password yes
newPassword string new password yes

# return value

Field Name Field Type Parameter Description
value boolean Whether to modify successfully

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "updatePassword",
  "params" : [ 2, "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk", "abcd1234", "abcd1111" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : true
}

# 1.3 Export account private key

# Cmd: getPriKey

Detailed description: Only the private key of the existing account of the local wallet can be exported

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
address string account address yes
password string password yes

# return value

Field Name Field Type Parameter Description
value string private key

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getPriKey",
  "params" : [ 2, "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk", "abcd1111" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : "53b02c91605451ea35175df894b4c47b7d1effbd05d6b269b3e7c785f3f6dc18"
}

# 1.4 Importing an account based on a private key

# Cmd: importPriKey

Detailed description: When importing the private key, you need to enter the password to encrypt the plaintext private key

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
priKey string Account Clear Text Private Key Yes
password string new password yes

# return value

Field Name Field Type Parameter Description
value string Account Address

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "importPriKey",
  "params" : [ 2, "53b02c91605451ea35175df894b4c47b7d1effbd05d6b269b3e7c785f3f6dc18", "abcd1234" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk"
}

# 1.5 Importing accounts based on keystore

# Cmd: importKeystore

Detailed description: Import account according to keystore

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
keyStoreJson map keyStoreJson Yes
password string keystore password yes

# return value

Field Name Field Type Parameter Description
value string Account Address

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "importKeystore",
  "params" : [ 2, {
    "address" : "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk",
    "encryptedPrivateKey" : "8dbe5c1da7228c0a8b6a26c328231b8df2d4dbfd3f9b029557708d4560de9ecd53a353bb2d688d7c68bd11d741e5d3ed",
    "pubKey" : "024477033a4521efee5f90caf30f8eb3284e8d1bb7fef2923ae21617b24aacc8cb",
    "prikey" : null
  }, "abcd1234" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk"
}

# 1.6 Account backup, export account keystore information

# Cmd: exportKeystore

Detailed description: Account backup, export account keystore information

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
address string account address yes
password string account password yes

# return value

Field Name Field Type Parameter Description
result string keystore

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "exportKeystore",
  "params" : [ 2, "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk", "abcd1234" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : "{\"address\":\"tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk\",\"encryptedPrivateKey\":\"8dbe5c1da7228c0a8b6a26c328231b8df2d4dbfd3f9b029557708d4560de9ecd53a353bb2d688d7c68bd11d741e5d3ed\",\"pubKey\":\"024477033a4521efee5f90caf30f8eb3284e8d1bb7fef2923ae21617b24aacc8cb\",\"prikey\":null}"
}

# 1.7 Querying account balance

# Cmd: getAccountBalance

Detailed description: According to the asset chain ID and asset ID, query the balance and nonce value of the corresponding assets of the chain account

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
assetChainId int Chain ID of the asset Yes
assetId int Asset ID Yes
address string account address yes

# return value

Field Name Field Type Parameter Description
totalBalance string Total Balance
balance string Available balances
timeLock string Time Locked Amount
consensusLock string Consensus Locked Amount
freeze string Total Locked Balance
nonce string account asset nonce value
nonceType int 1: confirmed nonce value, 0: unconfirmed nonce value

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getAccountBalance",
  "params" : [ 2, 2, 1, "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "totalBalance" : "0",
    "balance" : "0",
    "timeLock" : "0",
    "consensusLock" : "0",
    "freeze" : "0",
    "nonce" : "0000000000000000",
    "nonceType" : 1
  }
}

# 1.8 Setting up an account alias

# Cmd: setAlias

Detailed description: The alias format is a combination of 1-20 digits lowercase letters and numbers. Setting an alias will destroy 1 nuls

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
address string account address yes
alias string alias yes
password string account password yes

# return value

Field Name Field Type Parameter Description
value string set the hash of the alias transaction

# Example request data:

no

# Example response data:

slightly

# 1.9 Verify that the address is correct

# Cmd: validateAddress

Detailed description: Verify that the address is correct

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
address string account address yes

# return value

Field Name Field Type Parameter Description
value string boolean

# Example request data:

no

# Example response data:

slightly

# 1.10 Offline - Create an account in bulk

# Cmd: createAccountOffline

Detailed description: The created account will not be saved to the wallet, and the interface directly returns the keystore information of the account

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
count int create quantity yes
prefix string address prefix no
password string password yes

# return value

Field Name Field Type Parameter Description
address string Account Address
pubKey string public key
prikey string Cleartext Private Key
encryptedPrivateKey string Encrypted private key

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "createAccountOffline",
  "params" : [ 2, 1, "tNULS", "abcd1234" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : [ {
    "address" : "tNULSeBaMnS7et6FdFMMMLyK8Wvy1daVVeohfu",
    "pubKey" : "02756e0d0827df60f5806bc00c44f97a9f5c234f78502a314aa40bb0a0156cd9f0",
    "prikey" : "",
    "encryptedPrivateKey" : "720e9f7ac1ab2ee997bad249d1c42212a5c5c744358a7bc65f472a1fe61a87a8f0bc841fdc74c8313fe6c94f496f3676"
  } ]
}

# 1.11 Obtaining the account clear text private key offline

# Cmd: getPriKeyOffline

Detailed description: Obtain the account clear text private key offline

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
address string account address yes
encryptedPrivateKey string Account Ciphertext Private Key Yes
password string password yes

# return value

Field Name Field Type Parameter Description
value string Cleartext private key

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getPriKeyOffline",
  "params" : [ 2, "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk", "8dbe5c1da7228c0a8b6a26c328231b8df2d4dbfd3f9b029557708d4560de9ecd53a353bb2d688d7c68bd11d741e5d3ed", "abcd1234" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "priKey" : "53b02c91605451ea35175df894b4c47b7d1effbd05d6b269b3e7c785f3f6dc18"
  }
}

# 1.12 Modify account password offline

# Cmd: resetPasswordOffline

**Detailed description: Offline account password **

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
address string account address yes
encryptedPrivateKey string Account Ciphertext Private Key Yes
oldPassword string original password yes
newPassword string new password yes

# return value

Field Name Field Type Parameter Description
value string Encrypted private key after resetting password

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "resetPasswordOffline",
  "params" : [ 2, "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk", "8dbe5c1da7228c0a8b6a26c328231b8df2d4dbfd3f9b029557708d4560de9ecd53a353bb2d688d7c68bd11d741e5d3ed", "abcd1234", "abcd1111" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "newEncryptedPriKey" : "8dbe5c1da7228c0a8b6a26c328231b8df2d4dbfd3f9b029557708d4560de9ecd53a353bb2d688d7c68bd11d741e5d3ed"
  }
}

# 1.13 Multiple Account Summary Signature

# Cmd: multiSign

Detailed description: Multi-account transfer transaction for signature offline assembly. When calling interface, parameters can pass address and private key, or pass address and encrypted private key and encrypted password

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
signDtoList list Summary Signature Form Yes
        address string address yes
        priKey string Clear text private key No
        encryptedPrivateKey string Encrypt private key No
        password string Password No
txHex string Transaction Serialization hex string Yes

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Signed transaction hex string

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "multiSign",
  "params" : [ 2, [ {
    "address" : "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk",
    "priKey" : "53b02c91605451ea35175df894b4c47b7d1effbd05d6b269b3e7c785f3f6dc18"
  }, {
    "address" : "tNULSABFehEc2HgKhXFMtH3yGHpSStBthiuMfd",
    "encryptedPrivateKey" : "8dbe5c1da7228c0a8b6a26c328231b8df2d4dbfd3f9b029557708d4560de9ecd53a353bb2d688d7c68bd11d741e5d3ed",
    "password" : "abcd1234"
  } ], "0200b67f2d5d0672656d61726b008c01170200012a9af4ee49f4cb1ee84eafd42aec41bc04b28f7b02000100402a8648170000000000000000000000000000000000000000000000000000000800000000000000000001170200012a9af4ee49f4cb1ee84eafd42aec41bc04b28f7b0200010000e8764817000000000000000000000000000000000000000000000000000000000000000000000000" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHex" : "0200b67f2d5d0672656d61726b008c01170200012a9af4ee49f4cb1ee84eafd42aec41bc04b28f7b02000100402a8648170000000000000000000000000000000000000000000000000000000800000000000000000001170200012a9af4ee49f4cb1ee84eafd42aec41bc04b28f7b0200010000e876481700000000000000000000000000000000000000000000000000000000000000000000006a21024477033a4521efee5f90caf30f8eb3284e8d1bb7fef2923ae21617b24aacc8cb473045022100a8b3d10dfdf4fb0c7c6ede1f5d216a631689fbbd0e9beb46cac1918a5e64ccbc02202a654c3d9a27a99e8458ac18a8b9bc460f520bff10e4592102ad04e22890b412",
    "hash" : "748184df91eda8d09be76e075d553313434c56bfeec3d449abc99ba6c430c00c"
  }
}

# 1.14 Clear text private key digest signature

# Cmd: priKeySign

Detailed description: Clear text private key summary signature

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
txHex string Transaction Serialization hex string Yes
address string account address yes
privateKey string Account Clear Text Private Key Yes

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Signed transaction hex string

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "priKeySign",
  "params" : [ 2, "0200b67f2d5d0672656d61726b008c01170200012a9af4ee49f4cb1ee84eafd42aec41bc04b28f7b02000100402a8648170000000000000000000000000000000000000000000000000000000800000000000000000001170200012a9af4ee49f4cb1ee84eafd42aec41bc04b28f7b0200010000e8764817000000000000000000000000000000000000000000000000000000000000000000000000", "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk", "53b02c91605451ea35175df894b4c47b7d1effbd05d6b269b3e7c785f3f6dc18" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHex" : "0200b67f2d5d0672656d61726b008c01170200012a9af4ee49f4cb1ee84eafd42aec41bc04b28f7b02000100402a8648170000000000000000000000000000000000000000000000000000000800000000000000000001170200012a9af4ee49f4cb1ee84eafd42aec41bc04b28f7b0200010000e876481700000000000000000000000000000000000000000000000000000000000000000000006a21024477033a4521efee5f90caf30f8eb3284e8d1bb7fef2923ae21617b24aacc8cb473045022100a8b3d10dfdf4fb0c7c6ede1f5d216a631689fbbd0e9beb46cac1918a5e64ccbc02202a654c3d9a27a99e8458ac18a8b9bc460f520bff10e4592102ad04e22890b412",
    "hash" : "748184df91eda8d09be76e075d553313434c56bfeec3d449abc99ba6c430c00c"
  }
}

# 1.15 ciphertext private key digest signature

# Cmd: encryptedPriKeySign

Detailed description: ciphertext private key digest signature

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
txHex string Transaction Serialization hex string Yes
address string account address yes
encryptedPrivateKey string Account Ciphertext Private Key Yes
password string password yes

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Signed transaction hex string

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "encryptedPriKeySign",
  "params" : [ 2, "0200b67f2d5d0672656d61726b008c01170200012a9af4ee49f4cb1ee84eafd42aec41bc04b28f7b02000100402a8648170000000000000000000000000000000000000000000000000000000800000000000000000001170200012a9af4ee49f4cb1ee84eafd42aec41bc04b28f7b0200010000e8764817000000000000000000000000000000000000000000000000000000000000000000000000", "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk", "8dbe5c1da7228c0a8b6a26c328231b8df2d4dbfd3f9b029557708d4560de9ecd53a353bb2d688d7c68bd11d741e5d3ed", "abcd" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHex" : "0200b67f2d5d0672656d61726b008c01170200012a9af4ee49f4cb1ee84eafd42aec41bc04b28f7b02000100402a8648170000000000000000000000000000000000000000000000000000000800000000000000000001170200012a9af4ee49f4cb1ee84eafd42aec41bc04b28f7b0200010000e876481700000000000000000000000000000000000000000000000000000000000000000000006a21024477033a4521efee5f90caf30f8eb3284e8d1bb7fef2923ae21617b24aacc8cb473045022100a8b3d10dfdf4fb0c7c6ede1f5d216a631689fbbd0e9beb46cac1918a5e64ccbc02202a654c3d9a27a99e8458ac18a8b9bc460f520bff10e4592102ad04e22890b412",
    "hash" : "748184df91eda8d09be76e075d553313434c56bfeec3d449abc99ba6c430c00c"
  }
}

# 1.16 Creating a multi-signed account

# Cmd: createMultiSignAccount

Detailed description: Create a multi-sign account based on the public key of multiple accounts, minSigns the minimum number of signatures required to create a transaction for a multi-signed account

# parameter list

Parameter Name Parameter Type Parameter Description Required
pubKeys list Account Public Key Collection Yes
        pubKeys list<string> Account Public Key Collection Yes
minSigns int Minimum Signature Yes

# return value

Field Name Field Type Parameter Description
value string Account address

# Example request data:

no

# Example response data:

slightly

# 1.17 Create a setting alias transaction offline

# Cmd: createAliasTx

**Detailed description: Create a set alias transaction offline **

# parameter list

Parameter Name Parameter Type Parameter Description Required
Create Alias Transaction aliasdto Create Alias Transaction Form Yes
        address string Account Address Yes
        alias string alias yes
        nonce string Asset nonce value Yes
        remark string Transaction Notes No

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization hex string

# Example request data:

no

# Example response data:

slightly

# 1.18 Multi-signed account offline creation set alias transaction

# Cmd: createMultiSignAliasTx

**Detailed description: Multi-signed account offline creation set alias transaction **

# parameter list

Parameter Name Parameter Type Parameter Description Required
Multi-Sign Account Offline Create Settings Alias Transaction multisignaliasdto Create Alias Transaction Form Yes
        address string Account Address Yes
        alias string alias yes
        nonce string Asset nonce value Yes
        remark string Transaction Notes No
        pubKeys list<string> Public Key Collection Yes
        minSigns int Minimum Signatures Yes

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization hex string

# Example request data:

no

# Example response data:

slightly

# 1.19 Get the account address format based on the private key

# Cmd: createMultiSignAliasTx

Detailed description: Get account address format based on private key

# parameter list

Parameter Name Parameter Type Parameter Description Required
Original Private Key prikeyform Private Key Form Yes
        priKey string Account Clear Text Private Key Yes

# return value

Field Name Field Type Parameter Description
value string Account Address

# Example request data:

no

# Example response data:

slightly

# 2.1 Query block header according to block height

# Cmd: getHeaderByHeight

**Detailed description: Query block header according to block height **

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
height long block height yes

# return value

Field Name Field Type Parameter Description
hash string hash value of the block
preHash string hash value of the previous block
merkleHash string Merkel hash
time string Block generation time
height long block height
txCount int Number of Block Packaged Transactions
blockSignature string Signature Hex.encode(byte[])
size int Size
packingAddress string Packing address
roundIndex long Consensus Round
consensusMemberCount int Number of Consensus Members
roundStartTime string Current Consensus Round Start Time
packingIndexOfRound int The current round of packaging out the block rankings
mainVersion short Current version of the main network
blockVersion short The version of the block, which can be understood as the version of the local wallet
stateRoot string Smart Contract World State Root
txHashList list<string> Block packed transaction hash collection

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getHeaderByHeight",
  "params" : [ 2, 1 ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "hash" : "0061dee8b289df58e3c820f38b31ce47d02993797f976eacd6020ced392a6b5b",
    "preHash" : "d8880f913c984e4dece5cfb3f5f1d96d6ee923ffb0b47be0079fe84472ddda83",
    "merkleHash" : "8930f7386e33eaf79c22025956820fa58f403b7dbdf3d39ca5f2be5776e8b8e5",
    "time" : "1970-01-19 10:14:08.008",
    "height" : 1,
    "txCount" : 1,
    "blockSignature" : "473045022100f2012721b3eef4bc052bcef76903cb4eab029020b09a300968f7dde6fb7c56be0220621774e67bc8b09440ab40273f64795d83394ec6ad3c9458801c36e9b0f29850",
    "size" : 247,
    "packingAddress" : "tNULSeBaMkrt4z9FYEkkR9D6choPVvQr94oYZp",
    "roundIndex" : 156324818,
    "consensusMemberCount" : 1,
    "roundStartTime" : "1970-01-19 10:14:08.008",
    "packingIndexOfRound" : 1,
    "mainVersion" : 1,
    "blockVersion" : 1,
    "stateRoot" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
  }
}

# 2.2 Query block header based on block hash

# Cmd: getHeaderByHash

Detailed description: Query block header according to block hash

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
hash string block hash yes

# return value

Field Name Field Type Parameter Description
hash string hash value of the block
preHash string hash value of the previous block
merkleHash string Merkel hash
time string Block generation time
height long block height
txCount int Number of Block Packaged Transactions
blockSignature string Signature Hex.encode(byte[])
size int Size
packingAddress string Packing address
roundIndex long Consensus Round
consensusMemberCount int Number of Consensus Members
roundStartTime string Current Consensus Round Start Time
packingIndexOfRound int The current round of packaging out the block rankings
mainVersion short Current version of the main network
blockVersion short The version of the block, which can be understood as the version of the local wallet
stateRoot string Smart Contract World State Root
txHashList list<string> Block packed transaction hash collection

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getHeaderByHash",
  "params" : [ 2, "0061dee8b289df58e3c820f38b31ce47d02993797f976eacd6020ced392a6b5b" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "hash" : "0061dee8b289df58e3c820f38b31ce47d02993797f976eacd6020ced392a6b5b",
    "preHash" : "d8880f913c984e4dece5cfb3f5f1d96d6ee923ffb0b47be0079fe84472ddda83",
    "merkleHash" : "8930f7386e33eaf79c22025956820fa58f403b7dbdf3d39ca5f2be5776e8b8e5",
    "time" : "1970-01-19 10:14:08.008",
    "height" : 1,
    "txCount" : 1,
    "blockSignature" : "473045022100f2012721b3eef4bc052bcef76903cb4eab029020b09a300968f7dde6fb7c56be0220621774e67bc8b09440ab40273f64795d83394ec6ad3c9458801c36e9b0f29850",
    "size" : 247,
    "packingAddress" : "tNULSeBaMkrt4z9FYEkkR9D6choPVvQr94oYZp",
    "roundIndex" : 156324818,
    "consensusMemberCount" : 1,
    "roundStartTime" : "1970-01-19 10:14:08.008",
    "packingIndexOfRound" : 1,
    "mainVersion" : 1,
    "blockVersion" : 1,
    "stateRoot" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
  }
}

# 2.3 Querying the latest block header information

# Cmd: getBestBlockHeader

Detailed description: Query the latest block header information

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes

# return value

Field Name Field Type Parameter Description
hash string hash value of the block
preHash string hash value of the previous block
merkleHash string Merkel hash
time string Block generation time
height long block height
txCount int Number of Block Packaged Transactions
blockSignature string Signature Hex.encode(byte[])
size int Size
packingAddress string Packing address
roundIndex long Consensus Round
consensusMemberCount int Number of Consensus Members
roundStartTime string Current Consensus Round Start Time
packingIndexOfRound int The current round of packaging out the block rankings
mainVersion short Current version of the main network
blockVersion short The version of the block, which can be understood as the version of the local wallet
stateRoot string Smart Contract World State Root
txHashList list<string> Block packed transaction hash collection

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getBestBlockHeader",
  "params" : [ 2 ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "hash" : "f1003ee7c46ee33c5d6c518342c993cad7d202767cb4b7b5ddb69ce19d8899ea",
    "preHash" : "8edfb6610be130020c3815915e81eccaa4c3c426362d1239030119b3a2941923",
    "merkleHash" : "4b4564bff52373d698dbb4d95ea66d23b18a2ae09079a9e62b8f4d7ddf8bdb5c",
    "time" : "1970-01-19 10:14:18.018",
    "height" : 1000,
    "txCount" : 1,
    "blockSignature" : "4730450221009d13cd79b918fba44b4ca549a37dc715e368ac55fe80170f54f52c2742da0ed802207312ee6d38b95a28feaca40ed9c91fba4d47fe5efa1940ecd4fe63e7b9cb5533",
    "size" : 247,
    "packingAddress" : "tNULSeBaMkrt4z9FYEkkR9D6choPVvQr94oYZp",
    "roundIndex" : 156325817,
    "consensusMemberCount" : 1,
    "roundStartTime" : "1970-01-19 10:14:18.018",
    "packingIndexOfRound" : 1,
    "mainVersion" : 1,
    "blockVersion" : 1,
    "stateRoot" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
  }
}

# 2.4 Querying the latest block

# Cmd: getBestBlock

**Detailed description: Contains all transaction information packaged by the block. This interface returns more data and is cautiously called **

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes

# return value

Field Name Field Type Parameter Description
header object block header information, only return the corresponding partial data
        hash string hash value of block
        preHash string hash value of the previous block
        merkleHash string Merkel hash
        time string Block generation time
        height long Block Height
        txCount int Block Packing Transactions
        blockSignature string Signature Hex.encode(byte[])
        size int Size
        packingAddress string Package Address
        roundIndex long Consensus Rounds
        consensusMemberCount int Number of Consensus Members
        roundStartTime string Current Consensus Round Start Time
        packingIndexOfRound int Current rounds of packaged blocks
        mainVersion short Current version of the main network
        blockVersion short The version of the block, which can be understood as the version of the local wallet
        stateRoot string Smart Contract World Status Root
        txHashList list<string> Block packed transaction hash collection
txs list<object> Trading List
        hash string trading hash value
        type int Transaction Type
        time string Trading Hours
        blockHeight long Block Height
        remark string Trade Notes
        transactionSignature string Transaction Signature
        txDataHex string Transaction Business Data Serialization String
        status int Transaction Status 0: unConfirm (to be confirmed), 1: confirm (confirmed)
        size int Transactions Size
        inBlockIndex int The order in the block, stored in rocksDB is unordered, assigned when saving the block, sorted according to this value after taking out
        from list<object> Input
                address string Account Address
                assetsChainId int id of asset distribution chain
                assetsId int Asset id
                amount string Quantity
                nonce string Hex string for account nonce value, preventing double-flower trading, Take the last 8 bytes of a transaction hash
                locked byte 0 normal trade, -1 unlocked trade (exit consensus, Exit commission)
        to list<object> Output
                address string Account Address
                assetsChainId int id of asset distribution chain
                assetsId int Asset id
                amount string Quantity
                lockTime long unlock time, -1 is permanent lock

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getBestBlock",
  "params" : [ 2 ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "header" : {
      "hash" : "55ff1491334a3e636e504f1bc12ba04fa0c582381a0b8e0c3f7aaa12a27fabb5",
      "preHash" : "97bb75f9d12e945396ffb386373941c05d9671770bd4639554e5ed948e775f8c",
      "merkleHash" : "0ecd099ee9c5955588516a6f619d9bef6406a7d2aa31eec592df2c6cb19e326d",
      "time" : "1970-01-19 10:14:21.021",
      "height" : 1348,
      "txCount" : 1,
      "blockSignature" : "463044022046aa28d324da4ec487829fcc8901e351eb13a0290bdd05c084d5e42a876ab6a1022024aa4386081787506771f5e8ddbe7a625d6f4aff67e5c10818fbd4f98ccf264e",
      "size" : 234,
      "packingAddress" : "tNULSeBaMkrt4z9FYEkkR9D6choPVvQr94oYZp",
      "roundIndex" : 156326165,
      "consensusMemberCount" : 1,
      "roundStartTime" : "1970-01-19 10:14:21.021",
      "packingIndexOfRound" : 1,
      "mainVersion" : 1,
      "blockVersion" : 1,
      "stateRoot" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
    },
    "txs" : [ {
      "type" : 1,
      "coinData" : "AAA=",
      "txData" : null,
      "time" : 1563261651,
      "transactionSignature" : null,
      "remark" : null,
      "hash" : {
        "bytes" : "Ds0JnunFlVWIUWpvYZ2b72QGp9KqMe7Fkt8sbLGeMm0="
      },
      "blockHeight" : 1348,
      "status" : "UNCONFIRM",
      "size" : 12,
      "inBlockIndex" : 0,
      "coinDataInstance" : {
        "from" : [ ],
        "to" : [ ],
        "fromAddressCount" : 0
      },
      "fee" : 0,
      "multiSignTx" : false
    } ]
  }
}

# 2.5 Query block based on block height

# Cmd: getBlockByHeight

**Detailed description: Contains all transaction information packaged by the block. This interface returns more data and is cautiously called **

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
height long block height yes

# return value

Field Name Field Type Parameter Description
header object block header information, only return the corresponding partial data
        hash string hash value of block
        preHash string hash value of the previous block
        merkleHash string Merkel hash
        time string Block generation time
        height long Block Height
        txCount int Block Packing Transactions
        blockSignature string Signature Hex.encode(byte[])
        size int Size
        packingAddress string Package Address
        roundIndex long Consensus Rounds
        consensusMemberCount int Number of Consensus Members
        roundStartTime string Current Consensus Round Start Time
        packingIndexOfRound int Current rounds of packaged blocks
        mainVersion short Current version of the main network
        blockVersion short The version of the block, which can be understood as the version of the local wallet
        stateRoot string Smart Contract World Status Root
        txHashList list<string> Block packed transaction hash collection
txs list<object> Trading List
        hash string trading hash value
        type int Transaction Type
        time string Trading Hours
        blockHeight long Block Height
        remark string Trade Notes
        transactionSignature string Transaction Signature
        txDataHex string Transaction Business Data Serialization String
        status int Transaction Status 0: unConfirm (to be confirmed), 1: confirm (confirmed)
        size int Transactions Size
        inBlockIndex int The order in the block, stored in rocksDB is unordered, assigned when saving the block, sorted according to this value after taking out
        from list<object> Input
                address string Account Address
                assetsChainId int id of asset distribution chain
                assetsId int Asset id
                amount string Quantity
                nonce string Hex string for account nonce value, preventing double-flower trading, Take the last 8 bytes of a transaction hash
                locked byte 0 normal trade, -1 unlocked trade (exit consensus, Exit commission)
        to list<object> Output
                address string Account Address
                assetsChainId int id of asset distribution chain
                assetsId int Asset id
                amount string Quantity
                lockTime long unlock time, -1 is permanent lock

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getBlockByHeight",
  "params" : [ 2, 100 ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "header" : {
      "hash" : "0620b926b2f09921315cc251bd65fe803cfa9e2259275900f7f7509cd0dac6d3",
      "preHash" : "975c90cbc8dedc577ebf315be4d11b4153c2bbb1b9704484c45752215717aa1d",
      "merkleHash" : "c9144c126f64f2e79d11879af9f4c94839202c464bb854dae17d89800de30fc6",
      "time" : "1970-01-19 10:14:09.009",
      "height" : 100,
      "txCount" : 1,
      "blockSignature" : "463044022060286d182fb808bb24543730a0316688b2c02f8378f112bca15d0860288dc5340220566b867e1813ed57c79b5b6ed9baf1f07e29afa8b445a842120c5407557a7363",
      "size" : 234,
      "packingAddress" : "tNULSeBaMkrt4z9FYEkkR9D6choPVvQr94oYZp",
      "roundIndex" : 156324917,
      "consensusMemberCount" : 1,
      "roundStartTime" : "1970-01-19 10:14:09.009",
      "packingIndexOfRound" : 1,
      "mainVersion" : 1,
      "blockVersion" : 1,
      "stateRoot" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
    },
    "txs" : [ {
      "type" : 1,
      "coinData" : "AAA=",
      "txData" : null,
      "time" : 1563249171,
      "transactionSignature" : null,
      "remark" : null,
      "hash" : {
        "bytes" : "yRRMEm9k8uedEYea+fTJSDkgLEZLuFTa4X2JgA3jD8Y="
      },
      "blockHeight" : 100,
      "status" : "UNCONFIRM",
      "size" : 12,
      "inBlockIndex" : 0,
      "coinDataInstance" : {
        "from" : [ ],
        "to" : [ ],
        "fromAddressCount" : 0
      },
      "fee" : 0,
      "multiSignTx" : false
    } ]
  }
}

# 2.6 Query block based on block hash

# Cmd: getBlockByHash

**Detailed description: Contains all transaction information packaged by the block. This interface returns more data and is cautiously called **

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
hash string block hash yes

# return value

Field Name Field Type Parameter Description
header object block header information, only return the corresponding partial data
        hash string hash value of block
        preHash string hash value of the previous block
        merkleHash string Merkel hash
        time string Block generation time
        height long Block Height
        txCount int Block Packing Transactions
        blockSignature string Signature Hex.encode(byte[])
        size int Size
        packingAddress string Package Address
        roundIndex long Consensus Rounds
        consensusMemberCount int Number of Consensus Members
        roundStartTime string Current Consensus Round Start Time
        packingIndexOfRound int Current rounds of packaged blocks
        mainVersion short Current version of the main network
        blockVersion short The version of the block, which can be understood as the version of the local wallet
        stateRoot string Smart Contract World Status Root
        txHashList list<string> Block packed transaction hash collection
txs list<object> Trading List
        hash string trading hash value
        type int Transaction Type
        time string Trading Hours
        blockHeight long Block Height
        remark string Trade Notes
        transactionSignature string Transaction Signature
        txDataHex string Transaction Business Data Serialization String
        status int Transaction Status 0: unConfirm (to be confirmed), 1: confirm (confirmed)
        size int Transactions Size
        inBlockIndex int The order in the block, stored in rocksDB is unordered, assigned when saving the block, sorted according to this value after taking out
        from list<object> Input
                address string Account Address
                assetsChainId int id of asset distribution chain
                assetsId int Asset id
                amount string Quantity
                nonce string Hex string for account nonce value, preventing double-flower trading, Take the last 8 bytes of a transaction hash
                locked byte 0 normal trade, -1 unlocked trade (exit consensus, Exit commission)
        to list<object> Output
                address string Account Address
                assetsChainId int id of asset distribution chain
                assetsId int Asset id
                amount string Quantity
                lockTime long unlock time, -1 is permanent lock

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getBlockByHash",
  "params" : [ 2, "0620b926b2f09921315cc251bd65fe803cfa9e2259275900f7f7509cd0dac6d3" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "header" : {
      "hash" : "0620b926b2f09921315cc251bd65fe803cfa9e2259275900f7f7509cd0dac6d3",
      "preHash" : "975c90cbc8dedc577ebf315be4d11b4153c2bbb1b9704484c45752215717aa1d",
      "merkleHash" : "c9144c126f64f2e79d11879af9f4c94839202c464bb854dae17d89800de30fc6",
      "time" : "1970-01-19 10:14:09.009",
      "height" : 100,
      "txCount" : 1,
      "blockSignature" : "463044022060286d182fb808bb24543730a0316688b2c02f8378f112bca15d0860288dc5340220566b867e1813ed57c79b5b6ed9baf1f07e29afa8b445a842120c5407557a7363",
      "size" : 234,
      "packingAddress" : "tNULSeBaMkrt4z9FYEkkR9D6choPVvQr94oYZp",
      "roundIndex" : 156324917,
      "consensusMemberCount" : 1,
      "roundStartTime" : "1970-01-19 10:14:09.009",
      "packingIndexOfRound" : 1,
      "mainVersion" : 1,
      "blockVersion" : 1,
      "stateRoot" : "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
    },
    "txs" : [ {
      "type" : 1,
      "coinData" : "AAA=",
      "txData" : null,
      "time" : 1563249171,
      "transactionSignature" : null,
      "remark" : null,
      "hash" : {
        "bytes" : "yRRMEm9k8uedEYea+fTJSDkgLEZLuFTa4X2JgA3jD8Y="
      },
      "blockHeight" : 100,
      "status" : "UNCONFIRM",
      "size" : 12,
      "inBlockIndex" : 0,
      "coinDataInstance" : {
        "from" : [ ],
        "to" : [ ],
        "fromAddressCount" : 0
      },
      "fee" : 0,
      "multiSignTx" : false
    } ]
  }
}

# 2.7 Querying block serialization strings based on block height

# Cmd: getBlockSerializationByHeight

**Detailed description: Contains all transaction information packaged by the block. This interface returns more data and is cautiously called **

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
height long block height yes

# return value

Field Name Field Type Parameter Description
Return value string Returns the HEX string after the serialization of the block

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getBlockSerializationByHeight",
  "params" : [ 2, 1 ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : "772f158614cefd4f4e0a7ef1cd442f4de7439c10b5642afe582ed09b585d9b1e37d371e184142ebb1d46f4160a18a1e27d51c23dd66c0ccc607044821ae7fff24ddc4c5d01000000010000005c6e7c5409010043dc4c5d0100010001005064002056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b42100000000000000000000000000000000000000000000000000000000000000000f2517abe887d67e21037fae74d15153c3b55857ca0abd5c34c865dfa1c0d0232997c545bae5541a0863473045022100c6515c296a80ae8ef48713cae87b693003fb57cc41ce2af4dcc93d32e3cb382502201b84db49946fee5fd57edb350fe0f4c78cac3a503cfb11cbb3a4f6082ffe26cb01004ddc4c5d000002000000"
}

# 2.8 Serializing strings based on block hash query block

# Cmd: getBlockSerializationByHash

**Detailed description: Contains all transaction information packaged by the block. This interface returns more data and is cautiously called **

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
hash string block hash yes

# return value

Field Name Field Type Parameter Description
Return value string Returns the HEX string after the serialization of the block

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getBlockSerializationByHeight",
  "params" : [ 2, "5ce81f9a470459276b633465f2572862aa7156a42220d29d724ced9bf9d723f9" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : "772f158614cefd4f4e0a7ef1cd442f4de7439c10b5642afe582ed09b585d9b1e37d371e184142ebb1d46f4160a18a1e27d51c23dd66c0ccc607044821ae7fff24ddc4c5d01000000010000005c6e7c5409010043dc4c5d0100010001005064002056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b42100000000000000000000000000000000000000000000000000000000000000000f2517abe887d67e21037fae74d15153c3b55857ca0abd5c34c865dfa1c0d0232997c545bae5541a0863473045022100c6515c296a80ae8ef48713cae87b693003fb57cc41ce2af4dcc93d32e3cb382502201b84db49946fee5fd57edb350fe0f4c78cac3a503cfb11cbb3a4f6082ffe26cb01004ddc4c5d000002000000"
}

# 3.1 Get trading based on hash

# Cmd: getTx

Detailed description: Get transaction based on hash

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
hash string transaction hash yes

# return value

Field Name Field Type Parameter Description
hash string hash value of the transaction
type int Transaction Type
time string Trading Hours
blockHeight long Block Height
remark string Trading Notes
transactionSignature string Transaction Signature
txDataHex string Transaction Business Data Serialization String
status int Transaction Status 0: unConfirm (to be confirmed), 1: confirm (confirmed)
size int Transactions Size
inBlockIndex int The order in the block, stored in rocksDB is unordered, assigned when saving the block, sorted according to this value after taking out
from list<object> Input
        address string Account Address
        assetsChainId int id of asset distribution chain
        assetsId int Asset id
        amount string Quantity
        nonce string The Hex string for the account's nonce value, preventing double-flower trading, taking the last 8 bytes of a transaction hash
        locked byte 0 ordinary trade, -1 unlocked amount trade (exit consensus, exit commission)
to list<object> Output
        address string Account Address
        assetsChainId int id of asset distribution chain
        assetsId int Asset id
        amount string Quantity
        lockTime long unlock time, -1 is permanent lock

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getTx",
  "params" : [ 2, "40acabd7e7b7643aa545f2b74d09f8d65eecf885919d968d263a7a24255f8698" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "hash" : "40acabd7e7b7643aa545f2b74d09f8d65eecf885919d968d263a7a24255f8698",
    "type" : 2,
    "time" : "2019-07-16 15:24:55.055",
    "blockHeight" : 1373,
    "remark" : null,
    "transactionSignature" : "2103958b790c331954ed367d37bac901de5c2f06ac8368b37d7bd6cd5ae143c1d7e3473045022100c2cdaec043c8e5f26cf2efcd63ce9a27461d0569fc4f5c13ee685c506329da4702204f3e0fc3aed450dbb8ac14b5745c1e694100092bad63a40247a534a82fcdab9d",
    "status" : 1,
    "size" : 256,
    "inBlockIndex" : 0,
    "form" : [ {
      "address" : "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG",
      "assetsChainId" : 2,
      "assetsId" : 1,
      "amount" : "10000000100000",
      "nonce" : "0000000000000000",
      "locked" : 0
    } ],
    "to" : [ {
      "address" : "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk",
      "assetsChainId" : 2,
      "assetsId" : 1,
      "amount" : "10000000000000",
      "lockTime" : 0
    } ]
  }
}

# 3.2 Verifying the transaction

# Cmd: validateTx

Detailed description: Verify offline assembled transaction, verify successful return of transaction hash value, failure returns error message

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
tx string Transaction Serialization String Yes

# return value

Field Name Field Type Parameter Description
value string transaction hash

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "validateTx",
  "params" : [ 2, "02003fac2d5d00008c0117020001efa328e600912da9872390a675486ab9e8ec211402000100e0c8100000000000000000000000000000000000000000000000000000000000080000000000000000000117020001f7ec6473df12e751d64cf20a8baa7edd50810f810200010040420f000000000000000000000000000000000000000000000000000000000000000000000000006921023cee1aa6158ee640c8f48f9a9fa9735c8ed5426f2c353b0ed65e123033d820e646304402203c376fd0121fce6228516c011126a8526c5bc543afb7e4272c0de708a55d834f02204ebcd942e019b77bbec37f7e2b77b591ba4ce0fbc5fe9335ab91ae925ded6bed" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "value" : "5a91b75e6a6d1f415638375627933b42ce7179b4c6390ca0dcc5a0c2c74bd34a"
  }
}

# 3.3 Broadcast Trading

# Cmd: broadcastTx

Detailed description: Broadcast offline assembly transaction, successfully returns true, failure returns error message

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
tx string Transaction Serialization hex string Yes

# return value

Field Name Field Type Parameter Description
value boolean success
hash string transaction hash

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "broadcastTx",
  "params" : [ 2, "02003fac2d5d00008c0117020001efa328e600912da9872390a675486ab9e8ec211402000100e0c8100000000000000000000000000000000000000000000000000000000000080000000000000000000117020001f7ec6473df12e751d64cf20a8baa7edd50810f810200010040420f000000000000000000000000000000000000000000000000000000000000000000000000006921023cee1aa6158ee640c8f48f9a9fa9735c8ed5426f2c353b0ed65e123033d820e646304402203c376fd0121fce6228516c011126a8526c5bc543afb7e4272c0de708a55d834f02204ebcd942e019b77bbec37f7e2b77b591ba4ce0fbc5fe9335ab91ae925ded6bed" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "value" : true,
    "hash" : "5a91b75e6a6d1f415638375627933b42ce7179b4c6390ca0dcc5a0c2c74bd34a"
  }
}

# 3.4 Single transfer

# Cmd: transfer

Detailed Description: Initiate a single account single asset transfer transaction

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
assetId int asset id yes
address string Transfer out account address Yes
toAddress string Transfer to account address Yes
password string Transfer Account Password Yes
amount string Transfer Amount Yes
remark string Notes Yes

# return value

Field Name Field Type Parameter Description
hash string transaction hash

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "transfer",
  "params" : [ 2, 1, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk", "nuls123456", "10000000000000", "transfer tx" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "hash" : "40acabd7e7b7643aa545f2b74d09f8d65eecf885919d968d263a7a24255f8698"
  }
}

# 3.5 Offline assembly transfer transaction

# Cmd: createTransferTxOffline

Detailed Description: Offline transfer transactions based on inputs and outputs for single or multiple account transfer transactions.The transaction fee is the sum of the main assets of the chain in the inputs, minus the sum of the main assets of the chain in the output

# parameter list

Parameter Name Parameter Type Parameter Description Required
TransferDto transferdto Transfer Transaction Form Yes
        inputs list<object> Transfer Transaction Input List Yes
                address string Account Address Yes
                assetChainId int Asset Chain id Yes
                assetId int Asset id Yes
                amount biginteger Asset Amount Yes
                nonce string Asset nonce value Yes
        outputs list<object> Transfer Transaction Output List Yes
                address string Account Address Yes
                assetChainId int Asset Chain id Yes
                assetId int Asset id Yes
                amount biginteger Asset Amount Yes
                lockTime long Lock Time Yes
        remark string Transaction Notes Yes

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization hex string

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "createTransferTxOffline",
  "params" : [ [ {
    "address" : "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk",
    "assetChainId" : 2,
    "assetId" : 1,
    "amount" : "100001000000",
    "nonce" : "0000000000000000"
  } ], [ {
    "address" : "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk",
    "assetChainId" : 2,
    "assetId" : 1,
    "amount" : "100000000000",
    "lockTime" : 0
  } ], "remark" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHex" : "0200b67f2d5d0672656d61726b008c01170200012a9af4ee49f4cb1ee84eafd42aec41bc04b28f7b02000100402a8648170000000000000000000000000000000000000000000000000000000800000000000000000001170200012a9af4ee49f4cb1ee84eafd42aec41bc04b28f7b0200010000e8764817000000000000000000000000000000000000000000000000000000000000000000000000",
    "hash" : "748184df91eda8d09be76e075d553313434c56bfeec3d449abc99ba6c430c00c"
  }
}

# 3.6 Calculate the commission fee for creating a transfer transaction offline

# Cmd: calcTransferTxFee

Detailed description: Calculate the commission fee required to create a transfer transaction offline

# parameter list

Parameter Name Parameter Type Parameter Description Required
TransferTxFeeDto transfertxfeedto Transfer transaction fee Yes
        addressCount int Transfer Address Quantity Yes
        fromLength int Transfer Entry Length Yes
        toLength int Transfer output length Yes
        remark string Transaction Notes Yes
        price biginteger Fee Price No

# return value

Field Name Field Type Parameter Description
value string transaction fee

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "calcTransferTxFee",
  "params" : [ 6, 6, 2, "remark", "1000000" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "value" : 2000000
  }
}

# 3.7 Offline assembly transfer transaction

# Cmd: createMultiSignTransferTxOffline

Detailed Description: Offline transfer transactions based on inputs and outputs for single or multiple account transfer transactions.The transaction fee is the sum of the main assets of the chain in the inputs, minus the sum of the main assets of the chain in the output

# parameter list

Parameter Name Parameter Type Parameter Description Required
TransferDto multisigntransferdto Transfer Transaction Form Yes
        pubKeys list<string> Public Key Collection Yes
        minSigns int Minimum Signatures Yes
        inputs list<object> Transfer Transaction Input List Yes
                address string Account Address Yes
                assetChainId int Asset Chain id Yes
                assetId int Asset id Yes
                amount biginteger Asset Amount Yes
                nonce string Asset nonce value Yes
        outputs list<object> Transfer Transaction Output List Yes
                address string Account Address Yes
                assetChainId int Asset Chain id Yes
                assetId int Asset id Yes
                amount biginteger Asset Amount Yes
                lockTime long Lock Time Yes
        remark string Transaction Notes Yes

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization hex string

# Example request data:

no

# Example response data:

slightly

# 3.8 Calculate the commission required to create a transfer transaction offline

# Cmd: calcMultiSignTransferTxFee

Detailed description: Calculate the commission fee required to create a transfer transaction offline

# parameter list

Parameter Name Parameter Type Parameter Description Required
MultiSignTransferTxFeeDto multisigntransfertxfeedto Transfer transaction fee Yes
        pubKeyCount int Multi-signal address corresponding to the number of public keys Yes
        fromLength int Transfer Entry Length Yes
        toLength int Transfer output length Yes
        remark string Transaction Notes Yes
        price biginteger Fee Price No

# return value

Field Name Field Type Parameter Description
value string transaction fee

# Example request data:

no

# Example response data:

slightly

# 4.1 Publishing contract

# Cmd: contractCreate

Detailed description: Release contract

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
sender string Transaction Creator Account Address Yes
password string account password yes
alias string contract alias yes
gasLimit long GAS Limit Yes
price long GAS unit price Yes
ContractCode string Smart Contract Code (Hex encoded string of bytecode) Yes
args object[] List of parameters No
remark string Transaction Notes No

# return value

Field Name Field Type Parameter Description
txHash string publish contract trading hash
contractAddress string generated contract address

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "contractCreate",
  "params" : [ 2, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", "nuls123456", "jsonrpc_nrc20", 20000, 30, "504b03040a0000080000aa7b564e00000000000000000000000003000400696f2ffeca0000504b03040a0000080000aa7b564e00000000000000000000000008000000696f2f6e756c732f504b03040a0000080000aa7b564e00000000000000000000000011000000696f2f6e756c732f636f6e74726163742f504b03040a0000080000aa7b564e00000000000000000000000017000000696f2f6e756c732f636f6e74726163742f746f6b656e2f504b0304140008080800aa7b564e00000000000000000000000028000000696f2f6e756c732f636f6e74726163742f746f6b656e2f53696d706c65546f6b656e2e636c617373b558f97754e5197eeecc90990c972d9090059209a498cc9291a58a8152020d35ca5602b1605bbd99b9492ecc12670922b46ead4babd56aeb5ad1565bd4aa2c020169d59ed353cfe93fd17f84d3d3e7fdee9d3b37612639d5d31ff2ddf77ecbfb3eeff67c77f2afff7cf639804df87b23a23825c323329c96e14c1831fcb411cdf859108f86119497281e93e171997e22cce149197e1ec62ff0d462acc2d3413c13c672fc2a8ce7f0bcccfc3a8817827831cc53bf91e125195e96e5df8af4bb205e09a3430e44f19a0cafcbf086a87d5386df87f096cc9c9597b7457a27843fc8f38f21bc2b7ade0be24f41fc39887341bcaf219033b2a686a6bdc78d692399317213c99152c1ca4d6cd3d0503c951dcb673484d266caca1a99a2066d58c3e252be646446ca535399531a5aeca359a33499dc654d0ce74ae68459e0f1d098417d2993a796d97bca252b93dc674c71b171c49ac819a57281c68766af6edf6be593b972a6984ce573a582912a258be913c9c174ba60168bdb6a9bdb419d412393c99f34d31a4a5f43e337342f0056f5f6d58a6360773e6d4a10ac9cb9bf9c1d330b878db18c8a7a3e6564468d8225efce64a0346931643db7c228e54f98b9e488959de26691a9bbed503957b2b2e6a855b4787c3097636e4a563e47151b6a7b62b87b92a39679924afcbd7d4c6b6b05fdada96cd86ee5acd20e0d3b7a6f75b0decc5c35c37da31a968822cbc80c66f304ae61dd6cfc078d02ebb164166639125dd09143e64365ab60a6a5b2541548e16938dcbb4032e75dad1b8e45f99339b3a0a173fef3acc8e294994bcb565d1d19ac14e8a269235336a5796655c0a9a94a152c192919a9132c47f56eb302b5d048ae386e16f614f2590d47be917bb5bdeb3bc6121c57ea7da53cc3e974f181710d772c60af6ec0828e129242c5030d772e84be2ebea0313555c84f53dd722b972a9846d11c543306c92a6ca4d3667ad48eef7232d79cf565c5f29832e66e0ae53315510ebb49fabf84973d1032ec2d1babe2260f2ed77eb868565f96550e559739b3ab12d7af19cc5109a6bdc583c0d5ba283569a64e90657aeb9f4fd659ab7fa24115ffc68a40df63f3eaf0528b9cf7678b131a06ff27bbb5358547f2e542cadc6349cb2df7306bbf6cd7d18fa48edb65d8884d3a36638b8e217ca0e3436cd1b0a27a6fdc6d1427d9ac3abe8d3b74dc25c35f64f347f858c727381fc4051d177149c7a7b84c42abc3edca76cf61a74586a64da1c82573def5e11ca96477c62816cda2e0213d5cd17115333aaee13a0fccbacf782dd58a888e49983a72c8e83821c367b8a1c382b910ba4a2755d0cd7ad79116adf7e05e1d79301e7fc5df747c8ef31a3a8673c5f2f8b895b2b82fe274703aa254cbe6691d5fe0bc8ea36087270e4f9a11551d916cb9588a8c999109f6312f864869d2c845f2850819dfc8f078e4f67e394e289db32c389413c98fdb36fac5c52f79e32c7cafb216aae57260ecb899a2f6b535fb6bb7f3a261cd7c5153772c0b2e706ce8d001be1c1edacf712a7f527a6bb82e6f86b2e54cc9529f59fdf55ab0ded9d69a78f749eb34149d5b29c22b7f812bcc3f55a6735bbdf7be1d916db7cef4dd3aa5a1bda68123ac4e524ec0cc5a54df5587bd544dd93d3f6172df861a306a1a0d16ec0f025ae83d26e71b53f9ec9451607ee761337e04f9c9868c7b85097943f71eabc51de8e637750c3ec49140039a842af8e3a049d8423d49187cfa8433d493c400d2b492b7f2ef2ecffb003fd699616ca3bc9d3349be697c2e8a5e8676416df90ec70635b9163b38eaf6067c173bf91c745677f1a911422d45beb98ad62fa8682376d750e4ff688ea2be05156dc6f76a280acc45945c50d110f6388afecd1d8bf834a3335476090d571088de40f0e80c4257d05815c3d1d81568d1f815f8a2cd812bf0471397b0b8397015fa552c915397d1780d4b05d0752cf3e3be1b587e54736666b0e21a9a2eba40fbb158fd060c30658bb11a2d6865296cc606a639c6246f645a0799d6434c729a491687b6d8401d8744ea57711049cac5a7a4ef739f5f491b95febb29b705b86d58797eeb4892e50189c51754212692441c8e5dc74a1fbec4aafd89af1064602e24e2ce54f340a02df015429c1449c21f505e75f2f72a887529313611650bc3bd8ec9bf8d798b33e4552f92ae1749ecc53e276dfb29f978ba1b07e8bf9f6797e0204f04f00327a1f6da56ae1de2cc52f86ea22588919b680ee2f0ac248bdf4b7c737c3d825127ef670823c0674f34c6142566d0128d715c1d8d736c95d4c54492ac05aa85daa2c0df8b46825e46b0cd84bc8e80c4b1a8adcf75ac07f7398ef5e087ca31910eaaf408b895fe9ae9e0bde5a4e3491e914cf6c4fe8960e01c02fe6b68932aaba4a6795fdc4ecdbeb8e4c0ef817884d11a453b2174d2f83aea1488115b9f07a21dfb7684713f81f9545417c31fdaa9dd446bad90063517e98ff0632798166d8ae6ae2863199728c6e24e143921f29c3836a9583d80101e64120d92d1980760970bb04b454e53d24105b0665a7fe22279d041d21e750cb7df404705c49ad92096aa9d134ce624bbcff200687701b4ab9ad494340f80075c00136c0151d15d01b0b602404d5c45671d1c59e2c8d1cdbc0747b78ba3dbc5d14d1febe2305c1c978943623c142586ae8aedfdf1c45544ce62859a60e53040e7a057b0b6cc83d5efe9f022a35c22ee32ab6d9a55f4302faf47d8e7a73d8d30e4621f72b10f31cd5b5487df89946a04a9b746e9e21e165ba896533ef914a42c4e3de1907584f545740381685b40bc4bc8108bb705e85d375daaf2acdd0d8fb2d01ea3d5c7b1923abad85955268ab83823187770469846bb61234ec3865821f72826f2c907af83e78c83a7d38327d1b46e06eb2b687a66a1b1cbfe296a7b1a2bf00ccbfe590f924e1749a78ba4d345d2e922697191582e927f7045740cd8b1f0f2b74dd66dce453610508b6dce1dd51688276c49507a59fc39ea7b5efe958836bc40067991fcfc126fa2973d88075cc4032ee20117f1808378156fb5e3e4f32a8bdb335b3923f90f816493248bf3147f42381e9de6aa448ba1bc8a6fed8fc69b36cce0b68a7b8db10423de5d85ee4df72b64ac577975bcc680bf4ee86f78ca72bd0b793d5b6e9ff30563b776031372bf82ec931f340e90a203a4cb01928837f54a862b207ae682b0b3fc16d59d65cdbdcd78bee301e025b7ec1c726b60ac2b00f8b3c701708c6f12cfd5bc075648d3b285dfacde0817dde60cab6def320aef29832df631d7e06a654653415f045fd34e4dd979c8b133e5dc371dd19804597843cabab62ddbc973d4f33eed7e407afcd0435c1daecd0e14944d918aee1543eb2d8ef59263dd74acb7d6f0327e0d7d73ddfc98ee7ce231d9ea9a6c75dc14a9acbe8be6383ced96984f79b1a68ec38959666d8f2f52d12542f894fe5cf6a4758d6b7e8debf11ac7639104887fb6ef2755c53c8c5f2ae53e2c278b3e4b36ece0f35534fe17504b0708ec308779cb09000028180000504b0304140008080800aa7b564e00000000000000000000000022000000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e2e636c617373a552d14e1341143d03b5cb16aa28a8a0284a08697970131ff481a76a24694282a19507dfa6bb431d989da933b325fc9a0f7e801f65bc534ba5b6a5896eb23b3be79e7bcebd33f7c7cf6fdf01bcc64e84e711b623bc60a8367a3d6bfa5c7de80bed19569a5a0bfb5e71e7848bf092186dcbb53b1376c828699e0b86f55afde89cf779a2b8ee262d6fa5ee1e306c9e14dacb5c9c4a273b4a34b4369e7b69b463d83b9226d18572496ab4b73cf589cb2e123ee224a7525c9248d95de51da318963291ca9c2b4a5eacd59b0ccb9ea8aa55f47aea8a61e3ba869cfb2fc93bd96d6a2fbac29244dce154582a8ecf18ded4a61b37b2cc0ae70e668aec8c37f3915b6add0b3bd6d5fedcae4ec4d7425a9191e2921f1e26c3db39554d2faafe99eee85ae4d09a9ce1d33ca17fb489f86034e8ae63ae94b90cc7c9d0fe2fb799475d6999c2a6e2502af2a8b4cd85d0af0295616b42d0876832e030acfe19c2e3ceb9486942f76fcbd8fd6be06f278fcd7e99816101e1894b749788695fa15d99d66580b0952958157727b07b589dc0eee301a9dfc0b0466f144cd70784877844ff01ac2efc0647a1c7d81886d6166f864684cdd9b94ff0748aef388d085b83ef33dca135141a7c4ad46e488a10ff02504b070868fe421cca0100005e040000504b0304140008080800aa7b564e00000000000000000000000030000000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e24417070726f76616c4576656e742e636c6173738d565b6f1b4514fec6bbde75b69bbb49d224b46929e05b6a2ee19a4b73218140d2943835b4406163af926d9cdd74771d90a0129540ea033c801020242e2f252f790089b80824c45390f82ffc03049c995dbb89e3243cf8ccd93367e67cdf7c6746fef39f5f7e03f018ae6988e34213148c7333c1cd248f4da998d63083e735bcc0cd0c66b937abe2450d2770218697f838c7cd7c0c176358e0ee256e5e56b1a822c71075deb64d97e1d49ce564ed72c9cb161cdb778d829ff58a6bd98962d1353d6f9841f5364cbbc853a39b46a96c3274cd5d37368decbae1af6627ad9559db37574c97529511cbb6fc3186cb89a3773d66b6e1f6c93c833ce5140940eb9c659b17cbebcba6bb642c9728d231e7148c52de702dfe1d06657fd5f2189a2736365c87b04f6f9ab6cfa0cfdac47caa64789e49d39983607c67cdb4b34bdc9edbb798389e5d2cdbbeb56ee62dcfa22a970cd758377dd39db06dc7377ccbb169cf546382462d27bb68de285bae59a41d632ba6bf10883190481e2747ccab659f39e694f98969b479ae2aa0e6edf9e065f381a03d54f6104979b930eb64e2706114a2639488f97d6152c9b057b20bcbd7cd823f9cbccac01c2ed28129219241a234e77ca3b0366f6c08eda8c1a9f4aae1ad06824b89e42c152156e5122533fa88f94ece772d7b85215e852f760ea2b4b39673ca6ec19cb1782f6842cdf33c4d471f967474a15b470f3727d1abe332f22a5e21e9fe7f37a87855c7237854c5151d4fe16986ee7a189365ab244e3bbe6fe5bbe2f28deab88ad7b8799d006606c28b364ae43203e2ae898c37740c6384a1adfef4187a1bea1ff6391d5a3e9059f43a43e7be7312413aa6fea308379aded362c4ab514b9054c60627c330983828cd41b5c2631aaecbaff6cf11f9fd89a9c3a771869ecc38a82b2121c215a78735c2451723e94ea346f37de8a7effbe9ab44a34c633c75172c95de412495d981941adc81fca358758a6c17a2646f50a68b267868818f4e94719aa2a9603d06f000203c5e97098f578e088fd796708efc4e89261f2467bf7d080f93e590b234f2e5d1d44f88fc50c3a088e03ba2a61e248435191248868bc7289b575404977b0c34117d8fd6dc143b74055935d44a889a2e444320523d90f71b0249370622d503f980d67c7808909e104806830d80c8f5406e3704725e2c3a0044ae07f211adf9f810205c335e98ae7cb8d75f9423d1782b95fe1e51793bbd8b965405d134fdee202a6da77f8732cf75dba58ea22143bf0ad4afd0ba45375ec4298b9f679020514cda9b205513e45db4f381627205b12db472ef0fa8f21664699b404882462f01053e818a4fe9e43e23989f13e52ff026be14b40602c0355ab7e89fc6e3824e1143148be009d1a0badac2fe46bf8a2715d6adb0b836cea9d32b1752ff393cc6e9805d734a306be26046da4ef7ad069c78580ac36f55e37210271a5a10efbb07bf43dc9eafe9367d43cdf32da6f0dd1e35a643d89d04fa193c4b5038d84128ede3ec5fbae511824b30c947e84718cbefffa445f49c862caed1b6bc51867ec5892b77a1773457484141a5b5a32df025eeb7073e616e6dbb594147059df58d77674fe30d8540231815760c67c3a746c173f42c35fd07504b0708ea7bbc798f040000e6090000504b0304140008080800aa7b564e00000000000000000000000030000000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e245472616e736665724576656e742e636c6173738d56df531b5514fe6e76b31bb60be19740015b5aab8624b06ad156c36f84160da5051a0bd5da25d9c296b08bbb1b5e1c1ffa6ff8aebcf0a033923a3ae3f88433fe2ffe078e7aeedd854212c0879c7bf6dc73eef9cef9cebd933ffff9e53700efe189864e4c3441c12417535c4c73db8c8a590d73b8a3e12e177398e7dabc8a4f345cc244029ff235cfc54202f71258e4ea7d2e1ea85852b1cc203ff3dc6d862b79db359c4ad9378aae1378663130fcd29631552a7996efe7186281cb10df35cb158ba12bffdcdc358d6d33d834a6ed8d7927b0362c8fbc9451dbb183718687a9f30fbc60b7e1f18305823be3960840326f3bd6bdcaf6bae5ad98eb65b2b4e7dda2592e989ecdbf23a31c6cda3e43f38a673afe33cb9bddb59c80419f771ccb9b299bbe6fd176b61e4ce06e598eb1c2e58d53c154e3f5a58a13d8db56c1f66dca72dff4cc6d2bb0bc29c7710333b05d87ce4c372ed03cf63196acaf2ab66795e84475c30ae6040d03a9c18b8850fd23e76b17f498f72b4e47af70e6fc704dd0772124b187729d4163c23ff6ba9c3a9b0c854a30cb54ed6b9153d974368cc5f5e75631c80dae3130971353b72588318988e6e5c02c6e2d983b822f1a674abd69fa9b21c9526a709e92502d95323933fa4804ee72e0d9ce0643e7117c717268a593b565b7e215ad399bf3af090687b99b8e3eace8e842b78e1e2e2ea357c74314547c4674fdff0950f148c73b7857c5aa8e5bb8cdd05d0b63ba62974b96c7d0712af26b7ed5c674ace131179f132bd981c01da3b2b203e26689cd2f74e430cad05adb3786de867c47534ded2a84048bc9a6eca73a248cd4a0fef34a6db47d62a4a8eb8d8681483277762ca7c43094aa27a59ea7a841b91affa3c939c7bf3f3573f636aed1d3d8099a47488871aee9018d71bac54a8cd3aad17e1ffae9fb75fa2ad32ad3da997e0996ce1c2096ce1e404a0f1d40fe51445d21d98538c92c790ea109c36881810e1a82ab644d87f118c01b80d0785e26349e3926349e5bc20dd293120986374fc8b7f036490ec7a09587c6d33f21f6c3717e45186f8a7c7ae810e5634861300a1e276f9e4d1175bc42af09eb2d8ab92d4ee80abd8e112b1162ba060d8148b540720d81641a03916a814c50cce419407a2220596a743d10b916c84c4320c322a80e885c0be40ec5dc3d0308e78b27a68b1e9df517f970ea5ea433df232eef670ed192ae229ea1df77884bfb99dfa12c70de0e699a68c9d2af0af55b24f7a065859dbc783f4307896cd24907e9c8413e441b5fc8265791d843926b7f4095f7204bfb04421265f41250200f150bd4b94582f9804a5ec2975816650d84808fcb7a41ff266e8a724a18215b0cef8be1d4d516f637fa557ca0b06e85756a93bc747adba2d27f8eda381b56d79c1695357130a3ad57fb36c39ab8598acc4f8fec7268a732b4d0def70a7ebbb8398fe826add2f0ac119b8f4fb0311bc1ee20d01fe22382c2c10e41699b64ffd20d8f115c82493a223dc658e1f42705d1531a55f1848ee58332f22b2eadbe84dede5c25064529c9f6d65097b8de16ea8439d9fa4d15ed5574d40eded313833712018d614cc8715c8f9e19051fd393d4f41f504b0708826261e37e040000ca090000504b01020a000a0000080000aa7b564e000000000000000000000000030004000000000000000000000000000000696f2ffeca0000504b01020a000a0000080000aa7b564e000000000000000000000000080000000000000000000000000025000000696f2f6e756c732f504b01020a000a0000080000aa7b564e00000000000000000000000011000000000000000000000000004b000000696f2f6e756c732f636f6e74726163742f504b01020a000a0000080000aa7b564e00000000000000000000000017000000000000000000000000007a000000696f2f6e756c732f636f6e74726163742f746f6b656e2f504b01021400140008080800aa7b564eec308779cb090000281800002800000000000000000000000000af000000696f2f6e756c732f636f6e74726163742f746f6b656e2f53696d706c65546f6b656e2e636c617373504b01021400140008080800aa7b564e68fe421cca0100005e0400002200000000000000000000000000d00a0000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e2e636c617373504b01021400140008080800aa7b564eea7bbc798f040000e60900003000000000000000000000000000ea0c0000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e24417070726f76616c4576656e742e636c617373504b01021400140008080800aa7b564e826261e37e040000ca0900003000000000000000000000000000d7110000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e245472616e736665724576656e742e636c617373504b0506000000000800080051020000b31600000000", [ "io", "IO", 80000, 1 ], null ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHash" : "0b8a56835e47ab67c57d1a3e7c9102315b0b219af4c3a7c0fa820d16f09a12f3",
    "contractAddress" : "tNULSeBaMx2zjgThursB6k9XsST7VvZmr2vB3J"
  }
}

# 4.2 Calling the contract

# Cmd: contractCall

Detailed description: Call contract

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
sender string Transaction Creator Account Address Yes
password string caller account password yes
value biginteger The amount of the primary network asset that the caller transferred to the contract address. If there is no such service, fill BigInteger.ZERO Yes
gasLimit long GAS Limit Yes
price long GAS unit price Yes
contractAddress string contract address yes
methodName string contract method yes
methodDesc string Contract method description, if the method in the contract is not overloaded, this parameter can be empty No
args object[] List of parameters No
remark string Transaction Notes No

# return value

Field Name Field Type Parameter Description
txHash string Call contract trading hash

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "contractCall",
  "params" : [ 2, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", "nuls123456", 0, 200000, 30, "tNULSeBaMx2zjgThursB6k9XsST7VvZmr2vB3J", "transfer", null, [ "tNULSeBaMtkzQ1tH8JWBGZDCmRHCmySevE4frM", "4000" ], "remark-jsonrpc-call" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHash" : "1e9d4676e09a7ead64a400971625c0cc0cd0991086bc969fe27a433bb6e6efb9"
  }
}

# 4.3 Deleting a contract

# Cmd: contractDelete

Detailed description: Delete contract

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
sender string Transaction Creator Account Address Yes
password string Trading Account Password Yes
contractAddress string contract address yes
remark string Transaction Notes No

# return value

Field Name Field Type Parameter Description
txHash string delete contract transaction hash

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "contractDelete",
  "params" : [ 2, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", "nuls123456", "tNULSeBaMx2zjgThursB6k9XsST7VvZmr2vB3J", "delete-remark" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHash" : "12f521540bc9dba75b4c8fb605bb7387681891748265c0d4b869c64389008fca"
  }
}

# 4.4 Contract Token Transfer

# Cmd: tokentransfer

Detailed description: Contract token transfer

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
fromAddress string Transferr Account Address Yes
password string Transferring Account Password Yes
toAddress string Transferee Account Address Yes
contractAddress string token contract address Yes
amount biginteger Amount of transferred token assets Yes
remark string Transaction Notes No

# return value

Field Name Field Type Parameter Description
txHash string Trading hash

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "tokentransfer",
  "params" : [ 2, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", "nuls123456", "tNULSeBaMnrs6JKrCy6TQdzYJZkMZJDng7QAsD", "tNULSeBaN7GnASHHfknQ1a9ywiLsNsuim6ASwi", 80, "8"],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHash" : "f628c9787830ff67fe9a3e423899225d7b975add83f9ee505d4ce9d75a79b1fb"
  }
}

# 4.5 Contract transaction from account address to contract address transfer (main chain asset)

# Cmd: transfer2contract

Detailed description: Contract transaction from account address to contract address transfer (main chain asset)

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
fromAddress string Transferr Account Address Yes
password string Transferring Account Password Yes
toAddress string Transferee Account Address Yes
amount biginteger Transferred main chain asset amount Yes
remark string Transaction Notes No

# return value

Field Name Field Type Parameter Description
txHash string Trading hash

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "transfer2contract",
  "params" : [ 2, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", "nuls123456", "tNULSeBaNA4yaXmfaQVXpX3QWPcUaHRRryoXHa", 900000000, "Transfer to Contract"],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHash" : "6a10dea1845b189ff5542939df0ababa5c478fb9414884937212549af1603ad4"
  }
}

# 4.6 Get the token balance of the specified contract of the account address

# Cmd: getTokenBalance

Detailed description: Get the token balance of the specified contract of the account address

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
contractAddress string contract address yes
address string account address yes

# return value

Field Name Field Type Parameter Description
contractAddress string contract address
name string token name
symbol string token symbol
amount string token quantity
decimals long Number of decimal places supported by token
blockHeight long Block Height at Contract Creation
status int Contract Status (0-None, 1-Normal, 2-End)

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getTokenBalance",
  "params" : [ 2, "tNULSeBaMvkanBqyWF1h7MuQ22Pq3JkL8FTfsL", "tNULSeBaMnrs6JKrCy6TQdzYJZkMZJDng7QAsD" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "contractAddress" : "tNULSeBaMvkanBqyWF1h7MuQ22Pq3JkL8FTfsL",
    "name" : "io",
    "symbol" : "IO",
    "amount" : "80",
    "decimals" : 1,
    "blockHeight" : 505,
    "status" : 1
  }
}

# 4.7 Getting Smart Contract Details

# Cmd: getContract

Detailed description: Get smart contract details

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
contractAddress string contract address yes

# return value

Field Name Field Type Parameter Description
createTxHash string publish contract trading hash
address string contract address
creater string contract creator address
alias string contract alias
createTime long contract creation time (unit: second)
blockHeight long Block Height at Contract Creation
isDirectPayable boolean Whether to accept direct transfer
tokenType int token type, 0 - non-token, 1 - NRC20, 2 - NRC721
isNrc20 boolean Is it a NRC20 contract
nrc20TokenName string NRC20-token name
nrc20TokenSymbol string NRC20-token symbol
decimals long Number of decimal places supported by NRC20-token
totalSupply string NRC20-token Distribution Total
status string contract status (not_found, normal, stop)
method list<object> Contract Method List
        name string method name
        desc string Method Description
        args list<object> Method parameter list
                type string Parameter Type
                name string Parameter Name
                required boolean Required
        returnArg string Return value type
        view boolean Whether view method (calling this method data is not on the chain)
        event boolean Whether it is an event
        payable boolean Is it acceptable to transfer the main chain asset
        jsonSerializable boolean Method Returns whether JSON is serialized

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getContract",
  "params" : [ 2, "tNULSeBaNA4yaXmfaQVXpX3QWPcUaHRRryoXHa" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "createTxHash" : "3a932a0bae1cd78c9e56264824a1ff9c96baf857bd799fe6941d0c4e98c19cf0",
    "address" : "tNULSeBaNA4yaXmfaQVXpX3QWPcUaHRRryoXHa",
    "creater" : "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG",
    "alias" : "offline_payable_jr",
    "createTime" : 1563270456,
    "blockHeight" : 427,
    "directPayable" : true,
    "nrc20" : false,
    "nrc20TokenName" : null,
    "nrc20TokenSymbol" : null,
    "decimals" : 0,
    "totalSupply" : null,
    "status" : "normal",
    "method" : [ {
      "name" : "_payable",
      "desc" : "() return void",
      "args" : [ ],
      "returnArg" : "void",
      "view" : false,
      "event" : false,
      "payable" : true
    }, {
      "name" : "<init>",
      "desc" : "() return void",
      "args" : [ ],
      "returnArg" : "void",
      "view" : false,
      "event" : false,
      "payable" : false
    }, {
      "name" : "getName",
      "desc" : "() return String",
      "args" : [ ],
      "returnArg" : "String",
      "view" : false,
      "event" : false,
      "payable" : false
    }, {
      "name" : "getSymbol",
      "desc" : "() return String",
      "args" : [ ],
      "returnArg" : "String",
      "view" : false,
      "event" : false,
      "payable" : false
    }, {
      "name" : "getDecimals",
      "desc" : "() return int",
      "args" : [ ],
      "returnArg" : "int",
      "view" : false,
      "event" : false,
      "payable" : false
    }, {
      "name" : "balance",
      "desc" : "() return String",
      "args" : [ ],
      "returnArg" : "String",
      "view" : false,
      "event" : false,
      "payable" : false
    }, {
      "name" : "single",
      "desc" : "() return String",
      "args" : [ ],
      "returnArg" : "String",
      "view" : false,
      "event" : false,
      "payable" : false
    }, {
      "name" : "multy",
      "desc" : "() return String",
      "args" : [ ],
      "returnArg" : "String",
      "view" : false,
      "event" : false,
      "payable" : true
    }, {
      "name" : "multyForAddress",
      "desc" : "(Address add1, BigInteger add1_na, Address add2, BigInteger add2_na, String add3ForString, BigInteger add3_na) return String",
      "args" : [ {
        "type" : "Address",
        "name" : "add1",
        "required" : false
      }, {
        "type" : "BigInteger",
        "name" : "add1_na",
        "required" : false
      }, {
        "type" : "Address",
        "name" : "add2",
        "required" : false
      }, {
        "type" : "BigInteger",
        "name" : "add2_na",
        "required" : false
      }, {
        "type" : "String",
        "name" : "add3ForString",
        "required" : false
      }, {
        "type" : "BigInteger",
        "name" : "add3_na",
        "required" : false
      } ],
      "returnArg" : "String",
      "view" : false,
      "event" : false,
      "payable" : true
    }, {
      "name" : "allInfo",
      "desc" : "() return String",
      "args" : [ ],
      "returnArg" : "String",
      "view" : false,
      "event" : false,
      "payable" : false
    } ]
  }
}

# 4.8 Getting Smart Contract Execution Results

# Cmd: getContractTxResult

Detailed description: Get smart contract execution results

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
hash string transaction hash yes

# return value

Field Name Field Type Parameter Description
success boolean Successful contract execution
errorMessage string Execution failure information
contractAddress string contract address
result string Contract execution result
gasLimit long GAS Limit
gasUsed long GAS has been used
price long GAS unit price
totalFee string Total transaction fee
txSizeFee string Transaction Size Fee
actualContractFee string Actual execution contract fee
refundFee string Contract return fee
value string The amount of the primary network asset that the caller transferred to the contract address. If there is no such service, it is 0
stackTrace string Exception Stack Trace
transfers list<object> Contract Transfer List (from contract)
        txHash string Contract Generation Transaction: Contract Transfer Transaction hash
        from string Transferred contract address
        value string Transfer amount
        outputs list<object> Transferred Address List
                to string
                value string
        orginTxHash string Call contract transaction hash (source transaction hash, contract transaction derived from calling contract transaction)
events list<string> Contract Event List
tokenTransfers list<object> Contract Token Transfer List
        contractAddress string Contract Address
        from string Payment Party
        to string Payee
        value string Transfer amount
        name string token name
        symbol string token symbol
        decimals long Number of decimal places supported by token
invokeRegisterCmds list<object> Contract Call List of Calls to External Commands
        cmdName string command name
        args map Command parameters, parameters are not fixed, according to different commands, so not described here, the structure is {parameter name=parameter value}
        cmdRegisterMode string Registered Command Mode (QUERY_DATA or NEW_TX)
        newTxHash string generated transaction hash (when the command mode called is NEW_TX, the transaction is generated)
contractTxList list<string> List of serialized strings for contract generation transactions
remark string Notes

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getContractTxResult",
  "params" : [ 2, "b8db1792fbfb6630a5106a1a92ee182aaa694aa1142454e81e4d8286e19ffc11" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "success" : true,
    "errorMessage" : null,
    "contractAddress" : "tNULSeBaN1rhd9k9eqNkvwC9HXBWLQ79dRuy81",
    "result" : "multyForAddress: 888634777633",
    "gasLimit" : 200000,
    "gasUsed" : 20038,
    "price" : 25,
    "totalFee" : "5100000",
    "txSizeFee" : "100000",
    "actualContractFee" : "500950",
    "refundFee" : "4499050",
    "value" : 10000000000,
    "stackTrace" : null,
    "transfers" : [ {
      "txHash" : "4877f6a865dea5b4ac82a8370d73e62da15bc7acb2145a03822dddfdab329d2b",
      "from" : "tNULSeBaN1rhd9k9eqNkvwC9HXBWLQ79dRuy81",
      "value" : "200000000",
      "outputs" : [ {
        "to" : "tNULSeBaMp9wC9PcWEcfesY7YmWrPfeQzkN1xL",
        "value" : "100000000"
      }, {
        "to" : "tNULSeBaMshNPEnuqiDhMdSA4iNs6LMgjY6tcL",
        "value" : "100000000"
      } ],
      "orginTxHash" : "b5473eefecd1c70ac4276f70062a92bdbfe8f779cbe48de2d0315686cc7e6789"
    } ],
    "events" : [ "{\"contractAddress\":\"TTb1LZLo6izPGmXa9dGPmb5D2vpLpNqA\",\"blockNumber\":1343847,\"event\":\"TransferEvent\",\"payload\":{\"from\":\"TTasNs8MGGGaFT9hd9DLmkammYYv69vs\",\"to\":\"TTau7kAxyhc4yMomVJ2QkMVECKKZK1uG\",\"value\":\"1000\"}}" ],
    "tokenTransfers" : [ {
      "contractAddress" : "TTb1LZLo6izPGmXa9dGPmb5D2vpLpNqA",
      "from" : "TTasNs8MGGGaFT9hd9DLmkammYYv69vs",
      "to" : "TTau7kAxyhc4yMomVJ2QkMVECKKZK1uG",
      "value" : "1000",
      "name" : "a",
      "symbol" : "a",
      "decimals" : 8
    } ],
    "invokeRegisterCmds" : [ {
      "cmdName" : "cs_createContractAgent",
      "args" : {
        "contractBalance" : "2030000000000",
        "commissionRate" : "100",
        "chainId" : 2,
        "deposit" : "2000000000000",
        "contractAddress" : "tNULSeBaMzZedU4D3xym1JcyNa5sqtuFku8AKm",
        "contractNonce" : "0000000000000000",
        "blockTime" : 1562564381,
        "packingAddress" : "tNULSeBaMtEPLXxUgyfnBt9bpb5Xv84dyJV98p",
        "contractSender" : "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG"
      },
      "cmdRegisterMode" : "NEW_TX",
      "newTxHash" : "a8eae11b52990e39c9d3233ba1d2c8827336d261c0f14aca43dd4f06435dfaba"
    } ],
    "contractTxList" : [ "12002fbb225d0037b5473eefecd1c70ac4276f70062a92bdbfe8f779cbe48de2d0315686cc7e678902000253472f4702eb83b71871a4c4e0c71526bb86b8afd0011702000253472f4702eb83b71871a4c4e0c71526bb86b8af0200010000c2eb0b0000000000000000000000000000000000000000000000000000000008000000000000000000021702000194f6239c075d184e265eaea97a67eeced51725160200010000e1f50500000000000000000000000000000000000000000000000000000000000000000000000017020001ce8ffa95606f0bfd2778cff2eff8fe8999e20c440200010000e1f50500000000000000000000000000000000000000000000000000000000000000000000000000", "1400bf6b285d006600204aa9d1010000000000000000000000000000000000000000000000000000020002f246b18e8c697f00ed9bd22696998e469d3f824b020001d7424d91c83566eb94233b5416f2aa77709c03e1020002f246b18e8c697f00ed9bd22696998e469d3f824b648c0117020002f246b18e8c697f00ed9bd22696998e469d3f824b0200010000204aa9d1010000000000000000000000000000000000000000000000000000080000000000000000000117020002f246b18e8c697f00ed9bd22696998e469d3f824b0200010000204aa9d1010000000000000000000000000000000000000000000000000000ffffffffffffffff00" ],
    "remark" : "call"
  }
}

# 4.9 Get the list of smart contract execution results

# Cmd: getContractTxResultList

Detailed description: Get smart contract execution result list

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
hashList list Trading hash list Yes
        hashList list<string> Trading hash list Yes

# return value

Field Name Field Type Parameter Description
hash1 or hash2 or hash3... object Use the hash value in the transaction hash list as the key, where the key name is dynamic
        success boolean Successful contract execution
        errorMessage string Execution Failure Information
        contractAddress string Contract Address
        result string Contract execution results
        gasLimit long GAS Limit
        gasUsed long GAS has been used
        price long GAS unit price
        totalFee string Total Transaction Fees
        txSizeFee string Transaction Size Fees
        actualContractFee string Actual Execution Contract Fee
        refundFee string Fees returned by the contract
        value string The amount of the primary network asset that the caller transferred to the contract address, or 0 if there is no such service
        stackTrace string Exception Stack Trace
        transfers list<object> Contract Transfer List (from contract)
                txHash string Contract Generation Transaction: Contract Transfer Transaction hash
                from string Transferred contract address
                value string Transfer amount
                outputs list<object> Transferred Address List
                        to string transfer address
                        value string Transfer amount
                orginTxHash string Call contract transaction hash (source transaction hash, contract transaction is called Contract trading is derived)
        events list<string> Contract Event List
        tokenTransfers list<object> Contract Token Transfer List
                contractAddress string contract address
                from string payment
                to string Payee
                value string Transfer amount
                name string token name
                symbol string token symbol
                decimals long Number of decimal places supported by token
        invokeRegisterCmds list<object> Contract Call List of Calls for External Commands
                cmdName string command name
                args map command parameters, parameters are not fixed, depending on different commands Therefore, it is not described here, and the structure is {parameter name=parameter value}
                cmdRegisterMode string Registered Command Mode (QUERY_DATA or NEW_TX)
                newTxHash string generated transaction hash (when the command mode is called NEW\ When _TX, a transaction will be generated)
        contractTxList list<string> Serialized String List for Contract Generation Transactions
        remark string Notes

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getContractTxResultList",
  "params" : [ 2, [ "c2460b94430074dd98e497ed9d48afb8f44d1323b73ca2086f5abaa0684b760d", "48b2f348f201f9d10848f4031a746919470b679f621327b0e0edf50a339f2e87", "2e99610b7d295790b636fcdb8acf72d70fcae61c873df0984ef248bbbaa6daa2" ] ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "c2460b94430074dd98e497ed9d48afb8f44d1323b73ca2086f5abaa0684b760d" : {
      "success" : true,
      "errorMessage" : null,
      "contractAddress" : "tNULSeBaN5Y2gRias1NMNVmsmXqJbu5Bcp3ZPL",
      "result" : null,
      "gasLimit" : 20000,
      "gasUsed" : 13429,
      "price" : 30,
      "totalFee" : "1300000",
      "txSizeFee" : "700000",
      "actualContractFee" : "402870",
      "refundFee" : "197130",
      "value" : "0",
      "stackTrace" : null,
      "transfers" : [ ],
      "events" : [ "{\"contractAddress\":\"tNULSeBaN5Y2gRias1NMNVmsmXqJbu5Bcp3ZPL\",\"blockNumber\":68,\"event\":\"TransferEvent\",\"payload\":{\"from\":null,\"to\":\"tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG\",\"value\":\"800000\"}}" ],
      "tokenTransfers" : [ {
        "contractAddress" : "tNULSeBaN5Y2gRias1NMNVmsmXqJbu5Bcp3ZPL",
        "from" : null,
        "to" : "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG",
        "value" : "800000",
        "name" : "io",
        "symbol" : "IO",
        "decimals" : 1
      } ],
      "invokeRegisterCmds" : [ ],
      "contractTxList" : [ ],
      "remark" : "create"
    },
    "48b2f348f201f9d10848f4031a746919470b679f621327b0e0edf50a339f2e87" : {
      "success" : true,
      "errorMessage" : null,
      "contractAddress" : "tNULSeBaN5Y2gRias1NMNVmsmXqJbu5Bcp3ZPL",
      "result" : "true",
      "gasLimit" : 200000,
      "gasUsed" : 9444,
      "price" : 30,
      "totalFee" : "6100000",
      "txSizeFee" : "100000",
      "actualContractFee" : "283320",
      "refundFee" : "5716680",
      "value" : "0",
      "stackTrace" : null,
      "transfers" : [ ],
      "events" : [ "{\"contractAddress\":\"tNULSeBaN5Y2gRias1NMNVmsmXqJbu5Bcp3ZPL\",\"blockNumber\":71,\"event\":\"TransferEvent\",\"payload\":{\"from\":\"tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG\",\"to\":\"tNULSeBaMtkzQ1tH8JWBGZDCmRHCmySevE4frM\",\"value\":\"4000\"}}" ],
      "tokenTransfers" : [ {
        "contractAddress" : "tNULSeBaN5Y2gRias1NMNVmsmXqJbu5Bcp3ZPL",
        "from" : "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG",
        "to" : "tNULSeBaMtkzQ1tH8JWBGZDCmRHCmySevE4frM",
        "value" : "4000",
        "name" : "io",
        "symbol" : "IO",
        "decimals" : 1
      } ],
      "invokeRegisterCmds" : [ ],
      "contractTxList" : [ ],
      "remark" : "call"
    },
    "2e99610b7d295790b636fcdb8acf72d70fcae61c873df0984ef248bbbaa6daa2" : {
      "success" : true,
      "errorMessage" : null,
      "contractAddress" : "tNULSeBaN5Y2gRias1NMNVmsmXqJbu5Bcp3ZPL",
      "result" : "true",
      "gasLimit" : 200000,
      "gasUsed" : 5836,
      "price" : 30,
      "totalFee" : "6100000",
      "txSizeFee" : "100000",
      "actualContractFee" : "175080",
      "refundFee" : "5824920",
      "value" : "0",
      "stackTrace" : null,
      "transfers" : [ ],
      "events" : [ "{\"contractAddress\":\"tNULSeBaN5Y2gRias1NMNVmsmXqJbu5Bcp3ZPL\",\"blockNumber\":72,\"event\":\"ApprovalEvent\",\"payload\":{\"owner\":\"tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG\",\"spender\":\"tNULSeBaMtkzQ1tH8JWBGZDCmRHCmySevE4frM\",\"value\":\"4000\"}}" ],
      "tokenTransfers" : [ ],
      "invokeRegisterCmds" : [ ],
      "contractTxList" : [ ],
      "remark" : "call"
    }
  }
}

# 4.10 Get Contract Code Constructor

# Cmd: getContractConstructor

Detailed description: Get contract code constructor

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
ContractCode string Smart Contract Code (Hex encoded string of bytecode) Yes

# return value

Field Name Field Type Parameter Description
Constructor object contract constructor details
        name string method name
        desc string Method Description
        args list<object> Method parameter list
                type string Parameter Type
                name string Parameter Name
                required boolean Required
        returnArg string Return value type
        view boolean Whether view method (calling this method data is not on the chain)
        event boolean Whether it is an event
        payable boolean Is it acceptable to transfer the main chain asset
        jsonSerializable boolean Method Returns whether JSON is serialized
isNrc20 boolean Is it a NRC20 contract

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getContractConstructor",
  "params" : [ 2, "504b03040a0000080000aa7b564e00000000000000000000000003000400696f2ffeca0000504b03040a0000080000aa7b564e00000000000000000000000008000000696f2f6e756c732f504b03040a0000080000aa7b564e00000000000000000000000011000000696f2f6e756c732f636f6e74726163742f504b03040a0000080000aa7b564e00000000000000000000000017000000696f2f6e756c732f636f6e74726163742f746f6b656e2f504b0304140008080800aa7b564e00000000000000000000000028000000696f2f6e756c732f636f6e74726163742f746f6b656e2f53696d706c65546f6b656e2e636c617373b558f97754e5197eeecc90990c972d9090059209a498cc9291a58a8152020d35ca5602b1605bbd99b9492ecc12670922b46ead4babd56aeb5ad1565bd4aa2c020169d59ed353cfe93fd17f84d3d3e7fdee9d3b37612639d5d31ff2ddf77ecbfb3eeff67c77f2afff7cf639804df87b23a23825c323329c96e14c1831fcb411cdf859108f86119497281e93e171997e22cce149197e1ec62ff0d462acc2d3413c13c672fc2a8ce7f0bcccfc3a8817827831cc53bf91e125195e96e5df8af4bb205e09a3430e44f19a0cafcbf086a87d5386df87f096cc9c9597b7457a27843fc8f38f21bc2b7ade0be24f41fc39887341bcaf219033b2a686a6bdc78d692399317213c99152c1ca4d6cd3d0503c951dcb673484d266caca1a99a2066d58c3e252be646446ca535399531a5aeca359a33499dc654d0ce74ae68459e0f1d098417d2993a796d97bca252b93dc674c71b171c49ac819a57281c68766af6edf6be593b972a6984ce573a582912a258be913c9c174ba60168bdb6a9bdb419d412393c99f34d31a4a5f43e337342f0056f5f6d58a6360773e6d4a10ac9cb9bf9c1d330b878db18c8a7a3e6564468d8225efce64a0346931643db7c228e54f98b9e488959de26691a9bbed503957b2b2e6a855b4787c3097636e4a563e47151b6a7b62b87b92a39679924afcbd7d4c6b6b05fdada96cd86ee5acd20e0d3b7a6f75b0decc5c35c37da31a968822cbc80c66f304ae61dd6cfc078d02ebb164166639125dd09143e64365ab60a6a5b2541548e16938dcbb4032e75dad1b8e45f99339b3a0a173fef3acc8e294994bcb565d1d19ac14e8a269235336a5796655c0a9a94a152c192919a9132c47f56eb302b5d048ae386e16f614f2590d47be917bb5bdeb3bc6121c57ea7da53cc3e974f181710d772c60af6ec0828e129242c5030d772e84be2ebea0313555c84f53dd722b972a9846d11c543306c92a6ca4d3667ad48eef7232d79cf565c5f29832e66e0ae53315510ebb49fabf84973d1032ec2d1babe2260f2ed77eb868565f96550e559739b3ab12d7af19cc5109a6bdc583c0d5ba283569a64e90657aeb9f4fd659ab7fa24115ffc68a40df63f3eaf0528b9cf7678b131a06ff27bbb5358547f2e542cadc6349cb2df7306bbf6cd7d18fa48edb65d8884d3a36638b8e217ca0e3436cd1b0a27a6fdc6d1427d9ac3abe8d3b74dc25c35f64f347f858c727381fc4051d177149c7a7b84c42abc3edca76cf61a74586a64da1c82573def5e11ca96477c62816cda2e0213d5cd17115333aaee13a0fccbacf782dd58a888e49983a72c8e83821c367b8a1c382b910ba4a2755d0cd7ad79116adf7e05e1d79301e7fc5df747c8ef31a3a8673c5f2f8b895b2b82fe274703aa254cbe6691d5fe0bc8ea36087270e4f9a11551d916cb9588a8c999109f6312f864869d2c845f2850819dfc8f078e4f67e394e289db32c389413c98fdb36fac5c52f79e32c7cafb216aae57260ecb899a2f6b535fb6bb7f3a261cd7c5153772c0b2e706ce8d001be1c1edacf712a7f527a6bb82e6f86b2e54cc9529f59fdf55ab0ded9d69a78f749eb34149d5b29c22b7f812bcc3f55a6735bbdf7be1d916db7cef4dd3aa5a1bda68123ac4e524ec0cc5a54df5587bd544dd93d3f6172df861a306a1a0d16ec0f025ae83d26e71b53f9ec9451607ee761337e04f9c9868c7b85097943f71eabc51de8e637750c3ec49140039a842af8e3a049d8423d49187cfa8433d493c400d2b492b7f2ef2ecffb003fd699616ca3bc9d3349be697c2e8a5e8676416df90ec70635b9163b38eaf6067c173bf91c745677f1a911422d45beb98ad62fa8682376d750e4ff688ea2be05156dc6f76a280acc45945c50d110f6388afecd1d8bf834a3335476090d571088de40f0e80c4257d05815c3d1d81568d1f815f8a2cd812bf0471397b0b8397015fa552c915397d1780d4b05d0752cf3e3be1b587e54736666b0e21a9a2eba40fbb158fd060c30658bb11a2d6865296cc606a639c6246f645a0799d6434c729a491687b6d8401d8744ea57711049cac5a7a4ef739f5f491b95febb29b705b86d58797eeb4892e50189c51754212692441c8e5dc74a1fbec4aafd89af1064602e24e2ce54f340a02df015429c1449c21f505e75f2f72a887529313611650bc3bd8ec9bf8d798b33e4552f92ae1749ecc53e276dfb29f978ba1b07e8bf9f6797e0204f04f00327a1f6da56ae1de2cc52f86ea22588919b680ee2f0ac248bdf4b7c737c3d825127ef670823c0674f34c6142566d0128d715c1d8d736c95d4c54492ac05aa85daa2c0df8b46825e46b0cd84bc8e80c4b1a8adcf75ac07f7398ef5e087ca31910eaaf408b895fe9ae9e0bde5a4e3491e914cf6c4fe8960e01c02fe6b68932aaba4a6795fdc4ecdbeb8e4c0ef817884d11a453b2174d2f83aea1488115b9f07a21dfb7684713f81f9545417c31fdaa9dd446bad90063517e98ff0632798166d8ae6ae2863199728c6e24e143921f29c3836a9583d80101e64120d92d1980760970bb04b454e53d24105b0665a7fe22279d041d21e750cb7df404705c49ad92096aa9d134ce624bbcff200687701b4ab9ad494340f80075c00136c0151d15d01b0b602404d5c45671d1c59e2c8d1cdbc0747b78ba3dbc5d14d1febe2305c1c978943623c142586ae8aedfdf1c45544ce62859a60e53040e7a057b0b6cc83d5efe9f022a35c22ee32ab6d9a55f4302faf47d8e7a73d8d30e4621f72b10f31cd5b5487df89946a04a9b746e9e21e165ba896533ef914a42c4e3de1907584f545740381685b40bc4bc8108bb705e85d375daaf2acdd0d8fb2d01ea3d5c7b1923abad85955268ab83823187770469846bb61234ec3865821f72826f2c907af83e78c83a7d38327d1b46e06eb2b687a66a1b1cbfe296a7b1a2bf00ccbfe590f924e1749a78ba4d345d2e922697191582e927f7045740cd8b1f0f2b74dd66dce453610508b6dce1dd51688276c49507a59fc39ea7b5efe958836bc40067991fcfc126fa2973d88075cc4032ee20117f1808378156fb5e3e4f32a8bdb335b3923f90f816493248bf3147f42381e9de6aa448ba1bc8a6fed8fc69b36cce0b68a7b8db10423de5d85ee4df72b64ac577975bcc680bf4ee86f78ca72bd0b793d5b6e9ff30563b776031372bf82ec931f340e90a203a4cb01928837f54a862b207ae682b0b3fc16d59d65cdbdcd78bee301e025b7ec1c726b60ac2b00f8b3c701708c6f12cfd5bc075648d3b285dfacde0817dde60cab6def320aef29832df631d7e06a654653415f045fd34e4dd979c8b133e5dc371dd19804597843cabab62ddbc973d4f33eed7e407afcd0435c1daecd0e14944d918aee1543eb2d8ef59263dd74acb7d6f0327e0d7d73ddfc98ee7ce231d9ea9a6c75dc14a9acbe8be6383ced96984f79b1a68ec38959666d8f2f52d12542f894fe5cf6a4758d6b7e8debf11ac7639104887fb6ef2755c53c8c5f2ae53e2c278b3e4b36ece0f35534fe17504b0708ec308779cb09000028180000504b0304140008080800aa7b564e00000000000000000000000022000000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e2e636c617373a552d14e1341143d03b5cb16aa28a8a0284a08697970131ff481a76a24694282a19507dfa6bb431d989da933b325fc9a0f7e801f65bc534ba5b6a5896eb23b3be79e7bcebd33f7c7cf6fdf01bcc64e84e711b623bc60a8367a3d6bfa5c7de80bed19569a5a0bfb5e71e7848bf092186dcbb53b1376c828699e0b86f55afde89cf779a2b8ee262d6fa5ee1e306c9e14dacb5c9c4a273b4a34b4369e7b69b463d83b9226d18572496ab4b73cf589cb2e123ee224a7525c9248d95de51da318963291ca9c2b4a5eacd59b0ccb9ea8aa55f47aea8a61e3ba869cfb2fc93bd96d6a2fbac29244dce154582a8ecf18ded4a61b37b2cc0ae70e668aec8c37f3915b6add0b3bd6d5fedcae4ec4d7425a9191e2921f1e26c3db39554d2faafe99eee85ae4d09a9ce1d33ca17fb489f86034e8ae63ae94b90cc7c9d0fe2fb799475d6999c2a6e2502af2a8b4cd85d0af0295616b42d0876832e030acfe19c2e3ceb9486942f76fcbd8fd6be06f278fcd7e99816101e1894b749788695fa15d99d66580b0952958157727b07b589dc0eee301a9dfc0b0466f144cd70784877844ff01ac2efc0647a1c7d81886d6166f864684cdd9b94ff0748aef388d085b83ef33dca135141a7c4ad46e488a10ff02504b070868fe421cca0100005e040000504b0304140008080800aa7b564e00000000000000000000000030000000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e24417070726f76616c4576656e742e636c6173738d565b6f1b4514fec6bbde75b69bbb49d224b46929e05b6a2ee19a4b73218140d2943835b4406163af926d9cdd74771d90a0129540ea033c801020242e2f252f790089b80824c45390f82ffc03049c995dbb89e3243cf8ccd93367e67cdf7c6746fef39f5f7e03f018ae6988e34213148c7333c1cd248f4da998d63083e735bcc0cd0c66b937abe2450d2770218697f838c7cd7c0c176358e0ee256e5e56b1a822c71075deb64d97e1d49ce564ed72c9cb161cdb778d829ff58a6bd98962d1353d6f9841f5364cbbc853a39b46a96c3274cd5d37368decbae1af6627ad9559db37574c97529511cbb6fc3186cb89a3773d66b6e1f6c93c833ce5140940eb9c659b17cbebcba6bb642c9728d231e7148c52de702dfe1d06657fd5f2189a2736365c87b04f6f9ab6cfa0cfdac47caa64789e49d39983607c67cdb4b34bdc9edbb798389e5d2cdbbeb56ee62dcfa22a970cd758377dd39db06dc7377ccbb169cf546382462d27bb68de285bae59a41d632ba6bf10883190481e2747ccab659f39e694f98969b479ae2aa0e6edf9e065f381a03d54f6104979b930eb64e2706114a2639488f97d6152c9b057b20bcbd7cd823f9cbccac01c2ed28129219241a234e77ca3b0366f6c08eda8c1a9f4aae1ad06824b89e42c152156e5122533fa88f94ece772d7b85215e852f760ea2b4b39673ca6ec19cb1782f6842cdf33c4d471f967474a15b470f3727d1abe332f22a5e21e9fe7f37a87855c7237854c5151d4fe16986ee7a189365ab244e3bbe6fe5bbe2f28deab88ad7b8799d006606c28b364ae43203e2ae898c37740c6384a1adfef4187a1bea1ff6391d5a3e9059f43a43e7be7312413aa6fea308379aded362c4ab514b9054c60627c330983828cd41b5c2631aaecbaff6cf11f9fd89a9c3a771869ecc38a82b2121c215a78735c2451723e94ea346f37de8a7effbe9ab44a34c633c75172c95de412495d981941adc81fca358758a6c17a2646f50a68b267868818f4e94719aa2a9603d06f000203c5e97098f578e088fd796708efc4e89261f2467bf7d080f93e590b234f2e5d1d44f88fc50c3a088e03ba2a61e248435191248868bc7289b575404977b0c34117d8fd6dc143b74055935d44a889a2e444320523d90f71b0249370622d503f980d67c7808909e104806830d80c8f5406e3704725e2c3a0044ae07f211adf9f810205c335e98ae7cb8d75f9423d1782b95fe1e51793bbd8b965405d134fdee202a6da77f8732cf75dba58ea22143bf0ad4afd0ba45375ec4298b9f679020514cda9b205513e45db4f381627205b12db472ef0fa8f21664699b404882462f01053e818a4fe9e43e23989f13e52ff026be14b40602c0355ab7e89fc6e3824e1143148be009d1a0badac2fe46bf8a2715d6adb0b836cea9d32b1752ff393cc6e9805d734a306be26046da4ef7ad069c78580ac36f55e37210271a5a10efbb07bf43dc9eafe9367d43cdf32da6f0dd1e35a643d89d04fa193c4b5038d84128ede3ec5fbae511824b30c947e84718cbefffa445f49c862caed1b6bc51867ec5892b77a1773457484141a5b5a32df025eeb7073e616e6dbb594147059df58d77674fe30d8540231815760c67c3a746c173f42c35fd07504b0708ea7bbc798f040000e6090000504b0304140008080800aa7b564e00000000000000000000000030000000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e245472616e736665724576656e742e636c6173738d56df531b5514fe6e76b31bb60be19740015b5aab8624b06ad156c36f84160da5051a0bd5da25d9c296b08bbb1b5e1c1ffa6ff8aebcf0a033923a3ae3f88433fe2ffe078e7aeedd854212c0879c7bf6dc73eef9cef9cebd933ffff9e53700efe189864e4c3441c12417535c4c73db8c8a590d73b8a3e12e177398e7dabc8a4f345cc244029ff235cfc54202f71258e4ea7d2e1ea85852b1cc203ff3dc6d862b79db359c4ad9378aae1378663130fcd29631552a7996efe7186281cb10df35cb158ba12bffdcdc358d6d33d834a6ed8d7927b0362c8fbc9451dbb183718687a9f30fbc60b7e1f18305823be3960840326f3bd6bdcaf6bae5ad98eb65b2b4e7dda2592e989ecdbf23a31c6cda3e43f38a673afe33cb9bddb59c80419f771ccb9b299bbe6fd176b61e4ce06e598eb1c2e58d53c154e3f5a58a13d8db56c1f66dca72dff4cc6d2bb0bc29c7710333b05d87ce4c372ed03cf63196acaf2ab66795e84475c30ae6040d03a9c18b8850fd23e76b17f498f72b4e47af70e6fc704dd0772124b187729d4163c23ff6ba9c3a9b0c854a30cb54ed6b9153d974368cc5f5e75631c80dae3130971353b72588318988e6e5c02c6e2d983b822f1a674abd69fa9b21c9526a709e92502d95323933fa4804ee72e0d9ce0643e7117c717268a593b565b7e215ad399bf3af090687b99b8e3eace8e842b78e1e2e2ea357c74314547c4674fdff0950f148c73b7857c5aa8e5bb8cdd05d0b63ba62974b96c7d0712af26b7ed5c674ace131179f132bd981c01da3b2b203e26689cd2f74e430cad05adb3786de867c47534ded2a84048bc9a6eca73a248cd4a0fef34a6db47d62a4a8eb8d8681483277762ca7c43094aa27a59ea7a841b91affa3c939c7bf3f3573f636aed1d3d8099a47488871aee9018d71bac54a8cd3aad17e1ffae9fb75fa2ad32ad3da997e0996ce1c2096ce1e404a0f1d40fe51445d21d98538c92c790ea109c36881810e1a82ab644d87f118c01b80d0785e26349e3926349e5bc20dd293120986374fc8b7f036490ec7a09587c6d33f21f6c3717e45186f8a7c7ae810e5634861300a1e276f9e4d1175bc42af09eb2d8ab92d4ee80abd8e112b1162ba060d8148b540720d81641a03916a814c50cce419407a2220596a743d10b916c84c4320c322a80e885c0be40ec5dc3d0308e78b27a68b1e9df517f970ea5ea433df232eef670ed192ae229ea1df77884bfb99dfa12c70de0e699a68c9d2af0af55b24f7a065859dbc783f4307896cd24907e9c8413e441b5fc8265791d843926b7f4095f7204bfb04421265f41250200f150bd4b94582f9804a5ec2975816650d84808fcb7a41ff266e8a724a18215b0cef8be1d4d516f637fa557ca0b06e85756a93bc747adba2d27f8eda381b56d79c1695357130a3ad57fb36c39ab8598acc4f8fec7268a732b4d0def70a7ebbb8398fe826add2f0ac119b8f4fb0311bc1ee20d01fe22382c2c10e41699b64ffd20d8f115c82493a223dc658e1f42705d1531a55f1848ee58332f22b2eadbe84dede5c25064529c9f6d65097b8de16ea8439d9fa4d15ed5574d40eded313833712018d614cc8715c8f9e19051fd393d4f41f504b0708826261e37e040000ca090000504b01020a000a0000080000aa7b564e000000000000000000000000030004000000000000000000000000000000696f2ffeca0000504b01020a000a0000080000aa7b564e000000000000000000000000080000000000000000000000000025000000696f2f6e756c732f504b01020a000a0000080000aa7b564e00000000000000000000000011000000000000000000000000004b000000696f2f6e756c732f636f6e74726163742f504b01020a000a0000080000aa7b564e00000000000000000000000017000000000000000000000000007a000000696f2f6e756c732f636f6e74726163742f746f6b656e2f504b01021400140008080800aa7b564eec308779cb090000281800002800000000000000000000000000af000000696f2f6e756c732f636f6e74726163742f746f6b656e2f53696d706c65546f6b656e2e636c617373504b01021400140008080800aa7b564e68fe421cca0100005e0400002200000000000000000000000000d00a0000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e2e636c617373504b01021400140008080800aa7b564eea7bbc798f040000e60900003000000000000000000000000000ea0c0000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e24417070726f76616c4576656e742e636c617373504b01021400140008080800aa7b564e826261e37e040000ca0900003000000000000000000000000000d7110000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e245472616e736665724576656e742e636c617373504b0506000000000800080051020000b31600000000" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "constructor" : {
      "name" : "<init>",
      "desc" : "(String name, String symbol, BigInteger initialAmount, int decimals) return void",
      "args" : [ {
        "type" : "String",
        "name" : "name",
        "required" : true
      }, {
        "type" : "String",
        "name" : "symbol",
        "required" : true
      }, {
        "type" : "BigInteger",
        "name" : "initialAmount",
        "required" : true
      }, {
        "type" : "int",
        "name" : "decimals",
        "required" : true
      } ],
      "returnArg" : "void",
      "view" : false,
      "event" : false,
      "payable" : false
    },
    "nrc20" : true
  }
}

# 4.11 Obtaining contract method information

# Cmd: getContractMethod

Detailed description: Get contract method information

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
contractAddress string contract address yes
methodName string method name yes
methodDesc string Method Description No

# return value

Field Name Field Type Parameter Description
name string method name
desc string Method Description
args list<object> Method parameter list
        type string Parameter Type
        name string Parameter Name
        required boolean Required?
returnArg string return value type
view boolean whether the view method (calling this method data is not on the chain)
event boolean Whether it is an event
payable boolean Is it a method of accepting main chain asset transfers
jsonSerializable boolean Method Returns whether JSON is serialized

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getContractMethod",
  "params" : [ 2, "tNULSeBaMvkanBqyWF1h7MuQ22Pq3JkL8FTfsL", "transfer", null ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "name" : "transfer",
    "desc" : "(Address to, BigInteger value) return boolean",
    "args" : [ {
      "type" : "Address",
      "name" : "to",
      "required" : true
    }, {
      "type" : "BigInteger",
      "name" : "value",
      "required" : true
    } ],
    "returnArg" : "boolean",
    "view" : false,
    "event" : false,
    "payable" : false
  }
}

# 4.12 Get Contract Method Parameter Type

# Cmd: getContractMethodArgsTypes

Detailed description: Get contract method parameter type

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
contractAddress string contract address yes
methodName string method name yes
methodDesc string Method Description No

# return value

Field Name Field Type Parameter Description
Return value list<string>

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getContractMethodArgsTypes",
  "params" : [ 2, "tNULSeBaMvkanBqyWF1h7MuQ22Pq3JkL8FTfsL", "transfer", null ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : [ "Address", "BigInteger" ]
}

# 4.13 Verifying the release contract

# Cmd: validateContractCreate

Detailed description: Verify the release contract

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
sender string Transaction Creator Account Address Yes
gasLimit long GAS Limit Yes
price long GAS unit price Yes
ContractCode string Smart Contract Code (Hex encoded string of bytecode) Yes
args object[] List of parameters No

# return value

Field Name Field Type Parameter Description
success boolean Verify success or not
code string Error code for verification failure
msg string Verify failed error message

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "validateContractCreate",
  "params" : [ 2, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", 20000, 30, "504b0304140008080800038b2d4d000000000000000000000000090004004d4554412d494e462ffeca00000300504b0708000000000200000000000000504b0304140008080800038b2d4d000000000000000000000000140000004d4554412d494e462f4d414e49464553542e4d46f34dcccb4c4b2d2ed10d4b2d2acecccfb35230d433e0e5722e4a4d2c494dd175aa040958e819c41b9a982868f8172526e7a42a38e71715e417259600d56bf272f1720100504b07089e7c76534400000045000000504b03040a0000080000fb8a2d4d0000000000000000000000001b00000074657374636f6e74726163742f6d756c74797472616e736665722f504b0304140008080800fb8a2d4d0000000000000000000000003200000074657374636f6e74726163742f6d756c74797472616e736665722f546573744d756c74795472616e736665722e636c6173739d56eb7313d715ffad257997454e8cea00f210aa262d91658cb00c989a94c498180cb6f143d8d86d4256d25a5a4bda95b52b83d31749daa4e933e9234ddf8f90a68fb40d2d96dd64265f3ac34cfb0ff463ff857eea97cc747acedd95ac48824e6a8ff69e7b9ebf73ef3967f7efff79e73d00c7f08e8a53585590df85fb505050e4d5e48725a3a442c62a3fd6149479b515382cacc85857710dd75584b0a1e219d8323eabe073bcff7c00fcf7daab3758f005667d51c18d1af75905cf0a5a1a1c8082e75cfa6f7fbda1e079155fc29715bcc0be5f64435ba5685f51f09282af32f36b8ce2eb0abec19b6ff2e65b0a5ee6cd2b0abeade03b2abe8beff1e35505dfe7f535053f50f043267fa4e0c7327e22e3a712fca656d425842657b5752d5ed0cc6c7cde291b66f694844e7ba398b20a12bac62cd37634d359d00a15d256327ada286a055b8234e123d82109b256284c982b1649af96b40d2d5520455fb46f81628c5919dadc3f6998fa74a598d2cb49571c9ab4d25a61412b1bbcf7987e276790e323938e6e3b69cb74ca5ada89172b05678348d35ed1cbf12489a69893f43884363c57311da3a82f18b6418e464dd37234c720e412fa260d2b6e560a76bceed0cee4e35a5d273ee342e6ac1f354cc3394d196575675a9c4e4fb4afddf9ec228579ef8876137db67e2a94f7043948696490d6f924c98293dba5653265ddb6af0e4a38d81ed4a8ab41fe0322e906a344033d44072ae4e356d9339170337a6f9f6e1645cdc9c5cf18d909d3d1b37476ff974dcb79b4d76b7b707e4a62904b8696aba626616f7b635733e16a26846617514394b2ebcb950cb99279474be7a7b49257479d5aa9a49b19090f445b3170592aae825e96a0ce5b95725a1f37d8706f4b751d61fb20a6312e614f8b34884f81caa523990ce2319c0e62146724ec6b8e79a6621432acade367748f9181c8e8e2e0f1939783f83966242088b3ece6f087297b19bf08e297783d88246eca7843c2817bdda584c8b49d71b2b3e746af5f99c91d1fb296af8f2eae2e94ccf3e6c5e162e5d8b525ce7225885fe1cd207e8ddf1050af884722c25a3fbe9c3766edc1d9c152e60967eee2b52bf913d3f91396b554494c26bc001b99e4c2a29d9f4a0f9fcb2f3f93b2d712e3d6586eede2f8b5a91509fb3d3491b4e8bf484a8fe8c592b37144c66f83f81ddea2a0aa2d6e662412c4ef393d1d64a8aa5ef13316455de761c41a7fc04dd6f8236b6435bba0af38cc7e1bb798fd276a4e6697ca465aa8ff19b7a843555595d0ada6e848cf14ac74febc66e74622326e07b1c986556cb161da32cc94660bc36dbcced072ba91cd398c21a8f2c0a1c9582cb1fc2fec5862b73b777f29b5aaa71d090fb6bd97316f2361a05d91b6b0bc1aa2c6501cabd602fbdbba9eb2bdeef02e3e7a9719b8336ef6d7a65c6b1bf6b4e3937b710597e86ac2d10b7735566af5cb6a779912d48ebd6de15d760c1ea872595fab1865eecee872fb76eeb4bd660eacbb6fa90f1ca97b0ff73c52d9ab1d31be2f502bd5736a7f03b59aba1b74515684cb14af3cee2466e4a8ce7826b5f1cd4e6bf546eaf5dac2c7e8e57f0a121e851f1d3c6df895cbb386788f13dd41fc108f9dfa7e8c7e6785de6ee23d8171da9fa35d3f7f63f0ef96503b4fcf4ec18863023c838410177091d6494f3a257834fde8c94e36e0137ac3b12d48b150c7267cb1907f1381587768139def425eda82125bbe0d5f15bb422a3daad82db4829be8da097d90be5b804142ff085444d18d3eec450247318413f455b60369d88324e112663c18715a59168851a0b79bf2196e300ed48d67ebc6039eb12fe46f363dd560eaab9bce61bed9b43bf45693e9636d4d93f5a8c73c53751bf757d15dc59ee6e0630d1ed4ba87cb750f05f2db41ebd177115a0a7d640b3d93fd3d78601bfbaad8ef9d7c284c275e8fe09efe4e9cfbc05f6ce7c8fb79f450348eb7d7f5e9c55371080b581458af5064b774b6c9ce4feb950f44eead4526de01e24d1deec1830dbc8f126f7aa007910f81d02d8b4b84638610ced17e9e8a23498571995a6051208eb958ea88a73dc407318225a23a48fb109689f235d5f1a7f1192fa37f924ca175a6ff0eba07ee20180edc81ec7f137e5fe8a16d3cdc7f98100f84fd5e2ee100e5322287e570e7ffcec42732e9a5b8a078fbf0240ee0293c84ab543e4f531d68228b3937be9705534f8a2c987a8a743b04f5b4c882298d787e41a5a8b903824a13af93bc3e2cb295911115dfb1e771a929f1b3b5229266c90907793f56cbe2e3228b4f5471c84d610b8fd465d15a866d647d4216aba2bf4970580806aa38d224880bc1d11d4168b0519c10e2a16d1c6b0d765cc84eb4061b768d5a839d14824f36041be1e76d74ed545b82ba0d58a1fbc9e2247234230cacd2fff3c8e325eab73750c47b30f10f58f8174af837d61a7af47defee3af813c5ebd139af477b1b26611721e9af0dc28611a80acd0ac2586fe8c4de7a45f412aad3a21373c2c6f82f504b07087c257e1c05070000b30e0000504b01021400140008080800038b2d4d0000000002000000000000000900040000000000000000000000000000004d4554412d494e462ffeca0000504b01021400140008080800038b2d4d9e7c7653440000004500000014000000000000000000000000003d0000004d4554412d494e462f4d414e49464553542e4d46504b01020a000a0000080000fb8a2d4d0000000000000000000000001b00000000000000000000000000c300000074657374636f6e74726163742f6d756c74797472616e736665722f504b01021400140008080800fb8a2d4d7c257e1c05070000b30e00003200000000000000000000000000fc00000074657374636f6e74726163742f6d756c74797472616e736665722f546573744d756c74795472616e736665722e636c617373504b0506000000000400040026010000610800000000", [ ] ],
  "id" : 1234
}

# Example response data:

[ {
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "success" : true
  }
}, "For a verification failure example, please refer to [validateContractDelete] - Verify Delete Contract"]

# 4.14 Verifying the call contract

# Cmd: validateContractCall

Detailed description: Verify call contract

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
sender string Transaction Creator Account Address Yes
value biginteger The amount of the primary network asset that the caller transferred to the contract address. If there is no such service, fill BigInteger.ZERO Yes
gasLimit long GAS Limit Yes
price long GAS unit price Yes
contractAddress string contract address yes
methodName string contract method yes
methodDesc string Contract method description, if the method in the contract is not overloaded, this parameter can be empty No
args object[] List of parameters No

# return value

Field Name Field Type Parameter Description
success boolean Verify success or not
code string Error code for verification failure
msg string Verify failed error message

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "validateContractCall",
  "params" : [ 2, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", 80000000000, 200000, 30, "tNULSeBaNA4yaXmfaQVXpX3QWPcUaHRRryoXHa", "multyForAddress", null, [ "tNULSeBaMtkzQ1tH8JWBGZDCmRHCmySevE4frM", "400000000", "tNULSeBaMhKaLzhQh1AhhecUqh15ZKw98peg29", "900000000", "tNULSeBaMv8q3pWzS7bHpQWW8yypNGo8auRoPf", "800000000" ] ],
  "id" : 1234
}

# Example response data:

[ {
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "success" : true
  }
}, "For a verification failure example, please refer to [validateContractDelete] - Verify Delete Contract"]

# 4.15 Verify the deletion of the contract

# Cmd: validateContractDelete

Detailed description: Verify delete contract

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
sender string Transaction Creator Account Address Yes
contractAddress string contract address yes

# return value

Field Name Field Type Parameter Description
success boolean Verify success or not
code string Error code for verification failure
msg string Verify failed error message

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "validateContractDelete",
  "params" : [ 2, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", "tNULSeBaMvkanBqyWF1h7MuQ22Pq3JkL8FTfsL" ],
  "id" : 1234
}

# Example response data:

[ {
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "success" : true
  }
}, {
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "msg" : "Cannot delete contract when balance is not 0;Cannot delete contract when balance is not 0",
    "success" : false,
    "code" : "sc_0017"
  }
} ]

# 4.16 Estimating the release of the contract transaction gas

# Cmd: imputedContractCreateGas

Detailed description: Estimate the release of the contract transaction gas

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
sender string Transaction Creator Account Address Yes
ContractCode string Smart Contract Code (Hex encoded string of bytecode) Yes
args object[] List of parameters No

# return value

Field Name Field Type Parameter Description
gasLimit long The consumed gas value, the execution failed to return the value 1

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "imputedContractCreateGas",
  "params" : [ 2, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", "504b03040a0000080000aa7b564e00000000000000000000000003000400696f2ffeca0000504b03040a0000080000aa7b564e00000000000000000000000008000000696f2f6e756c732f504b03040a0000080000aa7b564e00000000000000000000000011000000696f2f6e756c732f636f6e74726163742f504b03040a0000080000aa7b564e00000000000000000000000017000000696f2f6e756c732f636f6e74726163742f746f6b656e2f504b0304140008080800aa7b564e00000000000000000000000028000000696f2f6e756c732f636f6e74726163742f746f6b656e2f53696d706c65546f6b656e2e636c617373b558f97754e5197eeecc90990c972d9090059209a498cc9291a58a8152020d35ca5602b1605bbd99b9492ecc12670922b46ead4babd56aeb5ad1565bd4aa2c020169d59ed353cfe93fd17f84d3d3e7fdee9d3b37612639d5d31ff2ddf77ecbfb3eeff67c77f2afff7cf639804df87b23a23825c323329c96e14c1831fcb411cdf859108f86119497281e93e171997e22cce149197e1ec62ff0d462acc2d3413c13c672fc2a8ce7f0bcccfc3a8817827831cc53bf91e125195e96e5df8af4bb205e09a3430e44f19a0cafcbf086a87d5386df87f096cc9c9597b7457a27843fc8f38f21bc2b7ade0be24f41fc39887341bcaf219033b2a686a6bdc78d692399317213c99152c1ca4d6cd3d0503c951dcb673484d266caca1a99a2066d58c3e252be646446ca535399531a5aeca359a33499dc654d0ce74ae68459e0f1d098417d2993a796d97bca252b93dc674c71b171c49ac819a57281c68766af6edf6be593b972a6984ce573a582912a258be913c9c174ba60168bdb6a9bdb419d412393c99f34d31a4a5f43e337342f0056f5f6d58a6360773e6d4a10ac9cb9bf9c1d330b878db18c8a7a3e6564468d8225efce64a0346931643db7c228e54f98b9e488959de26691a9bbed503957b2b2e6a855b4787c3097636e4a563e47151b6a7b62b87b92a39679924afcbd7d4c6b6b05fdada96cd86ee5acd20e0d3b7a6f75b0decc5c35c37da31a968822cbc80c66f304ae61dd6cfc078d02ebb164166639125dd09143e64365ab60a6a5b2541548e16938dcbb4032e75dad1b8e45f99339b3a0a173fef3acc8e294994bcb565d1d19ac14e8a269235336a5796655c0a9a94a152c192919a9132c47f56eb302b5d048ae386e16f614f2590d47be917bb5bdeb3bc6121c57ea7da53cc3e974f181710d772c60af6ec0828e129242c5030d772e84be2ebea0313555c84f53dd722b972a9846d11c543306c92a6ca4d3667ad48eef7232d79cf565c5f29832e66e0ae53315510ebb49fabf84973d1032ec2d1babe2260f2ed77eb868565f96550e559739b3ab12d7af19cc5109a6bdc583c0d5ba283569a64e90657aeb9f4fd659ab7fa24115ffc68a40df63f3eaf0528b9cf7678b131a06ff27bbb5358547f2e542cadc6349cb2df7306bbf6cd7d18fa48edb65d8884d3a36638b8e217ca0e3436cd1b0a27a6fdc6d1427d9ac3abe8d3b74dc25c35f64f347f858c727381fc4051d177149c7a7b84c42abc3edca76cf61a74586a64da1c82573def5e11ca96477c62816cda2e0213d5cd17115333aaee13a0fccbacf782dd58a888e49983a72c8e83821c367b8a1c382b910ba4a2755d0cd7ad79116adf7e05e1d79301e7fc5df747c8ef31a3a8673c5f2f8b895b2b82fe274703aa254cbe6691d5fe0bc8ea36087270e4f9a11551d916cb9588a8c999109f6312f864869d2c845f2850819dfc8f078e4f67e394e289db32c389413c98fdb36fac5c52f79e32c7cafb216aae57260ecb899a2f6b535fb6bb7f3a261cd7c5153772c0b2e706ce8d001be1c1edacf712a7f527a6bb82e6f86b2e54cc9529f59fdf55ab0ded9d69a78f749eb34149d5b29c22b7f812bcc3f55a6735bbdf7be1d916db7cef4dd3aa5a1bda68123ac4e524ec0cc5a54df5587bd544dd93d3f6172df861a306a1a0d16ec0f025ae83d26e71b53f9ec9451607ee761337e04f9c9868c7b85097943f71eabc51de8e637750c3ec49140039a842af8e3a049d8423d49187cfa8433d493c400d2b492b7f2ef2ecffb003fd699616ca3bc9d3349be697c2e8a5e8676416df90ec70635b9163b38eaf6067c173bf91c745677f1a911422d45beb98ad62fa8682376d750e4ff688ea2be05156dc6f76a280acc45945c50d110f6388afecd1d8bf834a3335476090d571088de40f0e80c4257d05815c3d1d81568d1f815f8a2cd812bf0471397b0b8397015fa552c915397d1780d4b05d0752cf3e3be1b587e54736666b0e21a9a2eba40fbb158fd060c30658bb11a2d6865296cc606a639c6246f645a0799d6434c729a491687b6d8401d8744ea57711049cac5a7a4ef739f5f491b95febb29b705b86d58797eeb4892e50189c51754212692441c8e5dc74a1fbec4aafd89af1064602e24e2ce54f340a02df015429c1449c21f505e75f2f72a887529313611650bc3bd8ec9bf8d798b33e4552f92ae1749ecc53e276dfb29f978ba1b07e8bf9f6797e0204f04f00327a1f6da56ae1de2cc52f86ea22588919b680ee2f0ac248bdf4b7c737c3d825127ef670823c0674f34c6142566d0128d715c1d8d736c95d4c54492ac05aa85daa2c0df8b46825e46b0cd84bc8e80c4b1a8adcf75ac07f7398ef5e087ca31910eaaf408b895fe9ae9e0bde5a4e3491e914cf6c4fe8960e01c02fe6b68932aaba4a6795fdc4ecdbeb8e4c0ef817884d11a453b2174d2f83aea1488115b9f07a21dfb7684713f81f9545417c31fdaa9dd446bad90063517e98ff0632798166d8ae6ae2863199728c6e24e143921f29c3836a9583d80101e64120d92d1980760970bb04b454e53d24105b0665a7fe22279d041d21e750cb7df404705c49ad92096aa9d134ce624bbcff200687701b4ab9ad494340f80075c00136c0151d15d01b0b602404d5c45671d1c59e2c8d1cdbc0747b78ba3dbc5d14d1febe2305c1c978943623c142586ae8aedfdf1c45544ce62859a60e53040e7a057b0b6cc83d5efe9f022a35c22ee32ab6d9a55f4302faf47d8e7a73d8d30e4621f72b10f31cd5b5487df89946a04a9b746e9e21e165ba896533ef914a42c4e3de1907584f545740381685b40bc4bc8108bb705e85d375daaf2acdd0d8fb2d01ea3d5c7b1923abad85955268ab83823187770469846bb61234ec3865821f72826f2c907af83e78c83a7d38327d1b46e06eb2b687a66a1b1cbfe296a7b1a2bf00ccbfe590f924e1749a78ba4d345d2e922697191582e927f7045740cd8b1f0f2b74dd66dce453610508b6dce1dd51688276c49507a59fc39ea7b5efe958836bc40067991fcfc126fa2973d88075cc4032ee20117f1808378156fb5e3e4f32a8bdb335b3923f90f816493248bf3147f42381e9de6aa448ba1bc8a6fed8fc69b36cce0b68a7b8db10423de5d85ee4df72b64ac577975bcc680bf4ee86f78ca72bd0b793d5b6e9ff30563b776031372bf82ec931f340e90a203a4cb01928837f54a862b207ae682b0b3fc16d59d65cdbdcd78bee301e025b7ec1c726b60ac2b00f8b3c701708c6f12cfd5bc075648d3b285dfacde0817dde60cab6def320aef29832df631d7e06a654653415f045fd34e4dd979c8b133e5dc371dd19804597843cabab62ddbc973d4f33eed7e407afcd0435c1daecd0e14944d918aee1543eb2d8ef59263dd74acb7d6f0327e0d7d73ddfc98ee7ce231d9ea9a6c75dc14a9acbe8be6383ced96984f79b1a68ec38959666d8f2f52d12542f894fe5cf6a4758d6b7e8debf11ac7639104887fb6ef2755c53c8c5f2ae53e2c278b3e4b36ece0f35534fe17504b0708ec308779cb09000028180000504b0304140008080800aa7b564e00000000000000000000000022000000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e2e636c617373a552d14e1341143d03b5cb16aa28a8a0284a08697970131ff481a76a24694282a19507dfa6bb431d989da933b325fc9a0f7e801f65bc534ba5b6a5896eb23b3be79e7bcebd33f7c7cf6fdf01bcc64e84e711b623bc60a8367a3d6bfa5c7de80bed19569a5a0bfb5e71e7848bf092186dcbb53b1376c828699e0b86f55afde89cf779a2b8ee262d6fa5ee1e306c9e14dacb5c9c4a273b4a34b4369e7b69b463d83b9226d18572496ab4b73cf589cb2e123ee224a7525c9248d95de51da318963291ca9c2b4a5eacd59b0ccb9ea8aa55f47aea8a61e3ba869cfb2fc93bd96d6a2fbac29244dce154582a8ecf18ded4a61b37b2cc0ae70e668aec8c37f3915b6add0b3bd6d5fedcae4ec4d7425a9191e2921f1e26c3db39554d2faafe99eee85ae4d09a9ce1d33ca17fb489f86034e8ae63ae94b90cc7c9d0fe2fb799475d6999c2a6e2502af2a8b4cd85d0af0295616b42d0876832e030acfe19c2e3ceb9486942f76fcbd8fd6be06f278fcd7e99816101e1894b749788695fa15d99d66580b0952958157727b07b589dc0eee301a9dfc0b0466f144cd70784877844ff01ac2efc0647a1c7d81886d6166f864684cdd9b94ff0748aef388d085b83ef33dca135141a7c4ad46e488a10ff02504b070868fe421cca0100005e040000504b0304140008080800aa7b564e00000000000000000000000030000000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e24417070726f76616c4576656e742e636c6173738d565b6f1b4514fec6bbde75b69bbb49d224b46929e05b6a2ee19a4b73218140d2943835b4406163af926d9cdd74771d90a0129540ea033c801020242e2f252f790089b80824c45390f82ffc03049c995dbb89e3243cf8ccd93367e67cdf7c6746fef39f5f7e03f018ae6988e34213148c7333c1cd248f4da998d63083e735bcc0cd0c66b937abe2450d2770218697f838c7cd7c0c176358e0ee256e5e56b1a822c71075deb64d97e1d49ce564ed72c9cb161cdb778d829ff58a6bd98962d1353d6f9841f5364cbbc853a39b46a96c3274cd5d37368decbae1af6627ad9559db37574c97529511cbb6fc3186cb89a3773d66b6e1f6c93c833ce5140940eb9c659b17cbebcba6bb642c9728d231e7148c52de702dfe1d06657fd5f2189a2736365c87b04f6f9ab6cfa0cfdac47caa64789e49d39983607c67cdb4b34bdc9edbb798389e5d2cdbbeb56ee62dcfa22a970cd758377dd39db06dc7377ccbb169cf546382462d27bb68de285bae59a41d632ba6bf10883190481e2747ccab659f39e694f98969b479ae2aa0e6edf9e065f381a03d54f6104979b930eb64e2706114a2639488f97d6152c9b057b20bcbd7cd823f9cbccac01c2ed28129219241a234e77ca3b0366f6c08eda8c1a9f4aae1ad06824b89e42c152156e5122533fa88f94ece772d7b85215e852f760ea2b4b39673ca6ec19cb1782f6842cdf33c4d471f967474a15b470f3727d1abe332f22a5e21e9fe7f37a87855c7237854c5151d4fe16986ee7a189365ab244e3bbe6fe5bbe2f28deab88ad7b8799d006606c28b364ae43203e2ae898c37740c6384a1adfef4187a1bea1ff6391d5a3e9059f43a43e7be7312413aa6fea308379aded362c4ab514b9054c60627c330983828cd41b5c2631aaecbaff6cf11f9fd89a9c3a771869ecc38a82b2121c215a78735c2451723e94ea346f37de8a7effbe9ab44a34c633c75172c95de412495d981941adc81fca358758a6c17a2646f50a68b267868818f4e94719aa2a9603d06f000203c5e97098f578e088fd796708efc4e89261f2467bf7d080f93e590b234f2e5d1d44f88fc50c3a088e03ba2a61e248435191248868bc7289b575404977b0c34117d8fd6dc143b74055935d44a889a2e444320523d90f71b0249370622d503f980d67c7808909e104806830d80c8f5406e3704725e2c3a0044ae07f211adf9f810205c335e98ae7cb8d75f9423d1782b95fe1e51793bbd8b965405d134fdee202a6da77f8732cf75dba58ea22143bf0ad4afd0ba45375ec4298b9f679020514cda9b205513e45db4f381627205b12db472ef0fa8f21664699b404882462f01053e818a4fe9e43e23989f13e52ff026be14b40602c0355ab7e89fc6e3824e1143148be009d1a0badac2fe46bf8a2715d6adb0b836cea9d32b1752ff393cc6e9805d734a306be26046da4ef7ad069c78580ac36f55e37210271a5a10efbb07bf43dc9eafe9367d43cdf32da6f0dd1e35a643d89d04fa193c4b5038d84128ede3ec5fbae511824b30c947e84718cbefffa445f49c862caed1b6bc51867ec5892b77a1773457484141a5b5a32df025eeb7073e616e6dbb594147059df58d77674fe30d8540231815760c67c3a746c173f42c35fd07504b0708ea7bbc798f040000e6090000504b0304140008080800aa7b564e00000000000000000000000030000000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e245472616e736665724576656e742e636c6173738d56df531b5514fe6e76b31bb60be19740015b5aab8624b06ad156c36f84160da5051a0bd5da25d9c296b08bbb1b5e1c1ffa6ff8aebcf0a033923a3ae3f88433fe2ffe078e7aeedd854212c0879c7bf6dc73eef9cef9cebd933ffff9e53700efe189864e4c3441c12417535c4c73db8c8a590d73b8a3e12e177398e7dabc8a4f345cc244029ff235cfc54202f71258e4ea7d2e1ea85852b1cc203ff3dc6d862b79db359c4ad9378aae1378663130fcd29631552a7996efe7186281cb10df35cb158ba12bffdcdc358d6d33d834a6ed8d7927b0362c8fbc9451dbb183718687a9f30fbc60b7e1f18305823be3960840326f3bd6bdcaf6bae5ad98eb65b2b4e7dda2592e989ecdbf23a31c6cda3e43f38a673afe33cb9bddb59c80419f771ccb9b299bbe6fd176b61e4ce06e598eb1c2e58d53c154e3f5a58a13d8db56c1f66dca72dff4cc6d2bb0bc29c7710333b05d87ce4c372ed03cf63196acaf2ab66795e84475c30ae6040d03a9c18b8850fd23e76b17f498f72b4e47af70e6fc704dd0772124b187729d4163c23ff6ba9c3a9b0c854a30cb54ed6b9153d974368cc5f5e75631c80dae3130971353b72588318988e6e5c02c6e2d983b822f1a674abd69fa9b21c9526a709e92502d95323933fa4804ee72e0d9ce0643e7117c717268a593b565b7e215ad399bf3af090687b99b8e3eace8e842b78e1e2e2ea357c74314547c4674fdff0950f148c73b7857c5aa8e5bb8cdd05d0b63ba62974b96c7d0712af26b7ed5c674ace131179f132bd981c01da3b2b203e26689cd2f74e430cad05adb3786de867c47534ded2a84048bc9a6eca73a248cd4a0fef34a6db47d62a4a8eb8d8681483277762ca7c43094aa27a59ea7a841b91affa3c939c7bf3f3573f636aed1d3d8099a47488871aee9018d71bac54a8cd3aad17e1ffae9fb75fa2ad32ad3da997e0996ce1c2096ce1e404a0f1d40fe51445d21d98538c92c790ea109c36881810e1a82ab644d87f118c01b80d0785e26349e3926349e5bc20dd293120986374fc8b7f036490ec7a09587c6d33f21f6c3717e45186f8a7c7ae810e5634861300a1e276f9e4d1175bc42af09eb2d8ab92d4ee80abd8e112b1162ba060d8148b540720d81641a03916a814c50cce419407a2220596a743d10b916c84c4320c322a80e885c0be40ec5dc3d0308e78b27a68b1e9df517f970ea5ea433df232eef670ed192ae229ea1df77884bfb99dfa12c70de0e699a68c9d2af0af55b24f7a065859dbc783f4307896cd24907e9c8413e441b5fc8265791d843926b7f4095f7204bfb04421265f41250200f150bd4b94582f9804a5ec2975816650d84808fcb7a41ff266e8a724a18215b0cef8be1d4d516f637fa557ca0b06e85756a93bc747adba2d27f8eda381b56d79c1695357130a3ad57fb36c39ab8598acc4f8fec7268a732b4d0def70a7ebbb8398fe826add2f0ac119b8f4fb0311bc1ee20d01fe22382c2c10e41699b64ffd20d8f115c82493a223dc658e1f42705d1531a55f1848ee58332f22b2eadbe84dede5c25064529c9f6d65097b8de16ea8439d9fa4d15ed5574d40eded313833712018d614cc8715c8f9e19051fd393d4f41f504b0708826261e37e040000ca090000504b01020a000a0000080000aa7b564e000000000000000000000000030004000000000000000000000000000000696f2ffeca0000504b01020a000a0000080000aa7b564e000000000000000000000000080000000000000000000000000025000000696f2f6e756c732f504b01020a000a0000080000aa7b564e00000000000000000000000011000000000000000000000000004b000000696f2f6e756c732f636f6e74726163742f504b01020a000a0000080000aa7b564e00000000000000000000000017000000000000000000000000007a000000696f2f6e756c732f636f6e74726163742f746f6b656e2f504b01021400140008080800aa7b564eec308779cb090000281800002800000000000000000000000000af000000696f2f6e756c732f636f6e74726163742f746f6b656e2f53696d706c65546f6b656e2e636c617373504b01021400140008080800aa7b564e68fe421cca0100005e0400002200000000000000000000000000d00a0000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e2e636c617373504b01021400140008080800aa7b564eea7bbc798f040000e60900003000000000000000000000000000ea0c0000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e24417070726f76616c4576656e742e636c617373504b01021400140008080800aa7b564e826261e37e040000ca0900003000000000000000000000000000d7110000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e245472616e736665724576656e742e636c617373504b0506000000000800080051020000b31600000000", [ "io", "IO", 80000, 1 ] ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "gasLimit" : 20143
  }
}

# 4.17 Estimating the gas that calls the contract transaction

# Cmd: imputedContractCallGas

_Detailed description: Estimate the gas of the contract transaction

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
sender string Transaction Creator Account Address Yes
value biginteger The amount of the primary network asset that the caller transferred to the contract address. If there is no such service, fill BigInteger.ZERO Yes
contractAddress string contract address yes
methodName string contract method yes
methodDesc string Contract method description, if the method in the contract is not overloaded, this parameter can be empty No
args object[] List of parameters No

# return value

Field Name Field Type Parameter Description
gasLimit long The consumed gas value, the execution failed to return the value 1

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "imputedContractCallGas",
  "params" : [ 2, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", 80000000000, "tNULSeBaNA4yaXmfaQVXpX3QWPcUaHRRryoXHa", "multyForAddress", null, [ "tNULSeBaMtkzQ1tH8JWBGZDCmRHCmySevE4frM", "400000000", "tNULSeBaMhKaLzhQh1AhhecUqh15ZKw98peg29", "900000000", "tNULSeBaMv8q3pWzS7bHpQWW8yypNGo8auRoPf", "8045645645" ] ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "gasLimit" : 44691
  }
}

# 4.18 Calling the contract without the chain method

# Cmd: invokeView

Detailed description: Call contract not chained method

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
contractAddress string contract address yes
methodName string contract method yes
methodDesc string Contract method description, if the method in the contract is not overloaded, this parameter can be empty No
args object[] List of parameters No

# return value

Field Name Field Type Parameter Description
result string Call result of view method

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "invokeView",
  "params" : [ 2, "tNULSeBaMvkanBqyWF1h7MuQ22Pq3JkL8FTfsL", "balanceOf", null, [ "tNULSeBaMnrs6JKrCy6TQdzYJZkMZJDng7QAsD" ] ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "result" : "80"
  }
}

# 4.19 Offline - Publish contract transactions

# Cmd: contractCreateOffline

Detailed description: Offline - Publish contract transaction

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
sender string Transaction Creator Account Address Yes
senderBalance biginteger Account Balance Yes
nonce string account nonce value yes
alias string contract alias yes
ContractCode string Smart Contract Code (Hex encoded string of bytecode) Yes
gasLimit long Set the upper limit of gas consumed by contract execution Yes
args object[] List of parameters No
argsType string[] List of parameter types No
remark string Transaction Notes No

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization String
contractAddress string generated contract address

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "contractCreateOffline",
  "params" : [ 2, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", "999999998523475", "9c0aea02bed90ddd", "off_nrc20", "504b03040a0000080000aa7b564e00000000000000000000000003000400696f2ffeca0000504b03040a0000080000aa7b564e00000000000000000000000008000000696f2f6e756c732f504b03040a0000080000aa7b564e00000000000000000000000011000000696f2f6e756c732f636f6e74726163742f504b03040a0000080000aa7b564e00000000000000000000000017000000696f2f6e756c732f636f6e74726163742f746f6b656e2f504b0304140008080800aa7b564e00000000000000000000000028000000696f2f6e756c732f636f6e74726163742f746f6b656e2f53696d706c65546f6b656e2e636c617373b558f97754e5197eeecc90990c972d9090059209a498cc9291a58a8152020d35ca5602b1605bbd99b9492ecc12670922b46ead4babd56aeb5ad1565bd4aa2c020169d59ed353cfe93fd17f84d3d3e7fdee9d3b37612639d5d31ff2ddf77ecbfb3eeff67c77f2afff7cf639804df87b23a23825c323329c96e14c1831fcb411cdf859108f86119497281e93e171997e22cce149197e1ec62ff0d462acc2d3413c13c672fc2a8ce7f0bcccfc3a8817827831cc53bf91e125195e96e5df8af4bb205e09a3430e44f19a0cafcbf086a87d5386df87f096cc9c9597b7457a27843fc8f38f21bc2b7ade0be24f41fc39887341bcaf219033b2a686a6bdc78d692399317213c99152c1ca4d6cd3d0503c951dcb673484d266caca1a99a2066d58c3e252be646446ca535399531a5aeca359a33499dc654d0ce74ae68459e0f1d098417d2993a796d97bca252b93dc674c71b171c49ac819a57281c68766af6edf6be593b972a6984ce573a582912a258be913c9c174ba60168bdb6a9bdb419d412393c99f34d31a4a5f43e337342f0056f5f6d58a6360773e6d4a10ac9cb9bf9c1d330b878db18c8a7a3e6564468d8225efce64a0346931643db7c228e54f98b9e488959de26691a9bbed503957b2b2e6a855b4787c3097636e4a563e47151b6a7b62b87b92a39679924afcbd7d4c6b6b05fdada96cd86ee5acd20e0d3b7a6f75b0decc5c35c37da31a968822cbc80c66f304ae61dd6cfc078d02ebb164166639125dd09143e64365ab60a6a5b2541548e16938dcbb4032e75dad1b8e45f99339b3a0a173fef3acc8e294994bcb565d1d19ac14e8a269235336a5796655c0a9a94a152c192919a9132c47f56eb302b5d048ae386e16f614f2590d47be917bb5bdeb3bc6121c57ea7da53cc3e974f181710d772c60af6ec0828e129242c5030d772e84be2ebea0313555c84f53dd722b972a9846d11c543306c92a6ca4d3667ad48eef7232d79cf565c5f29832e66e0ae53315510ebb49fabf84973d1032ec2d1babe2260f2ed77eb868565f96550e559739b3ab12d7af19cc5109a6bdc583c0d5ba283569a64e90657aeb9f4fd659ab7fa24115ffc68a40df63f3eaf0528b9cf7678b131a06ff27bbb5358547f2e542cadc6349cb2df7306bbf6cd7d18fa48edb65d8884d3a36638b8e217ca0e3436cd1b0a27a6fdc6d1427d9ac3abe8d3b74dc25c35f64f347f858c727381fc4051d177149c7a7b84c42abc3edca76cf61a74586a64da1c82573def5e11ca96477c62816cda2e0213d5cd17115333aaee13a0fccbacf782dd58a888e49983a72c8e83821c367b8a1c382b910ba4a2755d0cd7ad79116adf7e05e1d79301e7fc5df747c8ef31a3a8673c5f2f8b895b2b82fe274703aa254cbe6691d5fe0bc8ea36087270e4f9a11551d916cb9588a8c999109f6312f864869d2c845f2850819dfc8f078e4f67e394e289db32c389413c98fdb36fac5c52f79e32c7cafb216aae57260ecb899a2f6b535fb6bb7f3a261cd7c5153772c0b2e706ce8d001be1c1edacf712a7f527a6bb82e6f86b2e54cc9529f59fdf55ab0ded9d69a78f749eb34149d5b29c22b7f812bcc3f55a6735bbdf7be1d916db7cef4dd3aa5a1bda68123ac4e524ec0cc5a54df5587bd544dd93d3f6172df861a306a1a0d16ec0f025ae83d26e71b53f9ec9451607ee761337e04f9c9868c7b85097943f71eabc51de8e637750c3ec49140039a842af8e3a049d8423d49187cfa8433d493c400d2b492b7f2ef2ecffb003fd699616ca3bc9d3349be697c2e8a5e8676416df90ec70635b9163b38eaf6067c173bf91c745677f1a911422d45beb98ad62fa8682376d750e4ff688ea2be05156dc6f76a280acc45945c50d110f6388afecd1d8bf834a3335476090d571088de40f0e80c4257d05815c3d1d81568d1f815f8a2cd812bf0471397b0b8397015fa552c915397d1780d4b05d0752cf3e3be1b587e54736666b0e21a9a2eba40fbb158fd060c30658bb11a2d6865296cc606a639c6246f645a0799d6434c729a491687b6d8401d8744ea57711049cac5a7a4ef739f5f491b95febb29b705b86d58797eeb4892e50189c51754212692441c8e5dc74a1fbec4aafd89af1064602e24e2ce54f340a02df015429c1449c21f505e75f2f72a887529313611650bc3bd8ec9bf8d798b33e4552f92ae1749ecc53e276dfb29f978ba1b07e8bf9f6797e0204f04f00327a1f6da56ae1de2cc52f86ea22588919b680ee2f0ac248bdf4b7c737c3d825127ef670823c0674f34c6142566d0128d715c1d8d736c95d4c54492ac05aa85daa2c0df8b46825e46b0cd84bc8e80c4b1a8adcf75ac07f7398ef5e087ca31910eaaf408b895fe9ae9e0bde5a4e3491e914cf6c4fe8960e01c02fe6b68932aaba4a6795fdc4ecdbeb8e4c0ef817884d11a453b2174d2f83aea1488115b9f07a21dfb7684713f81f9545417c31fdaa9dd446bad90063517e98ff0632798166d8ae6ae2863199728c6e24e143921f29c3836a9583d80101e64120d92d1980760970bb04b454e53d24105b0665a7fe22279d041d21e750cb7df404705c49ad92096aa9d134ce624bbcff200687701b4ab9ad494340f80075c00136c0151d15d01b0b602404d5c45671d1c59e2c8d1cdbc0747b78ba3dbc5d14d1febe2305c1c978943623c142586ae8aedfdf1c45544ce62859a60e53040e7a057b0b6cc83d5efe9f022a35c22ee32ab6d9a55f4302faf47d8e7a73d8d30e4621f72b10f31cd5b5487df89946a04a9b746e9e21e165ba896533ef914a42c4e3de1907584f545740381685b40bc4bc8108bb705e85d375daaf2acdd0d8fb2d01ea3d5c7b1923abad85955268ab83823187770469846bb61234ec3865821f72826f2c907af83e78c83a7d38327d1b46e06eb2b687a66a1b1cbfe296a7b1a2bf00ccbfe590f924e1749a78ba4d345d2e922697191582e927f7045740cd8b1f0f2b74dd66dce453610508b6dce1dd51688276c49507a59fc39ea7b5efe958836bc40067991fcfc126fa2973d88075cc4032ee20117f1808378156fb5e3e4f32a8bdb335b3923f90f816493248bf3147f42381e9de6aa448ba1bc8a6fed8fc69b36cce0b68a7b8db10423de5d85ee4df72b64ac577975bcc680bf4ee86f78ca72bd0b793d5b6e9ff30563b776031372bf82ec931f340e90a203a4cb01928837f54a862b207ae682b0b3fc16d59d65cdbdcd78bee301e025b7ec1c726b60ac2b00f8b3c701708c6f12cfd5bc075648d3b285dfacde0817dde60cab6def320aef29832df631d7e06a654653415f045fd34e4dd979c8b133e5dc371dd19804597843cabab62ddbc973d4f33eed7e407afcd0435c1daecd0e14944d918aee1543eb2d8ef59263dd74acb7d6f0327e0d7d73ddfc98ee7ce231d9ea9a6c75dc14a9acbe8be6383ced96984f79b1a68ec38959666d8f2f52d12542f894fe5cf6a4758d6b7e8debf11ac7639104887fb6ef2755c53c8c5f2ae53e2c278b3e4b36ece0f35534fe17504b0708ec308779cb09000028180000504b0304140008080800aa7b564e00000000000000000000000022000000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e2e636c617373a552d14e1341143d03b5cb16aa28a8a0284a08697970131ff481a76a24694282a19507dfa6bb431d989da933b325fc9a0f7e801f65bc534ba5b6a5896eb23b3be79e7bcebd33f7c7cf6fdf01bcc64e84e711b623bc60a8367a3d6bfa5c7de80bed19569a5a0bfb5e71e7848bf092186dcbb53b1376c828699e0b86f55afde89cf779a2b8ee262d6fa5ee1e306c9e14dacb5c9c4a273b4a34b4369e7b69b463d83b9226d18572496ab4b73cf589cb2e123ee224a7525c9248d95de51da318963291ca9c2b4a5eacd59b0ccb9ea8aa55f47aea8a61e3ba869cfb2fc93bd96d6a2fbac29244dce154582a8ecf18ded4a61b37b2cc0ae70e668aec8c37f3915b6add0b3bd6d5fedcae4ec4d7425a9191e2921f1e26c3db39554d2faafe99eee85ae4d09a9ce1d33ca17fb489f86034e8ae63ae94b90cc7c9d0fe2fb799475d6999c2a6e2502af2a8b4cd85d0af0295616b42d0876832e030acfe19c2e3ceb9486942f76fcbd8fd6be06f278fcd7e99816101e1894b749788695fa15d99d66580b0952958157727b07b589dc0eee301a9dfc0b0466f144cd70784877844ff01ac2efc0647a1c7d81886d6166f864684cdd9b94ff0748aef388d085b83ef33dca135141a7c4ad46e488a10ff02504b070868fe421cca0100005e040000504b0304140008080800aa7b564e00000000000000000000000030000000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e24417070726f76616c4576656e742e636c6173738d565b6f1b4514fec6bbde75b69bbb49d224b46929e05b6a2ee19a4b73218140d2943835b4406163af926d9cdd74771d90a0129540ea033c801020242e2f252f790089b80824c45390f82ffc03049c995dbb89e3243cf8ccd93367e67cdf7c6746fef39f5f7e03f018ae6988e34213148c7333c1cd248f4da998d63083e735bcc0cd0c66b937abe2450d2770218697f838c7cd7c0c176358e0ee256e5e56b1a822c71075deb64d97e1d49ce564ed72c9cb161cdb778d829ff58a6bd98962d1353d6f9841f5364cbbc853a39b46a96c3274cd5d37368decbae1af6627ad9559db37574c97529511cbb6fc3186cb89a3773d66b6e1f6c93c833ce5140940eb9c659b17cbebcba6bb642c9728d231e7148c52de702dfe1d06657fd5f2189a2736365c87b04f6f9ab6cfa0cfdac47caa64789e49d39983607c67cdb4b34bdc9edbb798389e5d2cdbbeb56ee62dcfa22a970cd758377dd39db06dc7377ccbb169cf546382462d27bb68de285bae59a41d632ba6bf10883190481e2747ccab659f39e694f98969b479ae2aa0e6edf9e065f381a03d54f6104979b930eb64e2706114a2639488f97d6152c9b057b20bcbd7cd823f9cbccac01c2ed28129219241a234e77ca3b0366f6c08eda8c1a9f4aae1ad06824b89e42c152156e5122533fa88f94ece772d7b85215e852f760ea2b4b39673ca6ec19cb1782f6842cdf33c4d471f967474a15b470f3727d1abe332f22a5e21e9fe7f37a87855c7237854c5151d4fe16986ee7a189365ab244e3bbe6fe5bbe2f28deab88ad7b8799d006606c28b364ae43203e2ae898c37740c6384a1adfef4187a1bea1ff6391d5a3e9059f43a43e7be7312413aa6fea308379aded362c4ab514b9054c60627c330983828cd41b5c2631aaecbaff6cf11f9fd89a9c3a771869ecc38a82b2121c215a78735c2451723e94ea346f37de8a7effbe9ab44a34c633c75172c95de412495d981941adc81fca358758a6c17a2646f50a68b267868818f4e94719aa2a9603d06f000203c5e97098f578e088fd796708efc4e89261f2467bf7d080f93e590b234f2e5d1d44f88fc50c3a088e03ba2a61e248435191248868bc7289b575404977b0c34117d8fd6dc143b74055935d44a889a2e444320523d90f71b0249370622d503f980d67c7808909e104806830d80c8f5406e3704725e2c3a0044ae07f211adf9f810205c335e98ae7cb8d75f9423d1782b95fe1e51793bbd8b965405d134fdee202a6da77f8732cf75dba58ea22143bf0ad4afd0ba45375ec4298b9f679020514cda9b205513e45db4f381627205b12db472ef0fa8f21664699b404882462f01053e818a4fe9e43e23989f13e52ff026be14b40602c0355ab7e89fc6e3824e1143148be009d1a0badac2fe46bf8a2715d6adb0b836cea9d32b1752ff393cc6e9805d734a306be26046da4ef7ad069c78580ac36f55e37210271a5a10efbb07bf43dc9eafe9367d43cdf32da6f0dd1e35a643d89d04fa193c4b5038d84128ede3ec5fbae511824b30c947e84718cbefffa445f49c862caed1b6bc51867ec5892b77a1773457484141a5b5a32df025eeb7073e616e6dbb594147059df58d77674fe30d8540231815760c67c3a746c173f42c35fd07504b0708ea7bbc798f040000e6090000504b0304140008080800aa7b564e00000000000000000000000030000000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e245472616e736665724576656e742e636c6173738d56df531b5514fe6e76b31bb60be19740015b5aab8624b06ad156c36f84160da5051a0bd5da25d9c296b08bbb1b5e1c1ffa6ff8aebcf0a033923a3ae3f88433fe2ffe078e7aeedd854212c0879c7bf6dc73eef9cef9cebd933ffff9e53700efe189864e4c3441c12417535c4c73db8c8a590d73b8a3e12e177398e7dabc8a4f345cc244029ff235cfc54202f71258e4ea7d2e1ea85852b1cc203ff3dc6d862b79db359c4ad9378aae1378663130fcd29631552a7996efe7186281cb10df35cb158ba12bffdcdc358d6d33d834a6ed8d7927b0362c8fbc9451dbb183718687a9f30fbc60b7e1f18305823be3960840326f3bd6bdcaf6bae5ad98eb65b2b4e7dda2592e989ecdbf23a31c6cda3e43f38a673afe33cb9bddb59c80419f771ccb9b299bbe6fd176b61e4ce06e598eb1c2e58d53c154e3f5a58a13d8db56c1f66dca72dff4cc6d2bb0bc29c7710333b05d87ce4c372ed03cf63196acaf2ab66795e84475c30ae6040d03a9c18b8850fd23e76b17f498f72b4e47af70e6fc704dd0772124b187729d4163c23ff6ba9c3a9b0c854a30cb54ed6b9153d974368cc5f5e75631c80dae3130971353b72588318988e6e5c02c6e2d983b822f1a674abd69fa9b21c9526a709e92502d95323933fa4804ee72e0d9ce0643e7117c717268a593b565b7e215ad399bf3af090687b99b8e3eace8e842b78e1e2e2ea357c74314547c4674fdff0950f148c73b7857c5aa8e5bb8cdd05d0b63ba62974b96c7d0712af26b7ed5c674ace131179f132bd981c01da3b2b203e26689cd2f74e430cad05adb3786de867c47534ded2a84048bc9a6eca73a248cd4a0fef34a6db47d62a4a8eb8d8681483277762ca7c43094aa27a59ea7a841b91affa3c939c7bf3f3573f636aed1d3d8099a47488871aee9018d71bac54a8cd3aad17e1ffae9fb75fa2ad32ad3da997e0996ce1c2096ce1e404a0f1d40fe51445d21d98538c92c790ea109c36881810e1a82ab644d87f118c01b80d0785e26349e3926349e5bc20dd293120986374fc8b7f036490ec7a09587c6d33f21f6c3717e45186f8a7c7ae810e5634861300a1e276f9e4d1175bc42af09eb2d8ab92d4ee80abd8e112b1162ba060d8148b540720d81641a03916a814c50cce419407a2220596a743d10b916c84c4320c322a80e885c0be40ec5dc3d0308e78b27a68b1e9df517f970ea5ea433df232eef670ed192ae229ea1df77884bfb99dfa12c70de0e699a68c9d2af0af55b24f7a065859dbc783f4307896cd24907e9c8413e441b5fc8265791d843926b7f4095f7204bfb04421265f41250200f150bd4b94582f9804a5ec2975816650d84808fcb7a41ff266e8a724a18215b0cef8be1d4d516f637fa557ca0b06e85756a93bc747adba2d27f8eda381b56d79c1695357130a3ad57fb36c39ab8598acc4f8fec7268a732b4d0def70a7ebbb8398fe826add2f0ac119b8f4fb0311bc1ee20d01fe22382c2c10e41699b64ffd20d8f115c82493a223dc658e1f42705d1531a55f1848ee58332f22b2eadbe84dede5c25064529c9f6d65097b8de16ea8439d9fa4d15ed5574d40eded313833712018d614cc8715c8f9e19051fd393d4f41f504b0708826261e37e040000ca090000504b01020a000a0000080000aa7b564e000000000000000000000000030004000000000000000000000000000000696f2ffeca0000504b01020a000a0000080000aa7b564e000000000000000000000000080000000000000000000000000025000000696f2f6e756c732f504b01020a000a0000080000aa7b564e00000000000000000000000011000000000000000000000000004b000000696f2f6e756c732f636f6e74726163742f504b01020a000a0000080000aa7b564e00000000000000000000000017000000000000000000000000007a000000696f2f6e756c732f636f6e74726163742f746f6b656e2f504b01021400140008080800aa7b564eec308779cb090000281800002800000000000000000000000000af000000696f2f6e756c732f636f6e74726163742f746f6b656e2f53696d706c65546f6b656e2e636c617373504b01021400140008080800aa7b564e68fe421cca0100005e0400002200000000000000000000000000d00a0000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e2e636c617373504b01021400140008080800aa7b564eea7bbc798f040000e60900003000000000000000000000000000ea0c0000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e24417070726f76616c4576656e742e636c617373504b01021400140008080800aa7b564e826261e37e040000ca0900003000000000000000000000000000d7110000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e245472616e736665724576656e742e636c617373504b0506000000000800080051020000b31600000000", 20245, [ "air", "AIR", 10000, 2 ], [ "String", "String", "BigInteger", "int" ], "offline create" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHex" : "0f00212d375d0e6f66666c696e6520637265617465fd7a19020001f7ec6473df12e751d64cf20a8baa7edd50810f8102000219465936f10d20dd74de26ce391f9764acfcd445fd1a19504b03040a0000080000aa7b564e00000000000000000000000003000400696f2ffeca0000504b03040a0000080000aa7b564e00000000000000000000000008000000696f2f6e756c732f504b03040a0000080000aa7b564e00000000000000000000000011000000696f2f6e756c732f636f6e74726163742f504b03040a0000080000aa7b564e00000000000000000000000017000000696f2f6e756c732f636f6e74726163742f746f6b656e2f504b0304140008080800aa7b564e00000000000000000000000028000000696f2f6e756c732f636f6e74726163742f746f6b656e2f53696d706c65546f6b656e2e636c617373b558f97754e5197eeecc90990c972d9090059209a498cc9291a58a8152020d35ca5602b1605bbd99b9492ecc12670922b46ead4babd56aeb5ad1565bd4aa2c020169d59ed353cfe93fd17f84d3d3e7fdee9d3b37612639d5d31ff2ddf77ecbfb3eeff67c77f2afff7cf639804df87b23a23825c323329c96e14c1831fcb411cdf859108f86119497281e93e171997e22cce149197e1ec62ff0d462acc2d3413c13c672fc2a8ce7f0bcccfc3a8817827831cc53bf91e125195e96e5df8af4bb205e09a3430e44f19a0cafcbf086a87d5386df87f096cc9c9597b7457a27843fc8f38f21bc2b7ade0be24f41fc39887341bcaf219033b2a686a6bdc78d692399317213c99152c1ca4d6cd3d0503c951dcb673484d266caca1a99a2066d58c3e252be646446ca535399531a5aeca359a33499dc654d0ce74ae68459e0f1d098417d2993a796d97bca252b93dc674c71b171c49ac819a57281c68766af6edf6be593b972a6984ce573a582912a258be913c9c174ba60168bdb6a9bdb419d412393c99f34d31a4a5f43e337342f0056f5f6d58a6360773e6d4a10ac9cb9bf9c1d330b878db18c8a7a3e6564468d8225efce64a0346931643db7c228e54f98b9e488959de26691a9bbed503957b2b2e6a855b4787c3097636e4a563e47151b6a7b62b87b92a39679924afcbd7d4c6b6b05fdada96cd86ee5acd20e0d3b7a6f75b0decc5c35c37da31a968822cbc80c66f304ae61dd6cfc078d02ebb164166639125dd09143e64365ab60a6a5b2541548e16938dcbb4032e75dad1b8e45f99339b3a0a173fef3acc8e294994bcb565d1d19ac14e8a269235336a5796655c0a9a94a152c192919a9132c47f56eb302b5d048ae386e16f614f2590d47be917bb5bdeb3bc6121c57ea7da53cc3e974f181710d772c60af6ec0828e129242c5030d772e84be2ebea0313555c84f53dd722b972a9846d11c543306c92a6ca4d3667ad48eef7232d79cf565c5f29832e66e0ae53315510ebb49fabf84973d1032ec2d1babe2260f2ed77eb868565f96550e559739b3ab12d7af19cc5109a6bdc583c0d5ba283569a64e90657aeb9f4fd659ab7fa24115ffc68a40df63f3eaf0528b9cf7678b131a06ff27bbb5358547f2e542cadc6349cb2df7306bbf6cd7d18fa48edb65d8884d3a36638b8e217ca0e3436cd1b0a27a6fdc6d1427d9ac3abe8d3b74dc25c35f64f347f858c727381fc4051d177149c7a7b84c42abc3edca76cf61a74586a64da1c82573def5e11ca96477c62816cda2e0213d5cd17115333aaee13a0fccbacf782dd58a888e49983a72c8e83821c367b8a1c382b910ba4a2755d0cd7ad79116adf7e05e1d79301e7fc5df747c8ef31a3a8673c5f2f8b895b2b82fe274703aa254cbe6691d5fe0bc8ea36087270e4f9a11551d916cb9588a8c999109f6312f864869d2c845f2850819dfc8f078e4f67e394e289db32c389413c98fdb36fac5c52f79e32c7cafb216aae57260ecb899a2f6b535fb6bb7f3a261cd7c5153772c0b2e706ce8d001be1c1edacf712a7f527a6bb82e6f86b2e54cc9529f59fdf55ab0ded9d69a78f749eb34149d5b29c22b7f812bcc3f55a6735bbdf7be1d916db7cef4dd3aa5a1bda68123ac4e524ec0cc5a54df5587bd544dd93d3f6172df861a306a1a0d16ec0f025ae83d26e71b53f9ec9451607ee761337e04f9c9868c7b85097943f71eabc51de8e637750c3ec49140039a842af8e3a049d8423d49187cfa8433d493c400d2b492b7f2ef2ecffb003fd699616ca3bc9d3349be697c2e8a5e8676416df90ec70635b9163b38eaf6067c173bf91c745677f1a911422d45beb98ad62fa8682376d750e4ff688ea2be05156dc6f76a280acc45945c50d110f6388afecd1d8bf834a3335476090d571088de40f0e80c4257d05815c3d1d81568d1f815f8a2cd812bf0471397b0b8397015fa552c915397d1780d4b05d0752cf3e3be1b587e54736666b0e21a9a2eba40fbb158fd060c30658bb11a2d6865296cc606a639c6246f645a0799d6434c729a491687b6d8401d8744ea57711049cac5a7a4ef739f5f491b95febb29b705b86d58797eeb4892e50189c51754212692441c8e5dc74a1fbec4aafd89af1064602e24e2ce54f340a02df015429c1449c21f505e75f2f72a887529313611650bc3bd8ec9bf8d798b33e4552f92ae1749ecc53e276dfb29f978ba1b07e8bf9f6797e0204f04f00327a1f6da56ae1de2cc52f86ea22588919b680ee2f0ac248bdf4b7c737c3d825127ef670823c0674f34c6142566d0128d715c1d8d736c95d4c54492ac05aa85daa2c0df8b46825e46b0cd84bc8e80c4b1a8adcf75ac07f7398ef5e087ca31910eaaf408b895fe9ae9e0bde5a4e3491e914cf6c4fe8960e01c02fe6b68932aaba4a6795fdc4ecdbeb8e4c0ef817884d11a453b2174d2f83aea1488115b9f07a21dfb7684713f81f9545417c31fdaa9dd446bad90063517e98ff0632798166d8ae6ae2863199728c6e24e143921f29c3836a9583d80101e64120d92d1980760970bb04b454e53d24105b0665a7fe22279d041d21e750cb7df404705c49ad92096aa9d134ce624bbcff200687701b4ab9ad494340f80075c00136c0151d15d01b0b602404d5c45671d1c59e2c8d1cdbc0747b78ba3dbc5d14d1febe2305c1c978943623c142586ae8aedfdf1c45544ce62859a60e53040e7a057b0b6cc83d5efe9f022a35c22ee32ab6d9a55f4302faf47d8e7a73d8d30e4621f72b10f31cd5b5487df89946a04a9b746e9e21e165ba896533ef914a42c4e3de1907584f545740381685b40bc4bc8108bb705e85d375daaf2acdd0d8fb2d01ea3d5c7b1923abad85955268ab83823187770469846bb61234ec3865821f72826f2c907af83e78c83a7d38327d1b46e06eb2b687a66a1b1cbfe296a7b1a2bf00ccbfe590f924e1749a78ba4d345d2e922697191582e927f7045740cd8b1f0f2b74dd66dce453610508b6dce1dd51688276c49507a59fc39ea7b5efe958836bc40067991fcfc126fa2973d88075cc4032ee20117f1808378156fb5e3e4f32a8bdb335b3923f90f816493248bf3147f42381e9de6aa448ba1bc8a6fed8fc69b36cce0b68a7b8db10423de5d85ee4df72b64ac577975bcc680bf4ee86f78ca72bd0b793d5b6e9ff30563b776031372bf82ec931f340e90a203a4cb01928837f54a862b207ae682b0b3fc16d59d65cdbdcd78bee301e025b7ec1c726b60ac2b00f8b3c701708c6f12cfd5bc075648d3b285dfacde0817dde60cab6def320aef29832df631d7e06a654653415f045fd34e4dd979c8b133e5dc371dd19804597843cabab62ddbc973d4f33eed7e407afcd0435c1daecd0e14944d918aee1543eb2d8ef59263dd74acb7d6f0327e0d7d73ddfc98ee7ce231d9ea9a6c75dc14a9acbe8be6383ced96984f79b1a68ec38959666d8f2f52d12542f894fe5cf6a4758d6b7e8debf11ac7639104887fb6ef2755c53c8c5f2ae53e2c278b3e4b36ece0f35534fe17504b0708ec308779cb09000028180000504b0304140008080800aa7b564e00000000000000000000000022000000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e2e636c617373a552d14e1341143d03b5cb16aa28a8a0284a08697970131ff481a76a24694282a19507dfa6bb431d989da933b325fc9a0f7e801f65bc534ba5b6a5896eb23b3be79e7bcebd33f7c7cf6fdf01bcc64e84e711b623bc60a8367a3d6bfa5c7de80bed19569a5a0bfb5e71e7848bf092186dcbb53b1376c828699e0b86f55afde89cf779a2b8ee262d6fa5ee1e306c9e14dacb5c9c4a273b4a34b4369e7b69b463d83b9226d18572496ab4b73cf589cb2e123ee224a7525c9248d95de51da318963291ca9c2b4a5eacd59b0ccb9ea8aa55f47aea8a61e3ba869cfb2fc93bd96d6a2fbac29244dce154582a8ecf18ded4a61b37b2cc0ae70e668aec8c37f3915b6add0b3bd6d5fedcae4ec4d7425a9191e2921f1e26c3db39554d2faafe99eee85ae4d09a9ce1d33ca17fb489f86034e8ae63ae94b90cc7c9d0fe2fb799475d6999c2a6e2502af2a8b4cd85d0af0295616b42d0876832e030acfe19c2e3ceb9486942f76fcbd8fd6be06f278fcd7e99816101e1894b749788695fa15d99d66580b0952958157727b07b589dc0eee301a9dfc0b0466f144cd70784877844ff01ac2efc0647a1c7d81886d6166f864684cdd9b94ff0748aef388d085b83ef33dca135141a7c4ad46e488a10ff02504b070868fe421cca0100005e040000504b0304140008080800aa7b564e00000000000000000000000030000000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e24417070726f76616c4576656e742e636c6173738d565b6f1b4514fec6bbde75b69bbb49d224b46929e05b6a2ee19a4b73218140d2943835b4406163af926d9cdd74771d90a0129540ea033c801020242e2f252f790089b80824c45390f82ffc03049c995dbb89e3243cf8ccd93367e67cdf7c6746fef39f5f7e03f018ae6988e34213148c7333c1cd248f4da998d63083e735bcc0cd0c66b937abe2450d2770218697f838c7cd7c0c176358e0ee256e5e56b1a822c71075deb64d97e1d49ce564ed72c9cb161cdb778d829ff58a6bd98962d1353d6f9841f5364cbbc853a39b46a96c3274cd5d37368decbae1af6627ad9559db37574c97529511cbb6fc3186cb89a3773d66b6e1f6c93c833ce5140940eb9c659b17cbebcba6bb642c9728d231e7148c52de702dfe1d06657fd5f2189a2736365c87b04f6f9ab6cfa0cfdac47caa64789e49d39983607c67cdb4b34bdc9edbb798389e5d2cdbbeb56ee62dcfa22a970cd758377dd39db06dc7377ccbb169cf546382462d27bb68de285bae59a41d632ba6bf10883190481e2747ccab659f39e694f98969b479ae2aa0e6edf9e065f381a03d54f6104979b930eb64e2706114a2639488f97d6152c9b057b20bcbd7cd823f9cbccac01c2ed28129219241a234e77ca3b0366f6c08eda8c1a9f4aae1ad06824b89e42c152156e5122533fa88f94ece772d7b85215e852f760ea2b4b39673ca6ec19cb1782f6842cdf33c4d471f967474a15b470f3727d1abe332f22a5e21e9fe7f37a87855c7237854c5151d4fe16986ee7a189365ab244e3bbe6fe5bbe2f28deab88ad7b8799d006606c28b364ae43203e2ae898c37740c6384a1adfef4187a1bea1ff6391d5a3e9059f43a43e7be7312413aa6fea308379aded362c4ab514b9054c60627c330983828cd41b5c2631aaecbaff6cf11f9fd89a9c3a771869ecc38a82b2121c215a78735c2451723e94ea346f37de8a7effbe9ab44a34c633c75172c95de412495d981941adc81fca358758a6c17a2646f50a68b267868818f4e94719aa2a9603d06f000203c5e97098f578e088fd796708efc4e89261f2467bf7d080f93e590b234f2e5d1d44f88fc50c3a088e03ba2a61e248435191248868bc7289b575404977b0c34117d8fd6dc143b74055935d44a889a2e444320523d90f71b0249370622d503f980d67c7808909e104806830d80c8f5406e3704725e2c3a0044ae07f211adf9f810205c335e98ae7cb8d75f9423d1782b95fe1e51793bbd8b965405d134fdee202a6da77f8732cf75dba58ea22143bf0ad4afd0ba45375ec4298b9f679020514cda9b205513e45db4f381627205b12db472ef0fa8f21664699b404882462f01053e818a4fe9e43e23989f13e52ff026be14b40602c0355ab7e89fc6e3824e1143148be009d1a0badac2fe46bf8a2715d6adb0b836cea9d32b1752ff393cc6e9805d734a306be26046da4ef7ad069c78580ac36f55e37210271a5a10efbb07bf43dc9eafe9367d43cdf32da6f0dd1e35a643d89d04fa193c4b5038d84128ede3ec5fbae511824b30c947e84718cbefffa445f49c862caed1b6bc51867ec5892b77a1773457484141a5b5a32df025eeb7073e616e6dbb594147059df58d77674fe30d8540231815760c67c3a746c173f42c35fd07504b0708ea7bbc798f040000e6090000504b0304140008080800aa7b564e00000000000000000000000030000000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e245472616e736665724576656e742e636c6173738d56df531b5514fe6e76b31bb60be19740015b5aab8624b06ad156c36f84160da5051a0bd5da25d9c296b08bbb1b5e1c1ffa6ff8aebcf0a033923a3ae3f88433fe2ffe078e7aeedd854212c0879c7bf6dc73eef9cef9cebd933ffff9e53700efe189864e4c3441c12417535c4c73db8c8a590d73b8a3e12e177398e7dabc8a4f345cc244029ff235cfc54202f71258e4ea7d2e1ea85852b1cc203ff3dc6d862b79db359c4ad9378aae1378663130fcd29631552a7996efe7186281cb10df35cb158ba12bffdcdc358d6d33d834a6ed8d7927b0362c8fbc9451dbb183718687a9f30fbc60b7e1f18305823be3960840326f3bd6bdcaf6bae5ad98eb65b2b4e7dda2592e989ecdbf23a31c6cda3e43f38a673afe33cb9bddb59c80419f771ccb9b299bbe6fd176b61e4ce06e598eb1c2e58d53c154e3f5a58a13d8db56c1f66dca72dff4cc6d2bb0bc29c7710333b05d87ce4c372ed03cf63196acaf2ab66795e84475c30ae6040d03a9c18b8850fd23e76b17f498f72b4e47af70e6fc704dd0772124b187729d4163c23ff6ba9c3a9b0c854a30cb54ed6b9153d974368cc5f5e75631c80dae3130971353b72588318988e6e5c02c6e2d983b822f1a674abd69fa9b21c9526a709e92502d95323933fa4804ee72e0d9ce0643e7117c717268a593b565b7e215ad399bf3af090687b99b8e3eace8e842b78e1e2e2ea357c74314547c4674fdff0950f148c73b7857c5aa8e5bb8cdd05d0b63ba62974b96c7d0712af26b7ed5c674ace131179f132bd981c01da3b2b203e26689cd2f74e430cad05adb3786de867c47534ded2a84048bc9a6eca73a248cd4a0fef34a6db47d62a4a8eb8d8681483277762ca7c43094aa27a59ea7a841b91affa3c939c7bf3f3573f636aed1d3d8099a47488871aee9018d71bac54a8cd3aad17e1ffae9fb75fa2ad32ad3da997e0996ce1c2096ce1e404a0f1d40fe51445d21d98538c92c790ea109c36881810e1a82ab644d87f118c01b80d0785e26349e3926349e5bc20dd293120986374fc8b7f036490ec7a09587c6d33f21f6c3717e45186f8a7c7ae810e5634861300a1e276f9e4d1175bc42af09eb2d8ab92d4ee80abd8e112b1162ba060d8148b540720d81641a03916a814c50cce419407a2220596a743d10b916c84c4320c322a80e885c0be40ec5dc3d0308e78b27a68b1e9df517f970ea5ea433df232eef670ed192ae229ea1df77884bfb99dfa12c70de0e699a68c9d2af0af55b24f7a065859dbc783f4307896cd24907e9c8413e441b5fc8265791d843926b7f4095f7204bfb04421265f41250200f150bd4b94582f9804a5ec2975816650d84808fcb7a41ff266e8a724a18215b0cef8be1d4d516f637fa557ca0b06e85756a93bc747adba2d27f8eda381b56d79c1695357130a3ad57fb36c39ab8598acc4f8fec7268a732b4d0def70a7ebbb8398fe826add2f0ac119b8f4fb0311bc1ee20d01fe22382c2c10e41699b64ffd20d8f115c82493a223dc658e1f42705d1531a55f1848ee58332f22b2eadbe84dede5c25064529c9f6d65097b8de16ea8439d9fa4d15ed5574d40eded313833712018d614cc8715c8f9e19051fd393d4f41f504b0708826261e37e040000ca090000504b01020a000a0000080000aa7b564e000000000000000000000000030004000000000000000000000000000000696f2ffeca0000504b01020a000a0000080000aa7b564e000000000000000000000000080000000000000000000000000025000000696f2f6e756c732f504b01020a000a0000080000aa7b564e00000000000000000000000011000000000000000000000000004b000000696f2f6e756c732f636f6e74726163742f504b01020a000a0000080000aa7b564e00000000000000000000000017000000000000000000000000007a000000696f2f6e756c732f636f6e74726163742f746f6b656e2f504b01021400140008080800aa7b564eec308779cb090000281800002800000000000000000000000000af000000696f2f6e756c732f636f6e74726163742f746f6b656e2f53696d706c65546f6b656e2e636c617373504b01021400140008080800aa7b564e68fe421cca0100005e0400002200000000000000000000000000d00a0000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e2e636c617373504b01021400140008080800aa7b564eea7bbc798f040000e60900003000000000000000000000000000ea0c0000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e24417070726f76616c4576656e742e636c617373504b01021400140008080800aa7b564e826261e37e040000ca0900003000000000000000000000000000d7110000696f2f6e756c732f636f6e74726163742f746f6b656e2f546f6b656e245472616e736665724576656e742e636c617373504b0506000000000800080051020000b31600000000096f66665f6e72633230154f0000000000001900000000000000040103616972010341495201053130303030010132480117020001f7ec6473df12e751d64cf20a8baa7edd50810f81020001006d67120000000000000000000000000000000000000000000000000000000000089c0aea02bed90ddd000000",
    "contractAddress" : "tNULSeBaMxHqD1Vdcmyx4P43GMCPGcRiFzqjie",
    "hash" : "2ca7d4e9f2ffcb92e1d134ea4a544ffb947f4c9154ff73223834d87bba9734ba"
  }
}

# 4.20 Offline - Calling the contract

# Cmd: contractCallOffline

Detailed description: Offline - Call contract

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
sender string Transaction Creator Account Address Yes
senderBalance biginteger Account Balance Yes
nonce string account nonce value yes
value biginteger The amount of the primary network asset that the caller transferred to the contract address. If there is no such service, fill BigInteger.ZERO Yes
contractAddress string contract address yes
gasLimit long Set the upper limit of gas consumed by contract execution Yes
methodName string contract method yes
methodDesc string Contract method description, if the method in the contract is not overloaded, this parameter can be empty No
args object[] List of parameters No
argsType string[] List of parameter types No
remark string Transaction Notes No

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization String

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "contractCallOffline",
  "params" : [ 2, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", "999999998523475", "9c0aea02bed90ddd", 0, "tNULSeBaMwYiR4p1X9xNJPiyJfrXjr4KgkcFjG", 14166, "transfer", null, [ "tNULSeBaMnrs6JKrCy6TQdzYJZkMZJDng7QAsD", 3800 ], [ "Address", "BigInteger" ], "remark_call_test" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHex" : "1000f22d375d1072656d61726b5f63616c6c5f7465737497020001f7ec6473df12e751d64cf20a8baa7edd50810f810200020d2f73cb93099a8cfd0cbdd060155abfe2f50917000000000000000000000000000000000000000000000000000000000000000056370000000000001900000000000000087472616e7366657200020126744e554c536542614d6e7273364a4b724379365451647a594a5a6b4d5a4a446e673751417344010433383030480117020001f7ec6473df12e751d64cf20a8baa7edd50810f810200010006ee060000000000000000000000000000000000000000000000000000000000089c0aea02bed90ddd000000",
    "hash" : "b5d6e09a8ecee2c1e4fd1d9c6a9704fb84a9fbe1bd069762d684c7b29b1e4668"
  }
}

# 4.21 Offline - Delete contract

# Cmd: contractDeleteOffline

Detailed description: Offline - delete contract

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
sender string Transaction Creator Account Address Yes
senderBalance biginteger Account Balance Yes
nonce string account nonce value yes
contractAddress string contract address yes
remark string Transaction Notes No

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization String

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "contractDeleteOffline",
  "params" : [ 2, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", "999999998523475", "9c0aea02bed90ddd", "tNULSeBaMxyMyafiQjq1wCW7cQouyEhRL8njtu", "delete contract" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHex" : "1100462e375d0f64656c65746520636f6e74726163742e020001f7ec6473df12e751d64cf20a8baa7edd50810f81020002245bcd36879bc30bfc719a417939b3aa924247ca480117020001f7ec6473df12e751d64cf20a8baa7edd50810f8102000100a086010000000000000000000000000000000000000000000000000000000000089c0aea02bed90ddd000000",
    "hash" : "79c7385eb8a538ed770cca5eea015e05cb602b1ccb2c9694ea6dbba32b781df4"
  }
}

# 4.22 Offline - Contract Token Transfer

# Cmd: tokentransferOffline

_Detailed description: Offline - contract token transfer

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
fromAddress string Transferr Account Address Yes
senderBalance biginteger Transferring Account Balance Yes
nonce string transfer account nonce value yes
toAddress string Transferee Account Address Yes
contractAddress string token contract address Yes
gasLimit long Set the upper limit of gas consumed by contract execution Yes
amount biginteger Amount of transferred token assets Yes
remark string Transaction Notes No

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization String

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "tokentransferOffline",
  "params" : [ 2, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", "999999998523475", "9c0aea02bed90ddd", "tNULSeBaMnrs6JKrCy6TQdzYJZkMZJDng7QAsD", "tNULSeBaN3MH7HX8kXzKw4X9tLKQ991X1GiAbK", 14166, 10, "1"],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHex" : "1000b32e375d0431e4b8aa95020001f7ec6473df12e751d64cf20a8baa7edd50810f810200026b8d9b09ed5c1a692a6109c5ee99ccb6177b13a1000000000000000000000000000000000000000000000000000000000000000056370000000000001900000000000000087472616e7366657200020126744e554c536542614d6e7273364a4b724379365451647a594a5a6b4d5a4a446e67375141734401023130480117020001f7ec6473df12e751d64cf20a8baa7edd50810f810200010006ee060000000000000000000000000000000000000000000000000000000000089c0aea02bed90ddd000000",
    "hash" : "9f09e5719624727c4bff3bc6f690cc0866238c0205551c7d57a93f49afbb9596"
  }
}

# 4.23 Offline - Contract transactions from account address to contract address transfer (main chain asset)

# Cmd: transfer2contractOffline

Detailed description: Offline - Contract transaction from account address to contract address transfer (main chain asset)

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int chain id yes
fromAddress string Transferr Account Address Yes
senderBalance biginteger Transferring Account Balance Yes
nonce string transfer account nonce value yes
toAddress string Transferred contract address Yes
gasLimit long Set the upper limit of gas consumed by contract execution Yes
amount biginteger Transferred main chain asset amount Yes
remark string Transaction Notes No

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization String

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "transfer2contractOffline",
  "params" : [ 2, "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", "999999998523475", "9c0aea02bed90ddd", "tNULSeBaMxyMyafiQjq1wCW7cQouyEhRL8njtu", 25896, "400000000", "Offline Transfer to Contract"],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHex" : "1000fe2e375d15e7a6bbe7babfe59091e59088e7baa6e8bdace8b4a677020001f7ec6473df12e751d64cf20a8baa7edd50810f81020002245bcd36879bc30bfc719a417939b3aa924247ca0084d7170000000000000000000000000000000000000000000000000000000028650000000000001900000000000000085f70617961626c650e28292072657475726e20766f6964008c0117020001f7ec6473df12e751d64cf20a8baa7edd50810f810200010088ebe21700000000000000000000000000000000000000000000000000000000089c0aea02bed90ddd000117020002245bcd36879bc30bfc719a417939b3aa924247ca020001000084d71700000000000000000000000000000000000000000000000000000000000000000000000000",
    "hash" : "ea3d34129992757e7e7b032c8b5b0ad2b9bc6823592bd83814c3e92d0221417d"
  }
}

# 5.1 Creating a consensus node

# Cmd: createAgent

Detailed description: Create consensus node

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
CreateAgentForm createagentform Create Consensus Node Form Yes
        agentAddress string Node Address Yes
        packingAddress string Node Block Address Yes
        rewardAddress string Reward address, default node address No
        commissionRate int Commission Ratio Yes
        deposit string Mortgage Amount Yes
        password string Password Yes

# return value

Field Name Field Type Parameter Description
value string transaction hash

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "createAgent",
  "params" : [ 2, "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk", "tNULSeBaMhbVDg6CpiWx2jzExLFarBr6vJ6aSF", "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk", 10, "2000000000000", "abcd1234" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : "157ad5e8061328c764090b85b60624d461d1815357c22f2910506a3cdcbbb6d5"
}

# 5.2 Logout Consensus Node

# Cmd: stopAgent

Detailed description: Logout consensus node

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
StopAgentForm stopagentform Unregister Consensus Node Form Yes
        address string Consensus Node Address Yes
        password string Password Yes

# return value

Field Name Field Type Parameter Description
value string transaction hash

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "stopAgent",
  "params" : [ 2, "tNULSeBaMujLBcZWfE2wHKnZo7PGvqvNrt6yWG", "abcd1234" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : "fcaf8c92a0eafd2ca57744c165e1a955edcbfde98248494937200cc30d524e2e"
}

# 5.3 Entrusted to participate in the consensus

# Cmd: depositToAgent

Detailed description: Entrusted participation in consensus

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
DepositForm depositform Delegate Participation Consensus Form Yes
        address string Participation in Consensus Account Address Yes
        agentHash string consensus node hash yes
        deposit string Amount of consensus Yes
        password string Password Yes

# return value

Field Name Field Type Parameter Description
value string transaction hash

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "depositToAgent",
  "params" : [ 2, "tNULSeBaMhcccH1KeXhMpH5y3pvtRzatAiuMJk", "157ad5e8061328c764090b85b60624d461d1815357c22f2910506a3cdcbbb6d5", "200000000000", "abcd1234" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : "4a1177e2a738f72ba5063a8667a81e10bd7523f91ea08b2aa3fb851ca8dc8b07"
}

# 5.4 Exit Consensus

# Cmd: withdraw

Detailed description: Exit consensus

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
WithdrawForm withdrawform Exit Consensus Form Yes
        address string Node Address Yes
        txHash string Trading hash when joining consensus Yes
        password string Password Yes

# return value

Field Name Field Type Parameter Description
value string transaction hash

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "withdraw",
  "params" : [ 2, "tNULSeBaMujLBcZWfE2wHKnZo7PGvqvNrt6yWG", "4ae333f8bf821884d0f589f35516c8bdd9661dbd8a7009b063ac862eeefc10f6", "abcd1234" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : "13a0e252bf05ec02f3ae0a84fc3b8183dbfc0e16c562b20b8e28b73b139f2c0e"
}

# 5.5 Querying the node's delegate consensus list

# Cmd: getDepositList

Detailed description: Query node's delegate consensus list

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
agentHash string Create a consensus node transaction hash Yes

# return value

Field Name Field Type Parameter Description
deposit string
agentHash string node hash
address string Account Address
time long delegation time
txHash string Trusted transaction hash
blockHeight long Block height at delegate
delHeight long Exit the block height of the delegate

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "getDepositList",
  "params" : [ 2, "786402b17649b968e4643cb52fa30225645b0dc7b8761b047a1f080d3dd30dcd" ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : [ {
    "deposit" : "200000000000",
    "agentHash" : "786402b17649b968e4643cb52fa30225645b0dc7b8761b047a1f080d3dd30dcd",
    "address" : "tNULSeBaMujLBcZWfE2wHKnZo7PGvqvNrt6yWG",
    "time" : 1563277510,
    "txHash" : "bd93cf73331c0d9986cb90922d2eec785ea9eda3da85cd9d629b5a4c7f36c452",
    "blockHeight" : 462,
    "delHeight" : -1
  }, {
    "deposit" : "200000000000",
    "agentHash" : "786402b17649b968e4643cb52fa30225645b0dc7b8761b047a1f080d3dd30dcd",
    "address" : "tNULSeBaMujLBcZWfE2wHKnZo7PGvqvNrt6yWG",
    "time" : 1563277712,
    "txHash" : "be5257bc0814cbda61378ff2afa81e98cae0018cd7d78b8d1ca9812c66d27e84",
    "blockHeight" : 482,
    "delHeight" : -1
  } ]
}

# 5.6 Offline Assembly - Create Consensus Node

# Cmd: createAgentOffline

Detailed description: The assets required to participate in the consensus can be obtained through the query chain information interface (agentChainId and agentAssetId)

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
ConsensusDto consensusdto Create consensus node form offline Yes
        agentAddress string Node Creation Address Yes
        packingAddress string Node Block Address Yes
        rewardAddress string Get Consensus Reward Address Yes
        commissionRate int Node commission ratio Yes
        deposit biginteger Create Node Margin Yes
        input object Transaction input information Yes
                address string Account Address Yes
                assetChainId int Asset Chain id Yes
                assetId int Asset id Yes
                amount biginteger Asset Amount Yes
                nonce string Asset nonce value Yes

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization String

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "createAgentOffline",
  "params" : [ 2, "tNULSeBaMujLBcZWfE2wHKnZo7PGvqvNrt6yWG", "tNULSeBaMvEtDfvZuukDf2mVyfGo3DdiN8KLRG", "tNULSeBaMujLBcZWfE2wHKnZo7PGvqvNrt6yWG", 10, "2000000000000", {
    "address" : "tNULSeBaMujLBcZWfE2wHKnZo7PGvqvNrt6yWG",
    "assetChainId" : 2,
    "assetId" : 1,
    "amount" : "2000001000000",
    "nonce" : "63ac862eeefc10f6"
  } ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHex" : "0400e6b72d5d006600204aa9d1010000000000000000000000000000000000000000000000000000020001efa328e600912da9872390a675486ab9e8ec2114020001f7ec6473df12e751d64cf20a8baa7edd50810f81020001efa328e600912da9872390a675486ab9e8ec21140a8c0117020001efa328e600912da9872390a675486ab9e8ec211402000100406259a9d10100000000000000000000000000000000000000000000000000000863ac862eeefc10f6000117020001efa328e600912da9872390a675486ab9e8ec21140200010000204aa9d1010000000000000000000000000000000000000000000000000000ffffffffffffffff00",
    "hash" : "7a5c405239c742d0253a4067dd7df94b0bd4103b0edc4d3226575b5176a07ad0"
  }
}

# 5.7 Offline Assembly - Unregister Consensus Node

# Cmd: stopAgentOffline

Detailed description: The StopDepositDto information of the assembly transaction can be obtained by querying the node's delegate consensus list, and the input nonce value can be empty

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
StopConsensusDto stopconsensusdto Offline Logout Consensus Node Form Yes
        agentHash string Create node transaction hash Yes
        agentAddress string Node Address Yes
        deposit biginteger Create a node's margin Yes
        price biginteger Fee Price No
        depositList list<object> Stop delegate list Yes
                depositHash string Trusted Consensus Trading hash Yes
                input object Transaction input Yes
                        address string Account Address Yes
                           assetChainId int Chain id of assets Yes
                        assetId int asset id yes
                        amount biginteger Asset Amount Yes
                        nonce string asset nonce value yes

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization String

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "stopAgentOffline",
  "params" : [ 2, "786402b17649b968e4643cb52fa30225645b0dc7b8761b047a1f080d3dd30dcd", "tNULSeBaMujLBcZWfE2wHKnZo7PGvqvNrt6yWG", "2000000000000", "100000", [ {
    "depositHash" : "bd93cf73331c0d9986cb90922d2eec785ea9eda3da85cd9d629b5a4c7f36c452",
    "input" : {
      "address" : "tNULSeBaMujLBcZWfE2wHKnZo7PGvqvNrt6yWG",
      "assetChainId" : 2,
      "assetId" : 1,
      "amount" : "200000000000",
      "nonce" : ""
    }
  }, {
    "depositHash" : "be5257bc0814cbda61378ff2afa81e98cae0018cd7d78b8d1ca9812c66d27e84",
    "input" : {
      "address" : "tNULSeBaMujLBcZWfE2wHKnZo7PGvqvNrt6yWG",
      "assetChainId" : 2,
      "assetId" : 1,
      "amount" : "200000000000",
      "nonce" : ""
    }
  } ] ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHex" : "090075bd2d5d0020786402b17649b968e4643cb52fa30225645b0dc7b8761b047a1f080d3dd30dcdfd5c010317020001efa328e600912da9872390a675486ab9e8ec21140200010000204aa9d1010000000000000000000000000000000000000000000000000000087a1f080d3dd30dcdff17020001efa328e600912da9872390a675486ab9e8ec21140200010000d0ed902e00000000000000000000000000000000000000000000000000000008629b5a4c7f36c452ff17020001efa328e600912da9872390a675486ab9e8ec21140200010000d0ed902e000000000000000000000000000000000000000000000000000000081ca9812c66d27e84ff0217020001efa328e600912da9872390a675486ab9e8ec211402000100609948a9d101000000000000000000000000000000000000000000000000000085cb2d5d0000000017020001efa328e600912da9872390a675486ab9e8ec21140200010000a0db215d000000000000000000000000000000000000000000000000000000000000000000000000",
    "hash" : "15e9f16c7b430ea217408ae63dd6e90739bc0a5f0f6b3c0907b4689d02dc744a"
  }
}

# 5.8 Offline Assembly - Entrusted to participate in the consensus

# Cmd: depositToAgentOffline

Detailed description: The assets required to participate in the consensus can be obtained through the query chain information interface (agentChainId and agentAssetId)

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
DepositDto depositdto Offline delegate participation consensus form Yes
        address string Account Address Yes
        deposit biginteger Delegate amount Yes
        agentHash string consensus node hash yes
        input object Transaction input information Yes
                address string Account Address Yes
                assetChainId int Asset Chain id Yes
                assetId int Asset id Yes
                amount biginteger Asset Amount Yes
                nonce string Asset nonce value Yes

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization String

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "depositToAgentOffline",
  "params" : [ 2, "tNULSeBaMujLBcZWfE2wHKnZo7PGvqvNrt6yWG", "200000000000", "786402b17649b968e4643cb52fa30225645b0dc7b8761b047a1f080d3dd30dcd", {
    "address" : "tNULSeBaMujLBcZWfE2wHKnZo7PGvqvNrt6yWG",
    "assetChainId" : 2,
    "assetId" : 1,
    "amount" : "200010000000",
    "nonce" : "7a1f080d3dd30dcd"
  } ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHex" : "0500c6b82d5d005700d0ed902e000000000000000000000000000000000000000000000000000000020001efa328e600912da9872390a675486ab9e8ec2114786402b17649b968e4643cb52fa30225645b0dc7b8761b047a1f080d3dd30dcd8c0117020001efa328e600912da9872390a675486ab9e8ec211402000100806686912e000000000000000000000000000000000000000000000000000000087a1f080d3dd30dcd000117020001efa328e600912da9872390a675486ab9e8ec21140200010000d0ed902e000000000000000000000000000000000000000000000000000000ffffffffffffffff00",
    "hash" : "bd93cf73331c0d9986cb90922d2eec785ea9eda3da85cd9d629b5a4c7f36c452"
  }
}

# 5.9 Offline Assembly - Exit Consensus

# Cmd: withdrawOffline

Detailed description: Offline assembly - Exit consensus

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
WithDrawDto withdrawdto Offline Exit Consensus Form Yes
        address string address yes
        depositHash string Delegation of Consensus Transaction Yes
        price biginteger Fee Price No
        input object Transaction input information Yes
                address string Account Address Yes
                assetChainId int Asset Chain id Yes
                assetId int Asset id Yes
                amount biginteger Asset Amount Yes
                nonce string Asset nonce value Yes

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization String

# Example request data:

{
  "jsonrpc" : "2.0",
  "method" : "withdrawOffline",
  "params" : [ 2, "tNULSeBaMujLBcZWfE2wHKnZo7PGvqvNrt6yWG", "be5257bc0814cbda61378ff2afa81e98cae0018cd7d78b8d1ca9812c66d27e84", "1000000", {
    "address" : "tNULSeBaMujLBcZWfE2wHKnZo7PGvqvNrt6yWG",
    "assetChainId" : 2,
    "assetId" : 1,
    "amount" : 200000000000,
    "nonce" : ""
  } ],
  "id" : 1234
}

# Example response data:

{
  "jsonrpc" : "2.0",
  "id" : "1234",
  "result" : {
    "txHex" : "060031bb2d5d0020be5257bc0814cbda61378ff2afa81e98cae0018cd7d78b8d1ca9812c66d27e848c0117020001efa328e600912da9872390a675486ab9e8ec21140200010000d0ed902e000000000000000000000000000000000000000000000000000000081ca9812c66d27e84ff0117020001efa328e600912da9872390a675486ab9e8ec211402000100c08dde902e000000000000000000000000000000000000000000000000000000000000000000000000",
    "hash" : "bad82cb423722793a77d729444fee0c1a99a679c8ab0a2cb5ccc10be584c7726"
  }
}

# 5.10 Offline Assembly - Multi-Sign Account Creation Consensus Node

# Cmd: multiSignCreateAgentOffline

Detailed description: The assets required to participate in the consensus can be obtained through the query chain information interface (agentChainId and agentAssetId)

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
MultiSignConsensusDto multisignconsensusdto Multi-Sign Account Offline Create Consensus Node Form Yes
        agentAddress string Node Creation Address Yes
        packingAddress string Node Block Address Yes
        rewardAddress string Get Consensus Reward Address Yes
        commissionRate int Node commission ratio Yes
        deposit biginteger Create Node Margin Yes
        input object Transaction input information Yes
                address string Account Address Yes
                assetChainId int Asset Chain id Yes
                assetId int Asset id Yes
                amount biginteger Asset Amount Yes
                nonce string Asset nonce value Yes
        pubKeys list<string> Public Key Collection Yes
        minSigns int Minimum Signatures Yes

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization String

# Example request data:

no

# Example response data:

slightly

# 5.11 Offline Assembly - Multi-Sign Account Cancellation Consensus Node

# Cmd: multiSignStopAgentOffline

Detailed description: The StopDepositDto information of the assembly transaction can be obtained by querying the node's delegate consensus list, and the input nonce value can be empty

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
MultiSignStopConsensusDto multisignstopconsensusdto Multi-Sign Account Offline Logout Consensus Node Form Yes
        agentHash string Create node transaction hash Yes
        agentAddress string Node Address Yes
        deposit biginteger Create a node's margin Yes
        price biginteger Fee Price No
        depositList list<object> Stop delegate list Yes
                depositHash string Trusted Consensus Trading hash Yes
                input object Transaction input Yes
                        address string Account Address Yes
                           assetChainId int Chain id of assets Yes
                        assetId int asset id yes
                        amount biginteger Asset Amount Yes
                        nonce string asset nonce value yes
        pubKeys list<string> Public Key Collection Yes
        minSigns int Minimum Signatures Yes

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization String

# Example request data:

no

# Example response data:

slightly

# 5.12 Offline Assembly - Multi-Sign Account Entrustment Participation Consensus

# Cmd: multiSignDepositToAgentOffline

Detailed description: The assets required to participate in the consensus can be obtained through the query chain information interface (agentChainId and agentAssetId)

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
MultiSignDepositDto multisigndepositdto Multi-Sign Account Offline Delegate Participation Consensus Form Yes
        address string Account Address Yes
        deposit biginteger Delegate amount Yes
        agentHash string consensus node hash yes
        input object Transaction input information Yes
                address string Account Address Yes
                assetChainId int Asset Chain id Yes
                assetId int Asset id Yes
                amount biginteger Asset Amount Yes
                nonce string Asset nonce value Yes
        pubKeys list<string> Public Key Collection Yes
        minSigns int Minimum Signatures Yes

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization String

# Example request data:

no

# Example response data:

slightly

# 5.13 Offline Assembly - Multi-Sign Account Exit Consensus

# Cmd: multiSignWithdrawOffline

_Detailed description: Offline assembly - Multi-sign account withdrawal consensus

# parameter list

Parameter Name Parameter Type Parameter Description Required
chainId int Chain ID Yes
MultiSignWithDrawDto multisignwithdrawdto Multi-Sign Account Offline Exit Consensus Form Yes
        address string address yes
        depositHash string Delegation of Consensus Transaction Yes
        price biginteger Fee Price No
        input object Transaction input information Yes
                address string Account Address Yes
                assetChainId int Asset Chain id Yes
                assetId int Asset id Yes
                amount biginteger Asset Amount Yes
                nonce string Asset nonce value Yes
        pubKeys list<string> Public Key Collection Yes
        minSigns int Minimum Signatures Yes

# return value

Field Name Field Type Parameter Description
hash string transaction hash
txHex string Transaction Serialization String

# Example request data:

no

# Example response data:

slightly

Last Updated: 2/1/2024, 10:52:13 AM