mirror of
https://github.com/monero-project/monero-site.git
synced 2024-12-23 20:19:29 +00:00
Re-style wallet-rpc dev guide; prep for examples
This commit is contained in:
parent
520963feaa
commit
dd5897bba1
1 changed files with 240 additions and 134 deletions
|
@ -9,156 +9,262 @@ icon: "icon_client"
|
|||
attribution: "<!-- Icon is based on work by Freepik (http://www.freepik.com) and is licensed under Creative Commons BY 3.0 -->"
|
||||
---
|
||||
|
||||
### This is a list of the daemon and wallet RPC calls, along with their inputs and outputs.
|
||||
## Introduction
|
||||
|
||||
bitmonerod
|
||||
This is a list of the simplewallet RPC calls, their inputs and outputs, and examples of each.
|
||||
|
||||
TODO
|
||||
All simplewallet methods use the same JSON RPC interface. For example:
|
||||
|
||||
simplewallet
|
||||
IP=127.0.0.1
|
||||
PORT=18082
|
||||
METHOD="make_integrated_address"
|
||||
PARAMS="{\"payment_id\":\"1234567890123456789012345678900012345678901234567890123456789000\"}"
|
||||
curl \
|
||||
-X POST http://$IP:$PORT/json_rpc \
|
||||
-d '{"jsonrpc":"2.0","id":"0","method":"'$METHOD'","params":'"$PARAMS"'}' \
|
||||
-H 'Content-Type: application/json'
|
||||
|
||||
Wallet RPC commands are in JSON format, and can be accessed like this:
|
||||
### JSON RPC Methods:
|
||||
|
||||
METHOD="make_integrated_address"
|
||||
PARAMS="{\"payment_id\":\"1234567890123456789012345678900012345678901234567890123456789000\"}"
|
||||
curl \
|
||||
-X POST http://$IP:$PORT/json_rpc \
|
||||
-d '{"jsonrpc":"2.0","id":"0","method":"'$METHOD'","params":'"$PARAMS"'}' \
|
||||
-H 'Content-Type: application/json'
|
||||
* [getbalance](#getbalance)
|
||||
* [getaddress](#getaddress)
|
||||
* [getheight](#getheight)
|
||||
* [transfer](#transfer)
|
||||
* [transfer_split](#transfer_split)
|
||||
* [sweep_dust](#sweep_dust)
|
||||
* [store](#store)
|
||||
* [get_payments](#get_payments)
|
||||
* [get_bulk_payments](#get_bulk_payments)
|
||||
* [incoming_transfers](#incoming_transfers)
|
||||
* [query_key](#query_key)
|
||||
* [make_integrated_address](#make_integrated_address)
|
||||
* [split_integrated_address](#split_integrated_address)
|
||||
* [stop_wallet](#stop_wallet)
|
||||
|
||||
getbalance
|
||||
return the wallet's balance
|
||||
outputs:
|
||||
balance: unsigned int
|
||||
unlocked_balance: unsigned int
|
||||
---
|
||||
|
||||
getaddress
|
||||
return the wallet's address
|
||||
outputs:
|
||||
address: string
|
||||
|
||||
getheight
|
||||
returns the current block height
|
||||
outputs:
|
||||
height: string
|
||||
### getbalance
|
||||
|
||||
transfer
|
||||
send monero to a number of recipients
|
||||
inputs:
|
||||
destinations: array of:
|
||||
amount: unsigned int
|
||||
address: string
|
||||
fee: unsigned int
|
||||
ignored, will be automatically calculated
|
||||
mixin: unsigned int
|
||||
number of outpouts from the blockchain to mix with (0 means no mixing)
|
||||
unlock_time: unsigned int
|
||||
number of blocks before the monero can be spent (0 to not add a lock)
|
||||
payment_id: string
|
||||
outputs:
|
||||
tx_hash: array of:
|
||||
string
|
||||
Return the wallet's balance.
|
||||
|
||||
transfer_split
|
||||
same as transfer, but can split into more than one tx if necessary
|
||||
inputs:
|
||||
destinations: array of:
|
||||
amount: unsigned int
|
||||
address: string
|
||||
fee: unsigned int
|
||||
ignored, will be automatically calculated
|
||||
mixin: unsigned int
|
||||
number of outpouts from the blockchain to mix with (0 means no mixing)
|
||||
unlock_time: unsigned int
|
||||
number of blocks before the monero can be spent (0 to not add a lock)
|
||||
payment_id: string
|
||||
new_algorithm: boolean
|
||||
true to use the new transaction construction algorithm, defaults to false
|
||||
outputs:
|
||||
tx_hash: array of:
|
||||
string
|
||||
Inputs: *None*.
|
||||
|
||||
sweep_dust
|
||||
send all dust outputs back to the wallet's, to make them easier to spend (and mix)
|
||||
outputs:
|
||||
tx_hash_list: list of:
|
||||
string
|
||||
Outputs:
|
||||
|
||||
store
|
||||
save the blockchain
|
||||
* *balance* - unsigned int
|
||||
* *unlocked_balance* - unsigned int
|
||||
|
||||
get_payments
|
||||
get a list of incoming payments using a given payment id
|
||||
inputs:
|
||||
payment_id: string
|
||||
outputs:
|
||||
payments: list of:
|
||||
payment_id: string
|
||||
tx_hash: string
|
||||
amount: unsigned int
|
||||
block_height: unsigned int
|
||||
unlock_time: unsigned int
|
||||
Example:
|
||||
|
||||
get_bulk_payments
|
||||
get a list of incoming payments using a given payment id, or a list of payments ids, from a given height
|
||||
inputs:
|
||||
payment_ids: array of:
|
||||
string
|
||||
min_block_height: unsigned int
|
||||
the block height at which to start looking for payments
|
||||
outputs:
|
||||
payments: list of:
|
||||
payment_id: string
|
||||
tx_hash: string
|
||||
amount: unsigned int
|
||||
block_height: unsigned int
|
||||
unlock_time: unsigned int
|
||||
|
||||
incoming_transfers
|
||||
return a list of incoming transfers to the wallet
|
||||
inputs:
|
||||
transfer_type: string
|
||||
"all": all the transfers
|
||||
"available": only transfers which are not yet spent
|
||||
"unavailable": only transfers which are already spent
|
||||
outputs:
|
||||
transfers: list of:
|
||||
amount: unsigned int
|
||||
spent: boolean
|
||||
global_index: unsigned int
|
||||
mostly internal use, can be ignored by most users
|
||||
tx_hash: string
|
||||
several incoming transfers may share the same hash if they were in the same transaction
|
||||
tx_size: unsigned int
|
||||
### getaddress
|
||||
|
||||
query_key
|
||||
return the spend or view private key
|
||||
inputs:
|
||||
key_type: string
|
||||
which key to retrieve:
|
||||
"mnemonic": the mnemonic seed (older wallets do not have one)
|
||||
"view_key": the view key
|
||||
outputs:
|
||||
key: string
|
||||
the view key will be hex encoded
|
||||
Return the wallet's address.
|
||||
|
||||
make_integrated_address
|
||||
make an integrated address from the wallet address and a payment id
|
||||
inputs:
|
||||
payment_id: string
|
||||
hex encoded; can be empty, in which case a random payment id is generated
|
||||
outputs:
|
||||
integrated_address: string
|
||||
Inputs: *None*.
|
||||
|
||||
split_integrated_address
|
||||
retrieve the standard address and payment id corresponding to an integrated address
|
||||
inputs:
|
||||
integrated_address: string
|
||||
outputs:
|
||||
standard_address: string
|
||||
payment: string
|
||||
hex encoded
|
||||
Outputs:
|
||||
|
||||
* *address* - string
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
### getheight
|
||||
|
||||
Returns the wallet's current block height.
|
||||
|
||||
Inputs: *None*.
|
||||
|
||||
Outputs:
|
||||
|
||||
* *height* - string
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
### transfer
|
||||
|
||||
Send monero to a number of recipients.
|
||||
|
||||
Inputs:
|
||||
|
||||
* *destinations* - array of:
|
||||
* *amount* - unsigned int
|
||||
* *address* - string
|
||||
* *fee* - unsigned int; Ignored, will be automatically calculated.
|
||||
* *mixin* - unsigned int; Number of outpouts from the blockchain to mix with (0 means no mixing).
|
||||
* *unlock_time* - unsigned int; Number of blocks before the monero can be spent (0 to not add a lock).
|
||||
* *payment_id* - string
|
||||
|
||||
Outputs:
|
||||
|
||||
* *tx_hash* - array of: string
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
### transfer_split
|
||||
|
||||
Same as transfer, but can split into more than one tx if necessary.
|
||||
|
||||
Inputs:
|
||||
|
||||
* *destinations* - array of:
|
||||
* *amount* - unsigned int
|
||||
* *address* - string
|
||||
* *fee* - unsigned int; Ignored, will be automatically calculated.
|
||||
* *mixin* - unsigned int; Number of outpouts from the blockchain to mix with (0 means no mixing).
|
||||
* *unlock_time* - unsigned int; Number of blocks before the monero can be spent (0 to not add a lock).
|
||||
* *payment_id* - string
|
||||
* *new_algorithm* - boolean; True to use the new transaction construction algorithm, defaults to false.
|
||||
|
||||
Outputs:
|
||||
|
||||
* *tx_hash* - array of: string
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
### sweep_dust
|
||||
|
||||
Send all dust outputs back to the wallet's, to make them easier to spend (and mix).
|
||||
|
||||
Inputs: *None*.
|
||||
|
||||
Outputs:
|
||||
|
||||
* *tx_hash_list* - list of: string
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
### store
|
||||
|
||||
Save the blockchain.
|
||||
|
||||
Inputs: *None*.
|
||||
|
||||
Outputs:
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
### get_payments
|
||||
|
||||
Get a list of incoming payments using a given payment id.
|
||||
|
||||
Inputs:
|
||||
|
||||
* *payment_id* - string
|
||||
|
||||
Outputs:
|
||||
|
||||
* *payments* - list of:
|
||||
* *payment_id* - string
|
||||
* *tx_hash* - string
|
||||
* *amount* - unsigned int
|
||||
* *block_height* - unsigned int
|
||||
* *unlock_time* - unsigned int
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
### get_bulk_payments
|
||||
|
||||
Get a list of incoming payments using a given payment id, or a list of payments ids, from a given height.
|
||||
|
||||
Inputs:
|
||||
|
||||
* *payment_ids* - array of: string
|
||||
* *min_block_height* - unsigned int; The block height at which to start looking for payments.
|
||||
|
||||
Outputs:
|
||||
|
||||
* *payments* - list of:
|
||||
* *payment_id* - string
|
||||
* *tx_hash* - string
|
||||
* *amount* - unsigned int
|
||||
* *block_height* - unsigned int
|
||||
* *unlock_time* - unsigned int
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
### incoming_transfers
|
||||
|
||||
Return a list of incoming transfers to the wallet.
|
||||
|
||||
Inputs:
|
||||
|
||||
* *transfer_type* - string; "all": all the transfers, "available": only transfers which are not yet spent, OR "unavailable": only transfers which are already spent.
|
||||
|
||||
Outputs:
|
||||
|
||||
* *transfers* - list of:
|
||||
* *amount* - unsigned int
|
||||
* *spent* - boolean
|
||||
* *global_index* - unsigned int; Mostly internal use, can be ignored by most users.
|
||||
* *tx_hash* - string; Several incoming transfers may share the same hash if they were in the same transaction.
|
||||
* *tx_size* - unsigned int
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
### query_key
|
||||
|
||||
Return the spend or view private key.
|
||||
|
||||
Inputs:
|
||||
|
||||
* *key_type* - string; which key to retrieve: "mnemonic" - the mnemonic seed (older wallets do not have one) OR "view_key" - the view key
|
||||
|
||||
Outputs:
|
||||
|
||||
* *key* - string; the view key will be hex encoded
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
### make_integrated_address
|
||||
|
||||
Make an integrated address from the wallet address and a payment id.
|
||||
|
||||
Inputs:
|
||||
|
||||
* *payment_id* - string; hex encoded; can be empty, in which case a random payment id is generated
|
||||
|
||||
Outputs:
|
||||
|
||||
* *integrated_address* - string
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
### split_integrated_address
|
||||
|
||||
Retrieve the standard address and payment id corresponding to an integrated address.
|
||||
|
||||
Inputs:
|
||||
|
||||
* *integrated_address* - string
|
||||
|
||||
Outputs:
|
||||
|
||||
* *standard_address* - string
|
||||
* *payment* - string; hex encoded
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
### stop_wallet
|
||||
|
||||
Stops the wallet, storing the current state.
|
||||
|
||||
Inputs: *None*.
|
||||
|
||||
Outputs:
|
||||
|
||||
Example:
|
||||
|
||||
stop_wallet
|
||||
stops the wallet, storing the current state
|
||||
|
||||
|
|
Loading…
Reference in a new issue