# 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:
- Type the URL of the API (http://127.0.0.1:18003)
- Change method to POST.
- In the parameter section click on "raw" and select format as "JSON" and add the json request in the testarea provided.
- In the headers section add "Content-Type" as header and "application/json;charset=UTF-8" as the value.
- 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 methodAdd 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