In JS SDK, many data structures are consistent with those of the contract platform, including accounts, contracts, blocks, transactions, and receipts.
Account model
Basic account parameters are described as follows:
| Name |
Type |
Description |
| identity |
string |
The identity of the account. It is a hexadecimal string. |
| balance |
BigNumber. It is a special type. For more information, see Details |
The balance. |
| auth_map |
string |
The public key and weight value of an account or a smart contract. |
| recover_key |
string |
The recovery public key that is used when the private key is lost. It is a hexadecimal string. |
| recover_time |
number |
The last recovery time. |
| status |
number |
The status of the account. 0: NORMAL. 1: FREEZE. 2: RECOVERING. |
| encryption_key |
string |
The public key that is used to encrypt the transaction amount in a smart contract. It is a hexadecimal string. |
Examples
{ identity: '0xc60a9d48105950a0cca07a4c6320b98c303ad42d694a634529e8e1a0a16fcdb5', balance: 1000000000000000000, recover_key: '0x61df14a4625bd997eeae2ebcffe58aa95ab3fcd1d7660f83b5fe34a6e08915beae36d84f960f6baca008b67c919feae0f29c262b43e985b477f92626ed2b6f6a', recover_time: 0, status: 0, code: '', storage_root: '0x76be8b528d0075f7aae98d6fa57a6d3c83ae480a8469e668d7b0af968995ac71', code_hash: '0x0000000000000000000000000000000000000000000000000000000000000000', encryption_key: '', version: '2', auth_map: [ { auth_key: '0x61df14a4625bd997eeae2ebcffe58aa95ab3fcd1d7660f83b5fe34a6e08915beae36d84f960f6baca008b67c919feae0f29c262b43e985b477f92626ed2b6f6a', auth_weight: 100 } ] }
Contract model
Basic contract parameters are described as follows:
| Name |
Type |
Description |
| identity |
string |
The identity of the contract. It is a hexadecimal string. |
| balance |
BigNumber. It is a special type. For more information, see Details |
The balance. |
| auth_map |
string |
The public key and weight value of an account or a smart contract. |
| recover_key |
string |
The recovery public key that is used when the private key is lost. It is a hexadecimal string. |
| recover_time |
number |
The last recovery time. |
| status |
number |
The status of the contract. 0: NORMAL. 1: FREEZE. 2: RECOVERING. |
| encryption_key |
string |
The public key that is used to encrypt the transaction amount in a smart contract. It is a hexadecimal string. |
| storage_root |
string |
The root node hash of the Merkle tree in the world state. It is a hexadecimal string. |
| code_hash |
string |
The contract code hash. It is a hexadecimal string. |
| code |
string |
The contract code. It is a hexadecimal string. |
Examples
{ identity: '0xe784481df592b4f72360db588d04fc55c4fa800c867a1ca7bb9f470ddf805b6d', balance: 0, recover_key: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', recover_time: 0, status: 0, code: '0x016080604052600436106100825763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630d15fd7781146100875780632f265cf7146100ae578063392e6678146100dc5780637021939f14610108578063a9a981a314610120578063b13c744b14610135578063cc9ab2671461014d575b600080fd5b34801561009357600080fd5b5061009c610167565b60408051918252519081900360200190f35b3480156100ba57600080fd5b506100c660043561016d565b6040805160ff9092168252519081900360200190f35b3480156100e857600080fd5b506100f4600435610199565b604080519115158252519081900360200190f35b34801561011457600080fd5b506100c660043561024e565b34801561012c57600080fd5b5061009c610263565b34801561014157600080fd5b5061009c600435610269565b34801561015957600080fd5b50610165600435610288565b005b60035481565b600061017882610199565b151561018357600080fd5b5060009081526001602052604090205460ff1690565b6000805b60005481101561020f5760008054849190839081106101b857fe5b600091825260209091200154141561020757604080516001815290517f2b766bfa48dbb99822ac647fffc163dc74b7857beedb5ec6782ed9826453db049181900360200190a160019150610248565b60010161019d565b604080516000815290517f2b766bfa48dbb99822ac647fffc163dc74b7857beedb5ec6782ed9826453db049181900360200190a1600091505b50919050565b60016020526000908152604090205460ff1681565b60025481565b600080548290811061027757fe5b600091825260209091200154905081565b61029181610199565b151561029c57600080fd5b600081815260016020818152604092839020805460ff80821685011660ff19909116179055600380549092019091558151838152339181019190915281517f690156027e055e69a001816111c1abd4287fa897e929662c9ad6108a84fe2523929181900390910190a1505600a165627a7a72305820f4f856c692cb5ff1f3f493855d83e03251ad0399970bdf9119597e2593fd68d00029', storage_root: '0xd76c14b0f7f99cd297110d1d711a56a70d0ee758174e957874d3354dfb6fc5f4', code_hash: '0xf2798023afd1207ca4ac57ad2ecb84b032b0279d27294a6e2c57dfffb3eadeb5', encryption_key: '', acc_version: 2, auth_map: [ { auth_key: '0x61df14a4625bd997eeae2ebcffe58aa95ab3fcd1d7660f83b5fe34a6e08915beae36d84f960f6baca008b67c919feae0f29c262b43e985b477f92626ed2b6f6a', auth_weight: 100 } ] }
Transaction model
Basic transaction parameters are described as follows:
| Name |
Type |
Description |
| hash |
string |
The transaction hash composed of all fields excluding the signature field. |
| type |
number |
The type of the transaction. |
| timestamp |
number |
The timestamp of the transaction. |
| nonce |
number |
Prevents replay attacks. |
| period |
number |
The time in milliseconds when the transaction starts or ends. |
| from |
string |
The sender of the transaction. |
| to |
string |
The recipient of the transaction. |
| value |
number |
The transferred amount. |
| gas |
number |
The transaction fee paid by the source account for a transaction. |
| data |
string |
For more information, see the data encoding methods of the transaction object. |
| group_id |
string |
The ID of the group where the transaction is executed. |
| signature |
string |
The signature. Signs the hash using one or multiple private keys. |
| extensions |
string |
The transaction extension field. It is currently not supported by JS SDK. |
Receipt model
Basic receipt parameters are described as follows:
| Name |
Type |
Description |
| result |
number |
The transaction result. |
| gas_used |
number |
The transaction fee paid by the source account for a transaction. |
| logs |
Array |
The log entries of transaction executions. |
| output |
BigNumber |
The output of the contract. |
| offset |
number |
The offset of the contract output. |
Log model
Basic log parameters are described as follows:
| Name |
Type |
Description |
| from |
string |
The sender of the transaction. |
| to |
string |
The recipient of the transaction. |
| topics |
Array |
The subscribed topics. |
| log_data |
Array |
The log data generated by the transaction. |
Block model
The block model is divided into three parts: block, block header, and block body.
- Basic block parameters are described as follows:
| Name |
Type |
Description |
| block_header |
object |
The block header. |
| block_body |
object |
The block body. |
- Basic parameters of
block_header are described as follows:
| Name |
Type |
Description |
| hash |
string |
The hash of the block header. |
| version |
number |
The version of the block header. |
| number |
number |
The block number. |
| parent_hash |
string |
The previous block hash. |
| transaction_root |
string |
The root node hash of the Merkle tree generated by the transactions in the block body. |
| receipt_root |
string |
The root node hash of the Merkle tree generated by the receipts in the block body. |
| state_root |
string |
The root node hash of the Merkle tree in the world state. |
| gas_used |
number |
The total gas consumed by transactions. |
| timestamp |
number |
The timestamp. |
| log_bloom |
string |
The log bloom filter. |
- Basic parameters of
block_body are described as follows:
| Name |
Type |
Description |
| transaction_list |
Array |
The transaction list. |
| receipt_list |
Array |
The receipt list. |
| consensus_proof |
string |
The consensus proof. |
Examples
block: { block_header: { hash: '0xf3f53c5ec6ede0bd24a2e36914cd5fbc3c2a7de80d677efdd704459a7f5f9879', version: 2, block_number: 86117, parent_hash: '0xe252fe8333dce2bacc9ec1764d03b41dea30cc0f02d3064dc2537f0db63110b8', transaction_root: '0x0000000000000000000000000000000000000000000000000000000000000000', receipt_root: '0x0000000000000000000000000000000000000000000000000000000000000000', state_root: '0xb849f08a17fd0cdd97b14c3531f18d9c82b9411ad9e97bc8812f05349496aa30', gas_used: 0, timestamp: 1547388041992, log_bloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' }, block_body: { transaction_list: [], receipt_list: [], consensus_proof: '0xf8f2f8c9b84154f46c7c6a4bd7b4da1350de36d6b7cd24e595d82b6cbc93c8b161a653e9a9db25e9aad5ed219873a44ba86dd812df0ff0813840af198703eedd2446517d761f01b841563d53272fa6627a32192f28747e1cffd541a3da206fa7f788311e30fcc0272d2c65982f341be4e9a9d8a0139e1b346b8ca835a3f710a58a00bb1f52ae7cba5b01b841db26385c9d5e8f2759c5ac72dc90befd3e2a0b6ad0ac25bd7ea0737025c07a776d34fb84625dce19d8c82450205034737414ed14999fbfa28653ee62547bd77201e61e83015065a048c1edc05bc2f69c32e61b6a79b39880474bf23fdb2466a0de3a88cdae42c649' } }