Links

Data API

Fetch block and transaction related data
The data API methods can be used to fetch block, transaction, and other related data from the chain. The available methods have been classified based on the endpoints and listed below.

Network

Fetch the list of available networks

Method: POST
URL: /network/list
Sample Request:
{
"metadata": {}
}
Sample Response:
{
"network_identifiers": [
{
"blockchain": "ont",
"network": "mainnet"
}
]
}

Fetch network options

Method: POST
URL: /network/options
Sample Request:
{
"network_identifier": {
"blockchain": "ont",
"network": "mainnet"
}
}
Sample Response:
{
"version": {
"rosetta_version": "1.4.0",
"node_version": "1.11.0"
},
"allow": {
"operation_statuses": [
{
"status": "SUCCESS",
"successful": true
},
{
"status": "FAILED",
"successful": false
}
],
"operation_types": ["transfer"],
"errors": [
{
"code": 400,
"message": "network identifier is not supported",
"retriable": false
},
{
"code": 401,
"message": "block identifier is empty",
"retriable": false
},
{
"code": 402,
"message": "block index is invalid",
"retriable": false
},
{
"code": 403,
"message": "get block failed",
"retriable": true
},
{
"code": 404,
"message": "block hash is invalid",
"retriable": false
},
{
"code": 405,
"message": "get transaction failed",
"retriable": true
},
{
"code": 406,
"message": "transaction hash is invalid",
"retriable": false
},
{
"code": 407,
"message": "commit transaction failed",
"retriable": false
},
{
"code": 408,
"message": "tx hash is invalid",
"retriable": false
},
{
"code": 409,
"message": "block is not exist",
"retriable": false
},
{
"code": 500,
"message": "service not realize",
"retriable": false
},
{
"code": 501,
"message": "addr is invalid",
"retriable": true
},
{
"code": 502,
"message": "get balance error",
"retriable": true
},
{
"code": 503,
"message": "parse int error",
"retriable": true
},
{
"code": 504,
"message": "json marshal failed",
"retriable": false
},
{
"code": 505,
"message": "parse tx payload failed",
"retriable": false
},
{
"code": 506,
"message": "currency not config",
"retriable": false
},
{
"code": 507,
"message": "params error",
"retriable": true
},
{
"code": 508,
"message": "contract addr invalid",
"retriable": true
},
{
"code": 509,
"message": "preExecute contract failed",
"retriable": false
},
{
"code": 510,
"message": "query balance failed",
"retriable": true
}
]
}
}

Fetch the network status

Method: POST
URL: /network/status
Sample Request:
{
"network_identifier": {
"blockchain": "ont",
"network": "mainnet"
}
}
Sample Response:
{
"current_block_identifier": {
"index": 4789126,
"hash": "76fcf0fbd5e979721fe52e472ac79eb26f4bc502c371508574c0e03386be20e6"
},
"current_block_timestamp": 1560312815000,
"genesis_block_identifier": {
"index": 0,
"hash": "1b8fa7f242d0eeb4395f89cbb59e4c29634047e33245c4914306e78a88e14ce5"
},
"peers": [
{
"peer_id": "000000000000000000000000b41fe9ceaaaa4d7b",
"metadata": {
"address": "40.113.237.243:20338",
"height": 8454242
}
},
{
"peer_id": "000000000000000000000000a4f0c524d8efd6a8",
"metadata": {
"address": "139.219.141.104:20338",
"height": 8454242
}
},
{
"peer_id": "0000000000000000000000008e6528f4659f3112",
"metadata": {
"address": "50.18.219.74:20338",
"height": 8454242
}
}
]
}

Account

Fetch account balance

Method: POST
URL: /account/balance
Sample Request:
{
"network_identifier": {
"blockchain": "ont",
"network": "mainnet"
},
"account_identifier": {
"address": "AFmseVrdL9f9oyCzZefL9tG6UbviEH9ugK",
"metadata": {}
},
"block_identifier": {
"index": 310
}
}
Sample Response:
{
"block_identifier": {
"index": 310,
"hash": "11405500403779cff364803bbd7fe4dc74ba9119015fd79473c188b727769c52"
},
"balances": [
{
"value": "14700000000000000",
"currency": {
"symbol": "ONT",
"decimals": 9,
"metadata": {
"ContractAddress": "0100000000000000000000000000000000000000",
"TokenType": "Governance Token"
}
}
},
{
"value": "1750000140000000000000",
"currency": {
"symbol": "ONG",
"decimals": 18,
"metadata": {
"ContractAddress": "0200000000000000000000000000000000000000",
"TokenType": "Utility Token"
}
}
}
]
}

Block

Fetch block details

