mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-14 12:43:40 +02:00
Merge bitcoin/bitcoin#27225: doc: document json rpc endpoints
65e3abcbf2doc: document json rpc endpoints (willcl-ark) Pull request description: fixes #20246 This documents the two JSON-RPC endpoints available, details when they are active, specifies when they can or must be used, and outlines some known behaviour quirks. ACKs for top commit: fanquake: ACK65e3abcbf2- Seems fine. Can be improved if need be. Tree-SHA512: d557c2caf000a1bdd7b46c9da38afe63dc28446ba4a961526f1af3cec81d994a9da663e02c81ebdc4f609b794585349cfca77a582dc1e788c120de1d3b4c7db6
This commit is contained in:
commit
e43fdfd9ad
1 changed files with 35 additions and 0 deletions
|
|
@ -5,6 +5,41 @@ The headless daemon `bitcoind` has the JSON-RPC API enabled by default, the GUI
|
||||||
option. In the GUI it is possible to execute RPC methods in the Debug Console
|
option. In the GUI it is possible to execute RPC methods in the Debug Console
|
||||||
Dialog.
|
Dialog.
|
||||||
|
|
||||||
|
## Endpoints
|
||||||
|
|
||||||
|
There are two JSON-RPC endpoints on the server:
|
||||||
|
|
||||||
|
1. `/`
|
||||||
|
2. `/wallet/<walletname>/`
|
||||||
|
|
||||||
|
### `/` endpoint
|
||||||
|
|
||||||
|
This endpoint is always active.
|
||||||
|
It can always service non-wallet requests and can service wallet requests when
|
||||||
|
exactly one wallet is loaded.
|
||||||
|
|
||||||
|
### `/wallet/<walletname>/` endpoint
|
||||||
|
|
||||||
|
This endpoint is only activated when the wallet component has been compiled in.
|
||||||
|
It can service both wallet and non-wallet requests.
|
||||||
|
It MUST be used for wallet requests when two or more wallets are loaded.
|
||||||
|
|
||||||
|
This is the endpoint used by bitcoin-cli when a `-rpcwallet=` parameter is passed in.
|
||||||
|
|
||||||
|
Best practice would dictate using the `/wallet/<walletname>/` endpoint for ALL
|
||||||
|
requests when multiple wallets are in use.
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# Get block count from the / endpoint when rpcuser=alice and rpcport=38332
|
||||||
|
$ curl --user alice --data-binary '{"jsonrpc": "1.0", "id": "0", "method": "getblockcount", "params": []}' -H 'content-type: text/plain;' localhost:38332/
|
||||||
|
|
||||||
|
# Get balance from the /wallet/walletname endpoint when rpcuser=alice, rpcport=38332 and rpcwallet=desc-wallet
|
||||||
|
$ curl --user alice --data-binary '{"jsonrpc": "1.0", "id": "0", "method": "getbalance", "params": []}' -H 'content-type: text/plain;' localhost:38332/wallet/desc-wallet
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
## Parameter passing
|
## Parameter passing
|
||||||
|
|
||||||
The JSON-RPC server supports both _by-position_ and _by-name_ [parameter
|
The JSON-RPC server supports both _by-position_ and _by-name_ [parameter
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue