Skip to content

RPC

You can interact with AOK node using remote procedure call (RPC). Node will reply with data in JSON format.

Making request

You can make request to your node via aokchain-cli or by sending POST request with payload to port 33440.

Example aokchain-cli request:

./aokchain-cli getblock 37eb3f4b73df32d22c4a1c58e91f6e7f0bf58e34e448a8e59d6b2576eeb9c238

Example POST request:

curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getblock","params":["37eb3f4b73df32d22c4a1c58e91f6e7f0bf58e34e448a8e59d6b2576eeb9c238"]}' -H 'content-type:text/plain;' http://nodeuser:supersecurepassword@127.0.0.1:33440

Hint

In order to make RPC request via POST request you must configure rpcuser and rpcpassword for your node.

Network

This methods can be used to get general information about the network.

getblockchaininfo - returns info about blockchain

{
    "chain": "main",
    "blocks": 271823,
    "headers": 271823,
    "bestblockhash": "e4bc6d4b818792a1fb2c57c08454099c4ebf1fcd2f23490573e0260918193b89",
    "difficulty": 0.002555948098984594,
    "mediantime": 1608143056,
    "verificationprogress": 1,
    "chainwork": "0000000000000000000000000000000000000000000001f22354cf302a1790ec",
    "size_on_disk": 417448998,
    "pruned": 0,
    "softforks": [
    ],
    "bip9_softforks": {
    },
    "warnings": ""
}

getblockhash <height> - returns block hash

0012eb05991b2ee8d074fde6c03089d2517937e28adc4219f0a4742b7805be96

getblock <hash> - returns block information

{
    "hash": "0012eb05991b2ee8d074fde6c03089d2517937e28adc4219f0a4742b7805be96",
    "confirmations": 271835,
    "strippedsize": 231,
    "size": 231,
    "weight": 924,
    "height": 1,
    "version": 536870912,
    "versionHex": "20000000",
    "merkleroot": "49f3bbf10c853367aa597d96a0307e8cb7e0e3ddc6e3e668c141143056a48133",
    "tx": [
        "49f3bbf10c853367aa597d96a0307e8cb7e0e3ddc6e3e668c141143056a48133"
    ],
    "time": 1589880735,
    "mediantime": 1589880735,
    "nonce": 284,
    "bits": "1f3fffff",
    "difficulty": 2.384149979653205e-07,
    "chainwork": "0000000000000000000000000000000000000000000000000000000000000800",
    "previousblockhash": "000c513d39b0e3657b7b0ca79b2d4b9b18c1f03dacb394acf0e71f49064b3306",
    "nextblockhash": "003c074613108695565ea4e76957a346038ff7aa12ab951af3508398bb9b23fd",
    "flags": "proof-of-work",
    "modifier": "d2ec909dc48208a3a4d92162c14d116b48e27c7cb579f1c3cb4573e1b5c2d4ac"
}

Transactions

This methods can be used to get information about transactions.

getrawtransaction <hash> <verbose> - returns information about transaction (set verbose to true for json output)

{
    "txid": "49f3bbf10c853367aa597d96a0307e8cb7e0e3ddc6e3e668c141143056a48133",
    "hash": "49f3bbf10c853367aa597d96a0307e8cb7e0e3ddc6e3e668c141143056a48133",
    "version": 1,
    "timestamp": 1589880735,
    "size": 149,
    "vsize": 149,
    "locktime": 0,
    "vin": [
        {
            "coinbase": "510101",
            "sequence": 4294967295
        }
    ],
    "vout": [
        {
            "value": 2100000000,
            "n": 0,
            "scriptPubKey": {
                "asm": "03131079e6248a288fcf9daf9828f09544e3f853e870afc651efdb0ca9298059ab OP_CHECKSIG",
                "hex": "2103131079e6248a288fcf9daf9828f09544e3f853e870afc651efdb0ca9298059abac",
                "reqSigs": 1,
                "type": "pubkey",
                "addresses": [
                    "KrbwDveomVrY4fNH5GrHU52A2HqpzgmCkG"
                ]
            },
            "spentTxId": "df766dc83db4a93857cb3076bd043ea06138526e282744ad63a478eaa6bb0662",
            "spentIndex": 0,
            "spentHeight": 12,
            "valueSat": 210000000000000000
        },
        {
            "value": 0,
            "n": 1,
            "scriptPubKey": {
                "asm": "OP_RETURN aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf9",
                "hex": "6a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf9",
                "type": "nulldata"
            },
            "valueSat": 0
        }
    ],
    "hex": "010000009fa7c35e010000000000000000000000000000000000000000000000000000000000000000ffffffff03510101ffffffff020000d52ae311ea02232103131079e6248a288fcf9daf9828f09544e3f853e870afc651efdb0ca9298059abac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf900000000",
    "blockhash": "0012eb05991b2ee8d074fde6c03089d2517937e28adc4219f0a4742b7805be96",
    "height": 1,
    "confirmations": 271841,
    "time": 1589880735,
    "blocktime": 1589880735
}

