Comment on page
Construction API
Write to the chain
The construction API facilitates actions such as generating and sending transactions to the chain. The available methods have been listed below.
Method: POST
URL:
/construction/derive
Sample Request:
{
"network_identifier" : {
"blockchain" : "ont",
"network" : "mainnet"
},
"public_key" : {
"hex_bytes" : "<pubkey hex string>",
"curve_type" : "secp256k1",
"metadata" : {
"type" : "hex"
}
}
}
In the type
field
, the two address formats supported are hex and base58. The two supported curve types are secp256k1
and edwards25519
.Sample Response:
{
"address" : "<address>",
"metadata" : {
"type" : "hex"
}
}
Method: POST
URL:
/construction/preprocess
Sample Request:
{
"network_identifier": {
"blockchain": "ont",
"network": "privatenet"
},
"operations": [
{
"operation_identifier": {
"index": 0
},
"type": "transfer",
"status": "",
"account": {
"address": "AGc9NrdF5MuMJpkFfZ3MWKa67ds6H2fzud"
},
"amount": {
"value": "-1000000000",
"currency": {
"symbol": "ONT",
"decimals": 9,
"metadata": {
"ContractAddress": "0100000000000000000000000000000000000000",
"TokenType": "Governance Token"
}
}
}
},
{
"operation_identifier": {
"index": 1
},
"related_operations": [
{
"index": 0
}
],
"type": "transfer",
"status": "",
"account": {
"address": "Af6xrG7WB9wUKQ3aRDXnfba2G5DXjqejMS"
},
"amount": {
"value": "1000000000",
"currency": {
"symbol": "ONT",
"decimals": 9,
"metadata": {
"ContractAddress": "0100000000000000000000000000000000000000",
"TokenType": "Governance Token"
}
}
},
"metadata": {
"gasLimit": 20000,
"gasPrice": 2500
}
}
],
"metadata": {
"payer": "Af6xrG7WB9wUKQ3aRDXnfba2G5DXjqejMS"
}
}
Sample Response:
{
"options": {
"amount": "1000000000",
"decimals": 9,
"fromAddr": "AGc9NrdF5MuMJpkFfZ3MWKa67ds6H2fzud",
"gasLimit": 20000,
"gasPrice": 2500,
"payer": "Af6xrG7WB9wUKQ3aRDXnfba2G5DXjqejMS",
"symbol": "ONT",
"toAddr": "Af6xrG7WB9wUKQ3aRDXnfba2G5DXjqejMS"
}
}
Method: POST
URL:
/construction/metadata
Sample Request:
{
"network_identifier": {
"blockchain": "ont",
"network": "mainnet"
},
"options": {
"method": "transfer"
}
}
Sample Response:
{
"metadata": {
"amount": "",
"asset": "",
"fromAddr": "",
"gasLimit": "",
"gasPrice": "",
"payer": "",
"toAddr": ""
}
}
Field | Type | Description |
amount | String | Transaction amount |
asset | String | Asset type |
fromAddr | String | from address |
gasLimit | String | Gas limit, default value: 2000 |
gasPrice | String | Gas price, default value: 2500 |
payer | String | Default from address |
toAddr | String | to address |
Method: POST
URL:
/construction/payloads
Sample Request:
{
"network_identifier": {
"blockchain": "ont",
"network": "privatenet"
},
"operations": [
{
"operation_identifier": {
"index": 0
},
"type": "transfer",
"status": "",
"account": {
"address": "AGc9NrdF5MuMJpkFfZ3MWKa67ds6H2fzud"
},
"amount": {
"value": "-1000000000",
"currency": {
"symbol": "ONT",
"decimals": 9,
"metadata": {
"ContractAddress": "0100000000000000000000000000000000000000",
"TokenType": "Governance Token"
}
}
}
},
{
"operation_identifier": {
"index": 1
},
"related_operations": [
{
"index": 0
}
],
"type": "transfer",
"status": "",
"account": {
"address": "Af6xrG7WB9wUKQ3aRDXnfba2G5DXjqejMS"
},
"amount": {
"value": "1000000000",
"currency": {
"symbol": "ONT",
"decimals": 9,
"metadata": {
"ContractAddress": "0100000000000000000000000000000000000000",
"TokenType": "Governance Token"
}
}
},
"metadata": {
"gasLimit": 20000,
"gasPrice": 2500
}
}
],
"metadata": {
"payer": "Af6xrG7WB9wUKQ3aRDXnfba2G5DXjqejMS"
}
}
Sample Response:
{
"unsigned_transaction": "00d1b8c16889204e000000000000c409000000000000ffe723aefd01bac311d8b16ff8bfd594d77f31ee7100c66b14092118e0112274581b60dfb6fedcbfdcfc044be76a7cc814ffe723aefd01bac311d8b16ff8bfd594d77f31ee6a7cc8516a7cc86c51c1087472616e736665721400000000000000000000000000000000000000010068164f6e746f6c6f67792e4e61746976652e496e766f6b650000",
"payloads": [
{
"hex_bytes": "a4a88f45b51e7aa01eedd0db3a7d7aff0a6e641256f3e073e8dbabb19358513f",
"address": "AGc9NrdF5MuMJpkFfZ3MWKa67ds6H2fzud",
"signature_type": "ecdsa"
}
]
}
Method: POST
URL:
/construction/parse
Sample Request:
{
"network_identifier": {
"blockchain": "ont",
"network": "privatenet"
},
"signed" : false,
"transaction":"00d10534aa05c409000000000000204e000000000000ffe723aefd01bac311d8b16ff8bfd594d77f31ee7100c66b14092118e0112274581b60dfb6fedcbfdcfc044be76a7cc814ffe723aefd01bac311d8b16ff8bfd594d77f31ee6a7cc8516a7cc86c51c1087472616e736665721400000000000000000000000000000000000000010068164f6e746f6c6f67792e4e61746976652e496e766f6b650000"
}
Sample Response:
{
"operations": [
{
"operation_identifier": {
"index": 0
},
"type": "transfer",
"status": "SUCCESS",
"account": {
"address": "AGc9NrdF5MuMJpkFfZ3MWKa67ds6H2fzud"
},
"amount": {
"value": "-1000000000",
"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": "Af6xrG7WB9wUKQ3aRDXnfba2G5DXjqejMS"
},
"amount": {
"value": "1000000000",
"currency": {
"symbol": "ONT",
"decimals": 9,
"metadata": {
"ContractAddress": "0100000000000000000000000000000000000000",
"TokenType": "Governance Token"
}
}
},
"metadata": {
"gasLimit": 20000,
"gasPrice": 2500
}
}
],
"signers": [],
"metadata": {
"payer": "Af6xrG7WB9wUKQ3aRDXnfba2G5DXjqejMS"
}
}
Method: POST
URL:
/construction/combine
Sample Request:
In this sample request, the account
AGc9NrdF5MuMJpkFfZ3MWKa67ds6H2fzud
transfers 1 ONT to the account Af6xrG7WB9wUKQ3aRDXnfba2G5DXjqejMS
, and the account Af6xrG7WB9wUKQ3aRDXnfba2G5DXjqejMS
pays the transaction fee as the payer.{
"network_identifier": {
"blockchain": "ont",
"network": "testnet"
},
"unsigned_transaction":"00d1594606d2c409000000000000204e000000000000ffe723aefd01bac311d8b16ff8bfd594d77f31ee7100c66b14092118e0112274581b60dfb6fedcbfdcfc044be76a7cc814ffe723aefd01bac311d8b16ff8bfd594d77f31ee6a7cc8516a7cc86c51c1087472616e736665721400000000000000000000000000000000000000010068164f6e746f6c6f67792e4e61746976652e496e766f6b650000",
"signatures":[
{
"signing_payload":{
"address":"Af6xrG7WB9wUKQ3aRDXnfba2G5DXjqejMS",
"hex_bytes":"2b371f76afde8a543fd0a6a58f2578281b3517e96c2a811114ea4c78e362b221",
"signature_type":"ecdsa"
},
"public_key":{
"hex_bytes":"02263e2e1eecf7a45f21e9e0f865510966d4e93551d95876ecb3c42acf2b68aaae",
"curve_type":"secp256k1"
},
"signature_type":"ecdsa",
"hex_bytes":"3b52bc592bbba306ca9368e2808d6eb1d14fe0c3e2c801294bf8ebe3a994b464e6888038b6411a78428f9020b9f43c9dbcada7f77c0307b3ce9a410d8d2b6fa6"
},
{
"signing_payload":{
"address":"AGc9NrdF5MuMJpkFfZ3MWKa67ds6H2fzud",
"hex_bytes":"2b371f76afde8a543fd0a6a58f2578281b3517e96c2a811114ea4c78e362b221",
"signature_type":"ecdsa"
},
"public_key":{
"hex_bytes":"03944e3ff777b14add03a76fd6767aaf4a65c227ec201375d9118d4e6b272494c7",
"curve_type":"secp256k1"
},
"signature_type":"ecdsa",
"hex_bytes":"a6f29359a94db9725ceafa37012abd3a02cff41fe1b3ca6fb0f4c58e86cd2e214567a5f29682cd4432404ecb8ded644bfb9324fe0eb746fe53097ffed13d11b1"
}
]
}
Sample Response:
{
"signed_transaction": "00d1594606d2c409000000000000204e000000000000ffe723aefd01bac311d8b16ff8bfd594d77f31ee7100c66b14092118e0112274581b60dfb6fedcbfdcfc044be76a7cc814ffe723aefd01bac311d8b16ff8bfd594d77f31ee6a7cc8516a7cc86c51c1087472616e736665721400000000000000000000000000000000000000010068164f6e746f6c6f67792e4e61746976652e496e766f6b65000241403b52bc592bbba306ca9368e2808d6eb1d14fe0c3e2c801294bf8ebe3a994b464e6888038b6411a78428f9020b9f43c9dbcada7f77c0307b3ce9a410d8d2b6fa6232102263e2e1eecf7a45f21e9e0f865510966d4e93551d95876ecb3c42acf2b68aaaeac4140a6f29359a94db9725ceafa37012abd3a02cff41fe1b3ca6fb0f4c58e86cd2e214567a5f29682cd4432404ecb8ded644bfb9324fe0eb746fe53097ffed13d11b1232103944e3ff777b14add03a76fd6767aaf4a65c227ec201375d9118d4e6b272494c7ac"
}
Method: POST
URL:
/construction/hash
Sample Request:
{
"network_identifier": {
"blockchain": "ont",
"network": "privatenet"
},
"signed_transaction":"00d1458813d9c409000000000000204e000000000000ffe723aefd01bac311d8b16ff8bfd594d77f31ee7100c66b14092118e0112274581b60dfb6fedcbfdcfc044be76a7cc814ffe723aefd01bac311d8b16ff8bfd594d77f31ee6a7cc8516a7cc86c51c1087472616e736665721400000000000000000000000000000000000000010068164f6e746f6c6f67792e4e61746976652e496e766f6b6500024140cb1e23e46a7e8e01563c64d7b5d9bf8022f549d411487156d55403ec7213f6cec49d413631d841852e493dca27e746977ea2ddd9e69906b8db7e71c3e15f7407232102263e2e1eecf7a45f21e9e0f865510966d4e93551d95876ecb3c42acf2b68aaaeac41409d15ed0d27224caecb55207b002f4a57846423bbe26764307e29704abfe4b327710c449531ac0f9ef621d864eab93a2ef373d2bc33027873c9466a30e748145f232103944e3ff777b14add03a76fd6767aaf4a65c227ec201375d9118d4e6b272494c7ac"
}
Sample Response:
{
"transaction_hash": "cc45747a18862709f4ce50290ac331c94fb5ef6b608c36c90b00314884312b03"
}
Method: POST
URL:
/construction/submit
Sample Request:
{
"network_identifier": {
"blockchain": "ont",
"network": "mainnet"
},
"signed_transaction": "<signed tx hex>"
}
Sample Response:
{
"transaction_identifier": {
"hash": "<tx hash>"
},
"metadata": {}
}
Last modified 2yr ago