Anyone is free to read, propose changes, or improve the source code for this repository.
Please say something if you see an error! More sets of eyes is almost always a good thing!Launch blur-wallet-rpc
with the option --rpc-bind-port 52544
for the commands listed below to work, as written. Alternatively, you may set a different port, and modify where necessary.
This is a list of the blur-wallet-rpc calls, their inputs and outputs, and examples of each. The program blur-wallet-rpc replaced the rpc interface that was in simplewallet and then blur-wallet-cli.
All blur-wallet-rpc methods use the same JSON RPC interface. For example:
IP=127.0.0.1
PORT=52544
METHOD="make_integrated_address"
PARAMS="{\"payment_id\":\"1234567890123456789012345678900012345678901234567890123456789000\"}"
curl \
-X POST http://$IP:$PORT/json_rpc \
-d '{"method":"'$METHOD'","params":'"$PARAMS"'}'
If the blur-wallet-rpc was executed with the --rpc-login
argument as username:password
, then follow this example:
IP=127.0.0.1
PORT=52544
METHOD="make_integrated_address"
PARAMS="{\"payment_id\":\"1234567890123456789012345678900012345678901234567890123456789000\"}"
curl \
-u username:password --digest \
-X POST http://$IP:$PORT/json_rpc \
-d '{"method":"'$METHOD'","params":'"$PARAMS"'}'
Note: "atomic units" refer to the smallest fraction of 1 BLUR according to the blurd implementation. 1 BLUR = 1e12 atomic units.
Return the wallet's balance.
Alias: getbalance.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"get_balance","params":{"account_index":0,"address_indices":[0,1]}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"balance": 1054454247597,
"multisig_import_needed": false,
"per_subaddress": [
{
"address": "bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH",
"address_index": 0,
"balance": 1054454247597,
"label": "Primary account",
"num_unspent_outputs": 2,
"unlocked_balance": 1054454247597
}
],
"unlocked_balance": 1054454247597
}
}
Return the wallet's addresses for an account. Optionally filter for specific set of subaddresses.
Alias: getaddress.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"get_address","params":{"account_index":0,"address_index":[0,1,4]}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"address": "bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH",
"addresses": [
{
"address": "bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH",
"address_index": 0,
"label": "Primary account",
"used": true
},
{
"address": "Ry4gNmnSaBcVBKQfoagN7mH2PsEHjs7ToCP7uKFzhGpoZocrPvuZdbGbGbScQ5m95w4DTUfwT3u3TDXTHtN29mwV3AdFdN7qC",
"address_index": 1,
"label": "new-sub",
"used": false
},
{
"address": "Ry4JA2w6QE21oyUpshGqaG7VhHpcuUuTSbWYjmNDAxQgFBBstMKvMwtQjz8i7MZ9gKbAYmkMQhUS959t6WK8BrQq2EQVyL5ZY",
"address_index": 4,
"label": "",
"used": false
}
]
}
}
Create a new address for an account. Optionally, label the new address.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"create_address","params":{"account_index":0,"label":"new-sub"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"address": "Ry4gNmnSaBcVBKQfoagN7mH2PsEHjs7ToCP7uKFzhGpoZocrPvuZdbGbGbScQ5m95w4DTUfwT3u3TDXTHtN29mwV3AdFdN7qC",
"address_index": 1
}
}
Label an address.
Alias: None.
Inputs:
Outputs: None.
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"label_address","params":{"index":{"major":0,"minor":1},"label":"label"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
}
}
Get all accounts for a wallet. Optionally filter accounts by tag.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"get_accounts","params":{"tag":"myTag"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"subaddress_accounts": [
{
"account_index": 0,
"balance": 1054454247597,
"base_address": "bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH",
"label": "",
"tag": "",
"unlocked_balance": 1054454247597
}
],
"total_balance": 1054454247597,
"total_unlocked_balance": 1054454247597
}
}
Create a new account with an optional label.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"create_account","params":{"label":"Secondary account"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"account_index": 2,
"address": "Ry3iL1x7pm1GJBxVCmwkxFh2sJcMivtqKP2eSxsGwb7FDHuvRnKs4Vb756frdRCGDZ2RwXCXbbHLU7HxPnVGarPN2URMrhpKi"
}
}
Label an account.
Alias: None.
Inputs:
Outputs: None.
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"label_account","params":{"account_index":0,"label":"Primary account"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
}
}
Returns the wallet's current block height.
Alias: getheight.
Inputs: None.
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"get_height"}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"height": 431724
}
}
Send blur to a number of recipients.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"transfer","params":{"destinations":[{"amount":1000000,"address":"Ry42wbj88juDcrP4HxYRmPjCeoCdy4HyU8z39jmXL9LeUoRQoRGkSGcSqNkD5XZvMd1DSjppV75KxeDnBpZs3ZkW38uE23wqK"},{"amount":1000000,"address":"Ry4gNmnSaBcVBKQfoagN7mH2PsEHjs7ToCP7uKFzhGpoZocrPvuZdbGbGbScQ5m95w4DTUfwT3u3TDXTHtN29mwV3AdFdN7qC"}],"account_index":0,"subaddr_indices":[0],"priority":0,"ring_size":5,"get_tx_key": true}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"amount": 2000000,
"fee": 672000000,
"multisig_txset": "",
"tx_blob": "",
"tx_hash": "7f0d83d9599d059cdbc42114a3750a41eeb52651af432e58e37bac02b1356c6b",
"tx_key": "f6808f840d8777437e6af49a20bcdc041e43bb2dc2bbaab14dbb14dc4d42a20dfd6f50d19aff89933d0b14fd90fe1b4aff4fa440ded424f878193449806dd70222c52887d218244cac179d1be8639a535a386ddf3e982d0e933784a0adf93c0dd36dbd4ed53cf3b8c9805a6ae15667a9c5044a8316c02b8c61be2e6116d36901",
"tx_metadata": ""
}
}
Same as transfer, but can split into more than one tx if necessary.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"transfer_split","params":{"destinations":[{"amount":100000,"address":"Ry42wbj88juDcrP4HxYRmPjCeoCdy4HyU8z39jmXL9LeUoRQoRGkSGcSqNkD5XZvMd1DSjppV75KxeDnBpZs3ZkW38uE23wqK"},{"amount":100000,"address":"Ry4gNmnSaBcVBKQfoagN7mH2PsEHjs7ToCP7uKFzhGpoZocrPvuZdbGbGbScQ5m95w4DTUfwT3u3TDXTHtN29mwV3AdFdN7qC"}],"account_index":0,"subaddr_indices":[0],"priority":0,"ring_size":5,"get_tx_keys": true}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"amount_list": [
200000
],
"fee_list": [
672000000
],
"multisig_txset": "",
"tx_hash_list": [
"9b03afab73fec3381bebcf7b505b3315089eddb16011dc5b40c57f7434e322d6"
],
"tx_key_list": [
"84139a191e7e43f87505732a7904fd5293c1fab75a560f86ca65b9bd5590260433b3cd7ce9cb011ad4f4afb5391dd879615be82beefc0124b9a4f3d947b3b807b11b910325b0ba5bbdd44a05a0f9c65804165122eeef109244ab5e9ae8cb6e02006033f872d2b25787dcda9283b4e138f0a1c462787cd9921e949d05022e1500"
]
}
}
Sign a transaction created on a read-only wallet (in cold-signing process)
Alias: None.
Inputs:
Outputs:
In the example below, we first generate an unsigned_txset on a read only wallet before signing it:
Generate unsigned_txset using the above "transfer" method on read-only wallet:
curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"transfer","params":{"destinations":[{"amount":1000000,"address":"Ry4gNmnSaBcVBKQfoagN7mH2PsEHjs7ToCP7uKFzhGpoZocrPvuZdbGbGbScQ5m95w4DTUfwT3u3TDXTHtN29mwV3AdFdN7qC"}],"account_index":0,"subaddr_indices":[0],"priority":0,"ring_size":5,"do_not_relay":true,"get_tx_hex":true}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"amount": 1000000,
"fee": 671970000,
"multisig_txset": "",
"tx_blob": "...long hex...",
"tx_hash": "...transaction hash...",
"tx_key": "",
"tx_metadata": ""
}
}
Sign tx using the previously generated unsigned_txset
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"sign_transfer","params":{"unsigned_txset":...long_hex..."}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"signed_txset": "...long_hex...",
"tx_hash_list": ["...transaction hash..."]
}
}
Submit a previously signed transaction on a read-only wallet (in cold-signing process).
Alias: None.
Inputs:
Outputs:
In the example below, we submit the transfer using the signed_txset generated above:
curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"submit_transfer","params":{"tx_data_hex":...long_hex..."}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"tx_hash_list": ["...tx hash...."]
}
}
Send all dust outputs back to the wallet's, to make them easier to spend (and mix).
Alias: sweep_unmixable.
Inputs:
Outputs:
Example (In this example, sweep_dust
returns nothing because there are no funds to sweep):
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"sweep_dust","params":{"get_tx_keys":true}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"multisig_txset": "",
"unsigned_txset": ""
}
}
Send all unlocked balance to an address.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"sweep_all","params":{"address":"bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH","ring_size":7,"unlock_time":0,"get_tx_keys":true}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"amount_list": [9985885770000],
"fee_list": [14114230000],
"multisig_txset": "",
"tx_hash_list": ["ab4b6b65cc8cd8c9dd317d0b90d97582d68d0aa1637b0065b05b61f9a66ea5c5"],
"tx_key_list": ["b9b4b39d3bb3062ddb85ec0266d4df39058f4c86077d99309f218ce4d76af607"],
"unsigned_txset": ""
}
}{
"id": "0",
"jsonrpc": "2.0",
"result": {
"amount_list": [
1050866087597
],
"fee_list": [
895960000
],
"multisig_txset": "",
"tx_hash_list": [
"f8ae67010c7bd6f2a900aa83bb17a388f2a3a5b450d7e1e8df35c62cac503753"
],
"tx_key_list": [
"6183eff82d5f43fe50de8fdb535a5e2472e89ddf3017c452a0f0d956d3336f0f"
]
}
}
Save the wallet file.
Alias: None.
Inputs: None.
Outputs: None.
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"store"}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
}
}
Get a list of incoming payments using a given payment id.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"get_payments","params":{"payment_id":"60900e5603bf96e3"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"payments": [{
"address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt",
"amount": 1000000000000,
"block_height": 127606,
"payment_id": "60900e5603bf96e3",
"subaddr_index": {
"major": 0,
"minor": 0
},
"tx_hash": "3292e83ad28fc1cc7bc26dbd38862308f4588680fbf93eae3e803cddd1bd614f",
"unlock_time": 0
}]
}
}
Get a list of incoming payments using a given payment id, or a list of payments ids, from a given height. This method is the preferred method over get_payments
because it has the same functionality but is more extendable. Either is fine for looking up transactions by a single payment ID.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"get_bulk_payments","params":{"payment_ids":["0000000000000000"],"min_block_height":"120000"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"payments": [
{
"address": "bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH",
"amount": 995302160000,
"block_height": 430550,
"payment_id": "0000000000000000",
"subaddr_index": {
"major": 0,
"minor": 0
},
"tx_hash": "419a10ff7608e97e28cc57e0d40b264100baaa787800715260648886926f9c87",
"unlock_time": 0
}
]
}
}
Return a list of incoming transfers to the wallet.
Inputs:
Outputs:
Example, get all transfers:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"incoming_transfers","params":{"transfer_type":"all","account_index":0,"subaddr_indices":[0],"verbose":true}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"transfers": [
{
"amount": 995302160000,
"global_index": 434997,
"key_image": "ef9e6ccf63881045a66be1572845aacba60a3a2a798dcef10904a8eb6b30abb4",
"spent": true,
"subaddr_index": 0,
"tx_hash": "419a10ff7608e97e28cc57e0d40b264100baaa787800715260648886926f9c87",
"tx_size": 154
},
{
"amount": 59152087597,
"global_index": 435008,
"key_image": "38b6f5d3e5d52cb8231c0c0b287bb42e894cbdf3156cdf9801dac22ebf2e498e",
"spent": true,
"subaddr_index": 0,
"tx_hash": "9f1da098ec48193df4d859b7ae4c359b3d39cc25a7327266ccf3a19fd7e717f9",
"tx_size": 154
}
]
}
}
Example, get available transfers:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"incoming_transfers","params":{"transfer_type":"available","account_index":0,"subaddr_indices":[3],"verbose":true}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"transfers": [{
"amount": 27126892247503,
"global_index": 594994,
"key_image": "7e561394806afd1be61980cc3431f6ef3569fa9151cd8d234f8ec13aa145695e",
"spent": false,
"subaddr_index": 3,
"tx_hash": "106d4391a031e5b735ded555862fec63233e34e5fa4fc7edcfdbe461c275ae5b",
"tx_size": 157
},{
"amount": 27169374733655,
"global_index": 594997,
"key_image": "e76c0a3bfeaae35e4173712f782eb34011198e26b990225b71aa787c8ba8a157",
"spent": false,
"subaddr_index": 3,
"tx_hash": "0bd959b59117ee1254bd8e5aa8e77ec04ef744144a1ffb2d5c1eb9380a719621",
"tx_size": 158
}]
}
}
Return the spend or view private key.
Alias: None.
Inputs:
Outputs:
Example (Query view key):
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"query_key","params":{"key_type":"view_key"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"key": "... key ..."
}
}
Example (Query mnemonic key):
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"query_key","params":{"key_type":"mnemonic"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"key": "... mnemonic ..."
}
}
Make an integrated address from the wallet address and a payment id.
Alias: None.
Inputs:
Outputs:
Example (Payment ID is empty, use a random ID):
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"make_integrated_address","params":{"standard_address":"bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"integrated_address": "Ur2r4WPbX9iWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k6qiBybEZWmB22HYyuoxF",
"payment_id": "001ee3aa9926770d"
}
}
Retrieve the standard address and payment id corresponding to an integrated address.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"split_integrated_address","params":{"integrated_address": "Ur2r4WPbX9iWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k6qiBybEZWmB22HYyuoxF"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"is_subaddress": false,
"payment_id": "001ee3aa9926770d",
"standard_address": "bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH"
}
}
Stops the wallet, storing the current state.
Alias: None.
Inputs: None.
Outputs: None.
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"stop_wallet"}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
}
}
Rescan the blockchain from scratch, losing any information which can not be recovered from the blockchain itself.
This includes destination addresses, tx secret keys, tx notes, etc.
Alias: None.
Inputs: None.
Outputs: None.
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"rescan_blockchain"}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
}
}
Set arbitrary string notes for transactions.
Alias: None.
Inputs:
Outputs: None.
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"set_tx_notes","params":{"txids":["3292e83ad28fc1cc7bc26dbd38862308f4588680fbf93eae3e803cddd1bd614f"],"notes":["This is an example"]}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
}
}
Get string notes for transactions.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"get_tx_notes","params":{"txids":["3292e83ad28fc1cc7bc26dbd38862308f4588680fbf93eae3e803cddd1bd614f"]}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"notes": ["This is an example"]
}
}
Set arbitrary attribute.
Alias: None.
Inputs:
Outputs: None.
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"set_attribute","params":{"key":"my_attribute","value":"my_value"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
}
}
Get attribute value by name.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"get_attribute","params":{"key":"my_attribute"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"value": "my_value"
}
}
Get transaction secret key from transaction id.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"get_tx_key","params":{"txid":"... tx hash ..."}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"tx_key": "... key ..."
}
}
Check a transaction in the blockchain with its secret key.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"check_tx_key","params":{"txid":"19d5089f9469db3d90aca9024dfcb17ce94b948300101c8345a5e9f7257353be","tx_key":"feba662cf8fb6d0d0da18fc9b70ab28e01cc76311278fdd7fe7ab16360762b06","address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"confirmations": 0,
"in_pool": false,
"received": 1000000000000
}
}
Returns a list of transfers.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"get_transfers","params":{"in":true,"account_index":0}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"in": [
{
"address": "bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH",
"amount": 59152087597,
"double_spend_seen": false,
"fee": 672750000,
"height": 430559,
"note": "",
"payment_id": "0000000000000000",
"subaddr_index": {
"major": 0,
"minor": 0
},
"timestamp": 1556710384,
"txid": "9f1da098ec48193df4d859b7ae4c359b3d39cc25a7327266ccf3a19fd7e717f9",
"type": "in",
"unlock_time": 0
},
{
"address": "bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH",
"amount": 995302160000,
"double_spend_seen": false,
"fee": 672780000,
"height": 430550,
"note": "",
"payment_id": "0000000000000000",
"subaddr_index": {
"major": 0,
"minor": 0
},
"timestamp": 1556709916,
"txid": "419a10ff7608e97e28cc57e0d40b264100baaa787800715260648886926f9c87",
"type": "in",
"unlock_time": 0
}
]
}
}
Show information about a transfer to/from this address.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"get_transfer_by_txid","params":{"txid":"c36258a276018c3a4bc1f195a7fb530f50cd63a4fa765fb7c6f7f49fc051762a"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"transfer": {
"address": "bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH",
"amount": 59152087597,
"double_spend_seen": false,
"fee": 672750000,
"height": 430559,
"note": "",
"payment_id": "0000000000000000",
"subaddr_index": {
"major": 0,
"minor": 0
},
"timestamp": 1556710384,
"txid": "9f1da098ec48193df4d859b7ae4c359b3d39cc25a7327266ccf3a19fd7e717f9",
"type": "in",
"unlock_time": 0
}
}
}
Sign a string.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"sign","params":{"data":"This is sample data to be signed"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"signature": "SigV1Dp8Saxwuamk6A5UxniooX2ViAJSSA4EzBL7qvPvC4vQHAzThEhVUXcFY3SjwgJkBWuC8ZkrzXy6Aq7v6gzwdFYfS"
}
}
Verify a signature on a string.
Alias: None.
Inputs:
sign
the data.sign
method.Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"verify","params":{"data":"This is sample data to be signed","address":"bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH","signature":"SigV1Dp8Saxwuamk6A5UxniooX2ViAJSSA4EzBL7qvPvC4vQHAzThEhVUXcFY3SjwgJkBWuC8ZkrzXy6Aq7v6gzwdFYfS"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"good": true
}
}
Export a signed set of key images.
Alias: None.
Inputs: None.
Outputs:
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"export_key_images"}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"signed_key_images": [
{
"key_image": "ef9e6ccf63881045a66be1572845aacba60a3a2a798dcef10904a8eb6b30abb4",
"signature": "30f525c6bbbb24ee9dc410c4c37e3ba3a77621ac10a8e479a71990fe1c4ecc0b32b11a8a271d40888bd0073cfc3cb407b922d7cf039d52cdeafca758a368ce0f"
},
{
"key_image": "38b6f5d3e5d52cb8231c0c0b287bb42e894cbdf3156cdf9801dac22ebf2e498e",
"signature": "430bfc3418aedb902336700e0a68a9505f997c2411af39c19b93453674202806ea9cc28e40b6f4f844f91b1e724a09044de22c0894020d7a7c43ca86a564e80b"
},
{
"key_image": "525d6de987e41af3dcc060b717df73c48b0fa4d2a172bdde5d776294da161b30",
"signature": "48d3cd5a9bdcfa5306421a607f9d628fae1ea36949a94665ef170a9f174ec4087bbd5fdf123a90d38b90f19fb99df9c93d51866bed01b16cd999839c1a9ebb00"
},
{...}
]
}
}
Import signed key images list and verify their spent status.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"import_key_images", "params":{"signed_key_images":[{"key_image": "ef9e6ccf63881045a66be1572845aacba60a3a2a798dcef10904a8eb6b30abb4","signature": "30f525c6bbbb24ee9dc410c4c37e3ba3a77621ac10a8e479a71990fe1c4ecc0b32b11a8a271d40888bd0073cfc3cb407b922d7cf039d52cdeafca758a368ce0f"},{"key_image": "38b6f5d3e5d52cb8231c0c0b287bb42e894cbdf3156cdf9801dac22ebf2e498e","signature": "430bfc3418aedb902336700e0a68a9505f997c2411af39c19b93453674202806ea9cc28e40b6f4f844f91b1e724a09044de22c0894020d7a7c43ca86a564e80b"}]}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"height": 430559,
"spent": 4210190430388,
"unspent": 1050194147597
}
}
Create a payment URI using the official URI spec.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"make_uri","params":{"address":"bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH","amount":10,"payment_id":"420fa29b2d9a49f5","tx_description":"Testing out the make_uri method function.","recipient_name":"el00ruobuob mainnet wallet"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"uri": "blur:bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH?tx_payment_id=420fa29b2d9a49f5&tx_amount=0.000000000010&recipient_name=el00ruobuob%20mainnet%20wallet&tx_description=Testing%20out%20the%20make_uri%20method%20function."
}
}
Parse a payment URI to get payment information.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://127.0.0.1:52544/json_rpc -d '{"method":"parse_uri","params":{"uri":"blur:bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH?tx_payment_id=420fa29b2d9a49f5&tx_amount=0.000000000010&recipient_name=el00ruobuob%20mainnet%20wallet&tx_description=Testing%20out%20the%20make_uri%20method%20function."}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"uri": {
"address": "bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH",
"amount": 10,
"payment_id": "420fa29b2d9a49f5",
"recipient_name": "el00ruobuob mainnet wallet",
"tx_description": "Testing out the make_uri method function."
}
}
}
Retrieves entries from the address book.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"get_address_book","params":{"entries":[0,0]}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"entries": [
{
"address": "bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH",
"description": "Primary account",
"index": 0,
"payment_id": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"address": "bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH",
"description": "Primary account",
"index": 0,
"payment_id": "0000000000000000000000000000000000000000000000000000000000000000"
}
]
}
}
Add an entry to the address book.
Alias: None.
Inputs:
Outputs:
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{{"method":"add_address_book","params":{"address":"bL2op2acR5JWLGsoCy4s3u8aH4EsWGLTfPW9DD1sKkP5hsqJS3CMq7W3CehMA44gkr5PrkkEt5uNwU8QxxXbSh7k1JPQALpfH","description":"Primary account"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"index": 0
}
}
Delete an entry from the address book.
Alias: None.
Inputs:
Outputs: None.
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"delete_address_book","params":{"index":0}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
}
}
Rescan the blockchain for spent outputs.
Alias: None.
Inputs: None.
Outputs: None.
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"rescan_spent"}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
}
}
Start mining in the Blur Network daemon.
Alias: None.
Inputs:
Outputs: None.
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"start_mining","params":{"threads_count":4}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
}
}
Stop mining in the Blur Network daemon.
Alias: None.
Inputs: None.
Outputs: None.
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"stop_mining"}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
}
}
Get a list of available languages for your wallet's seed.
Alias: None.
Inputs: None.
Outputs:
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"get_languages"}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
"languages": [
"Deutsch",
"English",
"Español",
"Français",
"Italiano",
"Nederlands",
"Português",
"русский язык",
"日本語",
"简体中文 (中国)",
"Esperanto",
"Lojban"
]
}
}
Create a new wallet. You need to have set the argument "–wallet-dir" when launching blur-wallet-rpc to make this work.
Alias: None.
Inputs:
Outputs: None.
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"create_wallet","params":{"filename":"mytestwallet","password":"mytestpassword","language":"English"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
}
}
Open a wallet. You need to have set the argument "–wallet-dir" when launching blur-wallet-rpc to make this work.
Alias: None.
Inputs:
Outputs: None.
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"open_wallet","params":{"filename":"mytestwallet","password":"mytestpassword"}}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
}
}
Close the currently opened wallet, after trying to save it.
Alias: None.
Inputs: None.
Outputs: None.
Example:
$ curl -X POST http://localhost:52544/json_rpc -d '{"method":"close_wallet"}'
{
"id": "0",
"jsonrpc": "2.0",
"result": {
}
}