getchaintxstats - returns statistics about the total number and rate of transactions in the chain

{
    "time": 1608144544,
    "txcount": 1271608,
    "window_block_count": 40500,
    "window_tx_count": 246854,
    "window_interval": 2724352,
    "txrate": 0.09061017078556663
}

Wallet

This methods can be used to get information about wallet.

getbalance - returns entite AOK balance of your wallet

0.00000000

listmytokens - returns list of all tokens your wallet is holding

{
  "CCA": 984.00000000
}

getnewaddress <label> - returns new address and assign label if it was set

KpmtABZnYx2qxJwu4wSmRSsEuJ6NwJFd5S

listtransactions <label> <count> <skip> - returns list of last transactions for given label (use * to get list of all incoming transactions)

[
    {
        "account": "testlabel",
        "token_type": "transfer_token",
        "token_name": "CCA",
        "amount": 45.48900000,
        "address": "KqFZpfbZ6kFFWqg22jv3cBES8o4KwCERmW",
        "vout": 0,
        "category": "receive",
        "blockhash": "3b816b7cb73c98ad22e4673f900eb2f6a9a0a15692227769ab3dc95d301f8ec4",
        "blockindex": 2,
        "blocktime": 1607785696,
        "txid": "cacf4bf3dcc43fbe6a76ff7d9f6b4625cda409538928cc9c89881305db95e5d5",
        "confirmations": 5510,
        "walletconflicts": [
        ],
        "time": 1607785660,
        "timereceived": 1607785660
    },
    {
        "account": "testlabel",
        "token_type": "transfer_token",
        "token_name": "CCA",
        "amount": 45.51290000,
        "address": "KqFZpfbZ6kFFWqg22jv3cBES8o4KwCERmW",
        "vout": 0,
        "category": "receive",
        "blockhash": "22b5cebcae8a6c3fa3ccf4acd67293ae42b2273e606e97dd9d4be751afa9df9c",
        "blockindex": 2,
        "blocktime": 1607879552,
        "txid": "61f7fcea979aec1a9b8812f36e75589ea2b9d4f3ad168b4e1d2e9a00d6206796",
        "confirmations": 4115,
        "walletconflicts": [
        ],
        "time": 1607879552,
        "timereceived": 1607879552
    },
    {
        "account": "testlabel",
        "token_type": "transfer_token",
        "token_name": "CCA",
        "amount": 45.53510000,
        "address": "KqFZpfbZ6kFFWqg22jv3cBES8o4KwCERmW",
        "vout": 0,
        "category": "receive",
        "blockhash": "e9f844b193a3e75eb60c95b5ab2db7eb51368307c6fa55cf859bd9a860c0505a",
        "blockindex": 2,
        "blocktime": 1607964192,
        "txid": "d16972d5f1b578e143e9cc93f33cefec8eb52926b588d14e425ba9dceef434a4",
        "confirmations": 2854,
        "walletconflicts": [
        ],
        "time": 1607964141,
        "timereceived": 1607964141
    }
]

sendtoaddress <address> <amount> <locktime> - sends specified amount of AOK to address with locktime (if it was set)

d16972d5f1b578e143e9cc93f33cefec8eb52926b588d14e425ba9dceef434a4