Method: POST
URL: /block
Sample Request:
{
"network_identifier": {
"blockchain": "ont",
"network": "mainnet"
},
"block_identifier": {
"index": 54
}
}
{
"block": {
"block_identifier": {
"index": 54,
"hash": "790ea8942e5722c75ba638312caa8c1380c41da4c145d6493ae510eb6017c5f3"
},
"parent_block_identifier": {
"index": 53,
"hash": "2b52c7fcdbdcd362211e1646fa6351c8f6fd4cbfa520fe7857133e59061ff348"
},
"timestamp": 1530389834000,
"transactions": [
{
"transaction_identifier": {
"hash": "20247d9df50d830b8978a5c49313a6f8a118fd5bb9c2950e3c7f95f5ac6410f6"
},
"operations": [
{
"operation_identifier": {
"index": 0
},
"type": "transfer",
"status": "SUCCESS",
"account": {
"address": "AJMFNZL5jGjZJEhBrJfVLHJeJ3KwiczJ6B"
},
"amount": {
"value": "-1000000000000000000",
"currency": {
"symbol": "ONT",
"decimals": 9,
"metadata": {
"ContractAddress": "0100000000000000000000000000000000000000",
"TokenType": "Governance Token"
}
}
}
},
{
"operation_identifier": {
"index": 1
},
"related_operations": [
{
"index": 0
}
],
"type": "transfer",
"status": "SUCCESS",
"account": {
"address": "AWyEMxiLUVr5MeVJe3Fw5Xsij7iZUmfYyk"
},
"amount": {
"value": "1000000000000000000",
"currency": {
"symbol": "ONT",
"decimals": 9,
"metadata": {
"ContractAddress": "0100000000000000000000000000000000000000",
"TokenType": "Governance Token"
}
}
}
}
]
}
]
}
}
Please note that the transaction record consists of two operations, i.e. the from operation, and the to operation. The transaction amount for the from operation is negative, while the amount for the to operation is equal and positive.
The currency field contains token details. The two tokens are denoted in the following manner:
ONT Parameters
{
"symbol": "ONT",
"decimals": 9,
"metadata": {
"ContractAddress": "0100000000000000000000000000000000000000",
"TokenType": "Governance Token"
}
}
ONG Parameters
{
"symbol": "ONG",
"decimals": 18,
"metadata": {
"ContractAddress": "0200000000000000000000000000000000000000",
"TokenType": "Utility Token"
}
}

Fetch transaction information from a block

Method: POST
URL: /block/transaction
Sample Request:
{
"network_identifier": {
"blockchain": "ont",
"network": "mainnet"
},
"block_identifier": {
"index": 54,
"hash": "790ea8942e5722c75ba638312caa8c1380c41da4c145d6493ae510eb6017c5f3"
},
"transaction_identifier": {
"hash": "20247d9df50d830b8978a5c49313a6f8a118fd5bb9c2950e3c7f95f5ac6410f6"
}
}
Sample Response:
{
"transaction": {
"transaction_identifier": {
"hash": "20247d9df50d830b8978a5c49313a6f8a118fd5bb9c2950e3c7f95f5ac6410f6"
},
"operations": [
{
"operation_identifier": {
"index": 0
},
"type": "transfer",
"status": "SUCCESS",
"account": {
"address": "AJMFNZL5jGjZJEhBrJfVLHJeJ3KwiczJ6B"
},
"amount": {
"value": "-1000000000000000000",
"currency": {
"symbol": "ONT",
"decimals": 9,
"metadata": {
"ContractAddress": "0100000000000000000000000000000000000000",
"TokenType": "Governance Token"
}
}
}
},
{
"operation_identifier": {
"index": 1
},
"related_operations": [
{
"index": 0
}
],
"type": "transfer",
"status": "SUCCESS",
"account": {
"address": "AWyEMxiLUVr5MeVJe3Fw5Xsij7iZUmfYyk"
},
"amount": {
"value": "1000000000000000000",
"currency": {
"symbol": "ONT",
"decimals": 9,
"metadata": {
"ContractAddress": "0100000000000000000000000000000000000000",
"TokenType": "Governance Token"
}
}
}
}
]
}
}

Mempool

Fetch all mempool transactions

Method: POST
URL: /mempool
Sample Request:
{
"network_identifier": {
"blockchain": "ont",
"network": "mainnet"
}
}
Sample Response:
{
"transaction_identifiers": [
{
"hash": "<tx hash>"
}
]
}

Fetch details for a mempool transaction

Method: POST
URL: /mempool/transaction
Sample Request:
{
"network_identifier": {
"blockchain": "ont",
"network": "mainnet"
},
"transaction_identifier": {
"hash": "20247d9df50d830b8978a5c49313a6f8a118fd5bb9c2950e3c7f95f5ac6410f6"
}
}
Sample Response:
{
"transaction": {
"transaction_identifier": {
"hash": "20247d9df50d830b8978a5c49313a6f8a118fd5bb9c2950e3c7f95f5ac6410f6"
},
"operations": [
{
"operation_identifier": {
"index": 0
},
"type": "transfer",
"status": "SUCCESS",
"account": {
"address": "AJMFNZL5jGjZJEhBrJfVLHJeJ3KwiczJ6B"
},
"amount": {
"value": "-1000000000000000000",
"currency": {
"symbol": "ONT",
"decimals": 9,
"metadata": {
"ContractAddress": "0100000000000000000000000000000000000000",
"TokenType": "Governance Token"
}
}
}
},
{
"operation_identifier": {
"index": 1
},
"related_operations": [
{
"index": 0
}
],
"type": "transfer",
"status": "SUCCESS",
"account": {
"address": "AWyEMxiLUVr5MeVJe3Fw5Xsij7iZUmfYyk"
},
"amount": {
"value": "1000000000000000000",
"currency": {
"symbol": "ONT",
"decimals": 9,
"metadata": {
"ContractAddress": "0100000000000000000000000000000000000000",
"TokenType": "Governance Token"
}
}
}
}
]
}
}