aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Zipkin <pinheadmz@gmail.com>2024-06-05 11:00:11 -0400
committerMatthew Zipkin <pinheadmz@gmail.com>2024-06-07 09:26:50 -0400
commit0ead71df8c83a2f9eae1220544ec84dcf38a0326 (patch)
tree7e6e3e09d1761e793c5760d9b5aee7ec8567fe02
parent1040a1fc807ed984020eeaa6e90b5bf070b61b05 (diff)
downloadbitcoin-0ead71df8c83a2f9eae1220544ec84dcf38a0326.tar.xz
doc: update and link for JSON-RPC 2.0
-rw-r--r--doc/JSON-RPC-interface.md8
-rw-r--r--doc/release-notes-27101.md7
2 files changed, 6 insertions, 9 deletions
diff --git a/doc/JSON-RPC-interface.md b/doc/JSON-RPC-interface.md
index 2a97aa351d..4a9ef0293f 100644
--- a/doc/JSON-RPC-interface.md
+++ b/doc/JSON-RPC-interface.md
@@ -33,10 +33,10 @@ requests when multiple wallets are in use.
```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: application/json;' localhost:38332/
+$ curl --user alice --data-binary '{"jsonrpc": "2.0", "id": "0", "method": "getblockcount", "params": []}' -H 'content-type: application/json;' 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: application/json;' localhost:38332/wallet/desc-wallet
+$ curl --user alice --data-binary '{"jsonrpc": "2.0", "id": "0", "method": "getbalance", "params": []}' -H 'content-type: application/json;' localhost:38332/wallet/desc-wallet
```
@@ -80,7 +80,7 @@ The server recognizes [JSON-RPC v2.0](https://www.jsonrpc.org/specification) req
and responds accordingly. A 2.0 request is identified by the presence of
`"jsonrpc": "2.0"` in the request body. If that key + value is not present in a request,
the legacy JSON-RPC v1.1 protocol is followed instead, which was the only available
-protocol in previous releases.
+protocol in v27.0 and prior releases.
|| 1.1 | 2.0 |
|-|-|-|
@@ -88,7 +88,7 @@ protocol in previous releases.
| Response marker | (none) | `"jsonrpc": "2.0"` |
| `"error"` and `"result"` fields in response | both present | only one is present |
| HTTP codes in response | `200` unless there is any kind of RPC error (invalid parameters, method not found, etc) | Always `200` unless there is an actual HTTP server error (request parsing error, endpoint not found, etc) |
-| Notifications: requests that get no reply | (not supported) | Supported for requests that exclude the "id" field |
+| Notifications: requests that get no reply | (not supported) | Supported for requests that exclude the "id" field. Returns HTTP status `204` "No Content" |
## Security
diff --git a/doc/release-notes-27101.md b/doc/release-notes-27101.md
index 8775b59c00..7ce1e9a8c1 100644
--- a/doc/release-notes-27101.md
+++ b/doc/release-notes-27101.md
@@ -2,8 +2,5 @@ JSON-RPC
--------
The JSON-RPC server now recognizes JSON-RPC 2.0 requests and responds with
-strict adherence to the specification (https://www.jsonrpc.org/specification):
-
-- Returning HTTP "204 No Content" responses to JSON-RPC 2.0 notifications instead of full responses.
-- Returning HTTP "200 OK" responses in all other cases, rather than 404 responses for unknown methods, 500 responses for invalid parameters, etc.
-- Returning either "result" fields or "error" fields in JSON-RPC responses, rather than returning both fields with one field set to null.
+strict adherence to the [specification](https://www.jsonrpc.org/specification).
+See [JSON-RPC-interface.md](/doc/JSON-RPC-interface.md#json-rpc-11-vs-20) for details. \ No newline at end of file