sendmany "*" <recepients> - sends AOK to multiple recipients (second argument must be set to *). Recepients is regular JSON object with address as a key and amount as value: {"KWud4EpNGfSqecAdB3FH6x6wvNfVEL2iMn": 10}

[
    "cacf4bf3dcc43fbe6a76ff7d9f6b4625cda409538928cc9c89881305db95e5d5"
]

transfer <token> <amount> <address> <locktime> - sends specified amount of token to address with locktime (if it was set)

[
    "7c9f23b4e8c4df8fa044e19cdadfb1be8cf9a1e38687b4e877978a9747f13780"
]

transfermany <token> <recepients> - sends token to multiple recipients (second argument must be set to *). Recepients is regular JSON object with address as a key and amount as value: {"KWud4EpNGfSqecAdB3FH6x6wvNfVEL2iMn": 10}

[
    "61f7fcea979aec1a9b8812f36e75589ea2b9d4f3ad168b4e1d2e9a00d6206796"
]

Tokens

This methods can be used to create/update tokens and get related token information.

issue <name> <amount> <address> <change_address> <units> <reissuable> - issue token to address (if specified)

[
    "94cac36a44021ee3e8cdf7365b34212e588679b927858453a714d4fa97df033a"
]

reissue <name> <amount> <address> <change_address> <reissuable> <units> - reissue token and/or update infromation about it (for example change number of units or reissuability)

[
    "0bcd37b40b79608f582a0fb17666f5c639d79acf72e4d5ce25c3726b3f7fea33"
]

listtokens - returns list of all existing tokens

[
    "CCA"
]

gettokendata <token> - returns information about tocken

{
    "name": "CCA",
    "amount": 1000000000.00000000,
    "units": 8,
    "reissuable": 1
}

listtokenbalancesbyaddress <address> - return all token balances for specified address

{
    "CCA": 45731.24990000
}

listaddressesbytoken <token> - returns list of addresses/balances which hold specified token

{
    "KWbLnN9J9wuPVzkqeTjzq9efRBSxTHJGh2": 45731.24990000,
    "KWhEy59XfADWu5LspUvN9KYbaggTb3thmr": 5138.96400000,
    "KWmyLEGXAxzHLNEuj8wTiXbCzLR4Uaon79": 10277.92800000,
    "KWqDW4apwJi6QsHN3q3h5LMXWw1LgtaWgz": 3.01100000,
    "KWqS79DH5SGqrNGjKVDfHQLGCsBxYKMp4j": 25522.00000000,
    "KWr1m9cry8yhjUzBLhNxbvQsmqc1u7TaWD": 4079.46780000,
    "KWrqLZGi82SJdVukvvcTfRpsmkpCx4fX4K": 108874.53530000,
    "KWswvLxmJJJCBNoVW3U7YNqLDNS7i9d6bx": 3.00000000,
    "KWtUYjQP8BBQwTFgJZebnxoiAqsF11DmXE": 94700.49149998,
    "KWud4EpNGfSqecAdB3FH6x6wvNfVEL2iMn": 1.00000000,
    "KWvmj3GNV4DE8Ms8yuKMGLHZDc88pr8Gzv": 1000.00000000,
    "KWvwTDCqFshmF1Xnqo1yj29TG8GQwyUHg4": 27703.98720000,
    "KWwA5otMB4qCzvFiERcBFj6JdaZ2Vvykv7": 1000000.00000000,
    "KWwKUUoZUw2DbXu7NWfXKySkSUa9WnRqR6": 12801.75300000,
    "KWwufjbDrozt6n5up1vSchveokeoXV9L82": 221074.64239996,
    "KWxemToRTChASMY85KSS8rfHHn4YnuEpbJ": 8811.66599998,
    "KWxrS24CN53HUkGHzZUybHnqC8hzfBH562": 11.88460509,
    "KWzEAcXbh2nqBSjSrV3dYFWATrTxvAGcBh": 14.00000000,
    "KX6LWrCX28etVmwdTaWX6X7J8pxBqLgF3u": 38128.91369999,
    "KX6SfVXJMHSF6e3xrzcGkcpSdu9ETBZtzr": 127377.29239999,
    "KX7BYLcxQpt3CANC3KPL8FaLCRDFDQRdCD": 27979.77800000,
    ...
}