From f0b397dcc47436864435b9738fddeab47d28b658 Mon Sep 17 00:00:00 2001
From: qqjettkgjzhxmwj <37233887+JettScythe@users.noreply.github.com>
Date: Tue, 21 Jul 2020 16:54:22 -0300
Subject: [PATCH 1/2] updated docs for getblock-verbosity fixes
---
docs/json_rpc_api.md | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/docs/json_rpc_api.md b/docs/json_rpc_api.md
index 4bb0625e89..c33bd7a396 100644
--- a/docs/json_rpc_api.md
+++ b/docs/json_rpc_api.md
@@ -271,13 +271,13 @@ the method name for further details such as parameter and return information.
| | |
|---|---|
|Method|getblock|
-|Parameters|1. block hash (string, required) - the hash of the block
2. verbose (boolean, optional, default=true) - specifies the block is returned as a JSON object instead of hex-encoded string
3. verbosetx (boolean, optional, default=false) - specifies that each transaction is returned as a JSON object and only applies if the `verbose` flag is true.**This parameter is a btcd extension**|
+|Parameters|1. block hash (string, required) - the hash of the block
2. verbosity (int, optional, default=1) - specifies the block is returned as a JSON object instead of hex-encoded string**This parameter is a btcd extension**|
|Description|Returns information about a block given its hash.|
-|Returns (verbose=false)|`"data" (string) hex-encoded bytes of the serialized block`|
-|Returns (verbose=true, verbosetx=false)|`{ (json object)`
`"hash": "blockhash", (string) the hash of the block (same as provided)`
`"confirmations": n, (numeric) the number of confirmations`
`"strippedsize", n (numeric) the size of the block without witness data`
`"size": n, (numeric) the size of the block`
`"weight": n, (numeric) value of the weight metric`
`"height": n, (numeric) the height of the block in the block chain`
`"version": n, (numeric) the block version`
`"merkleroot": "hash", (string) root hash of the merkle tree`
`"tx": [ (json array of string) the transaction hashes`
`"transactionhash", (string) hash of the parent transaction`
`...`
`]`
`"time": n, (numeric) the block time in seconds since 1 Jan 1970 GMT`
`"nonce": n, (numeric) the block nonce`
`"bits", n, (numeric) the bits which represent the block difficulty`
`difficulty: n.nn, (numeric) the proof-of-work difficulty as a multiple of the minimum difficulty`
`"previousblockhash": "hash", (string) the hash of the previous block`
`"nextblockhash": "hash", (string) the hash of the next block (only if there is one)`
`}`|
-|Returns (verbose=true, verbosetx=true)|`{ (json object)`
`"hash": "blockhash", (string) the hash of the block (same as provided)`
`"confirmations": n, (numeric) the number of confirmations`
`"strippedsize", n (numeric) the size of the block without witness data`
`"size": n, (numeric) the size of the block`
`"weight": n, (numeric) value of the weight metric`
`"height": n, (numeric) the height of the block in the block chain`
`"version": n, (numeric) the block version`
`"merkleroot": "hash", (string) root hash of the merkle tree`
`"rawtx": [ (array of json objects) the transactions as json objects`
`(see getrawtransaction json object details)`
`]`
`"time": n, (numeric) the block time in seconds since 1 Jan 1970 GMT`
`"nonce": n, (numeric) the block nonce`
`"bits", n, (numeric) the bits which represent the block difficulty`
`difficulty: n.nn, (numeric) the proof-of-work difficulty as a multiple of the minimum difficulty`
`"previousblockhash": "hash", (string) the hash of the previous block`
`"nextblockhash": "hash", (string) the hash of the next block`
`}`|
-|Example Return (verbose=false)|`"010000000000000000000000000000000000000000000000000000000000000000000000`
`3ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49`
`ffff001d1dac2b7c01010000000100000000000000000000000000000000000000000000`
`00000000000000000000ffffffff4d04ffff001d0104455468652054696d65732030332f`
`4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f`
`6e64206261696c6f757420666f722062616e6b73ffffffff0100f2052a01000000434104`
`678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f`
`4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000"`
**Newlines added for display purposes. The actual return does not contain newlines.**|
-|Example Return (verbose=true, verbosetx=false)|`{`
`"hash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",`
`"confirmations": 277113,`
`"size": 285,`
`"height": 0,`
`"version": 1,`
`"merkleroot": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",`
`"tx": [`
`"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"`
`],`
`"time": 1231006505,`
`"nonce": 2083236893,`
`"bits": "1d00ffff",`
`"difficulty": 1,`
`"previousblockhash": "0000000000000000000000000000000000000000000000000000000000000000",`
`"nextblockhash": "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048"`
`}`|
+|Returns (verbosity=0)|`"data" (string) hex-encoded bytes of the serialized block`|
+|Returns (verbosity=1)|`{ (json object)`
`"hash": "blockhash", (string) the hash of the block (same as provided)`
`"confirmations": n, (numeric) the number of confirmations`
`"strippedsize", n (numeric) the size of the block without witness data`
`"size": n, (numeric) the size of the block`
`"weight": n, (numeric) value of the weight metric`
`"height": n, (numeric) the height of the block in the block chain`
`"version": n, (numeric) the block version`
`"merkleroot": "hash", (string) root hash of the merkle tree`
`"tx": [ (json array of string) the transaction hashes`
`"transactionhash", (string) hash of the parent transaction`
`...`
`]`
`"time": n, (numeric) the block time in seconds since 1 Jan 1970 GMT`
`"nonce": n, (numeric) the block nonce`
`"bits", n, (numeric) the bits which represent the block difficulty`
`difficulty: n.nn, (numeric) the proof-of-work difficulty as a multiple of the minimum difficulty`
`"previousblockhash": "hash", (string) the hash of the previous block`
`"nextblockhash": "hash", (string) the hash of the next block (only if there is one)`
`}`|
+|Returns (verbosity=2)|`{ (json object)`
`"hash": "blockhash", (string) the hash of the block (same as provided)`
`"confirmations": n, (numeric) the number of confirmations`
`"strippedsize", n (numeric) the size of the block without witness data`
`"size": n, (numeric) the size of the block`
`"weight": n, (numeric) value of the weight metric`
`"height": n, (numeric) the height of the block in the block chain`
`"version": n, (numeric) the block version`
`"merkleroot": "hash", (string) root hash of the merkle tree`
`"rawtx": [ (array of json objects) the transactions as json objects`
`(see getrawtransaction json object details)`
`]`
`"time": n, (numeric) the block time in seconds since 1 Jan 1970 GMT`
`"nonce": n, (numeric) the block nonce`
`"bits", n, (numeric) the bits which represent the block difficulty`
`difficulty: n.nn, (numeric) the proof-of-work difficulty as a multiple of the minimum difficulty`
`"previousblockhash": "hash", (string) the hash of the previous block`
`"nextblockhash": "hash", (string) the hash of the next block`
`}`|
+|Example Return (verbosity=0)|`"010000000000000000000000000000000000000000000000000000000000000000000000`
`3ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49`
`ffff001d1dac2b7c01010000000100000000000000000000000000000000000000000000`
`00000000000000000000ffffffff4d04ffff001d0104455468652054696d65732030332f`
`4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f`
`6e64206261696c6f757420666f722062616e6b73ffffffff0100f2052a01000000434104`
`678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f`
`4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000"`
**Newlines added for display purposes. The actual return does not contain newlines.**|
+|Example Return (verbosity=1)|`{`
`"hash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",`
`"confirmations": 277113,`
`"size": 285,`
`"height": 0,`
`"version": 1,`
`"merkleroot": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",`
`"tx": [`
`"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"`
`],`
`"time": 1231006505,`
`"nonce": 2083236893,`
`"bits": "1d00ffff",`
`"difficulty": 1,`
`"previousblockhash": "0000000000000000000000000000000000000000000000000000000000000000",`
`"nextblockhash": "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048"`
`}`|
[Return to Overview](#MethodOverview)
***
From 2aac5e59c0916b9897015edaf3b81ba15662b6e6 Mon Sep 17 00:00:00 2001
From: qqjettkgjzhxmwj <37233887+JettScythe@users.noreply.github.com>
Date: Tue, 21 Jul 2020 17:24:02 -0300
Subject: [PATCH 2/2] Update json_rpc_api.md
Corrections suggested by @onyb https://github.com/btcsuite/btcd/pull/1608#discussion_r458363077
---
docs/json_rpc_api.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/json_rpc_api.md b/docs/json_rpc_api.md
index c33bd7a396..61884df0a0 100644
--- a/docs/json_rpc_api.md
+++ b/docs/json_rpc_api.md
@@ -271,7 +271,7 @@ the method name for further details such as parameter and return information.
| | |
|---|---|
|Method|getblock|
-|Parameters|1. block hash (string, required) - the hash of the block
2. verbosity (int, optional, default=1) - specifies the block is returned as a JSON object instead of hex-encoded string**This parameter is a btcd extension**|
+|Parameters|1. block hash (string, required) - the hash of the block
2. verbosity (int, optional, default=1) - Specifies whether the block data should be returned as a hex-encoded string (0), as parsed data with a slice of TXIDs (1), or as parsed data with parsed transaction data (2).
|Description|Returns information about a block given its hash.|
|Returns (verbosity=0)|`"data" (string) hex-encoded bytes of the serialized block`|
|Returns (verbosity=1)|`{ (json object)`
`"hash": "blockhash", (string) the hash of the block (same as provided)`
`"confirmations": n, (numeric) the number of confirmations`
`"strippedsize", n (numeric) the size of the block without witness data`
`"size": n, (numeric) the size of the block`
`"weight": n, (numeric) value of the weight metric`
`"height": n, (numeric) the height of the block in the block chain`
`"version": n, (numeric) the block version`
`"merkleroot": "hash", (string) root hash of the merkle tree`
`"tx": [ (json array of string) the transaction hashes`
`"transactionhash", (string) hash of the parent transaction`
`...`
`]`
`"time": n, (numeric) the block time in seconds since 1 Jan 1970 GMT`
`"nonce": n, (numeric) the block nonce`
`"bits", n, (numeric) the bits which represent the block difficulty`
`difficulty: n.nn, (numeric) the proof-of-work difficulty as a multiple of the minimum difficulty`
`"previousblockhash": "hash", (string) the hash of the previous block`
`"nextblockhash": "hash", (string) the hash of the next block (only if there is one)`
`}`|