mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-02 08:59:08 +02:00
Merge bitcoin/bitcoin#22407: rpc: Return block time in getblockchaininfo
20edf4bcf61e9fa310c3d7f3cac0c80a04df5364 rpc: Return block time in getblockchaininfo (João Barbosa) Pull request description: Return tip time in `getblockchaininfo`, for some use cases this can save a call to `getblock`. ACKs for top commit: naumenkogs: ACK 20edf4bcf61e9fa310c3d7f3cac0c80a04df5364 theStack: re-ACK 20edf4bcf61e9fa310c3d7f3cac0c80a04df5364 0xB10C: ACK 20edf4bcf61e9fa310c3d7f3cac0c80a04df5364 kristapsk: ACK 20edf4bcf61e9fa310c3d7f3cac0c80a04df5364 Zero-1729: re-ACK 20edf4bcf61e9fa310c3d7f3cac0c80a04df5364 Tree-SHA512: 29a920cfff1ef53e0af601c3f93f8f9171f3be47fc84b0fa293cb865b824976e8c1510b17b27d17daf0b8e658dd77d9dc388373395f0919fc4a23cd5019642d5
This commit is contained in:
commit
458d6ac23b
@ -197,6 +197,8 @@ Low-level changes
|
||||
RPC
|
||||
---
|
||||
|
||||
- `getblockchaininfo` now returns a new `time` field, that provides the chain tip time. (#22407)
|
||||
|
||||
- The RPC server can process a limited number of simultaneous RPC requests.
|
||||
Previously, if this limit was exceeded, the RPC server would respond with
|
||||
[status code 500 (`HTTP_INTERNAL_SERVER_ERROR`)](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_server_errors).
|
||||
|
@ -1422,7 +1422,8 @@ RPCHelpMan getblockchaininfo()
|
||||
{RPCResult::Type::NUM, "headers", "the current number of headers we have validated"},
|
||||
{RPCResult::Type::STR, "bestblockhash", "the hash of the currently best block"},
|
||||
{RPCResult::Type::NUM, "difficulty", "the current difficulty"},
|
||||
{RPCResult::Type::NUM, "mediantime", "median time for the current best block"},
|
||||
{RPCResult::Type::NUM_TIME, "time", "The block time expressed in " + UNIX_EPOCH_TIME},
|
||||
{RPCResult::Type::NUM_TIME, "mediantime", "The median block time expressed in " + UNIX_EPOCH_TIME},
|
||||
{RPCResult::Type::NUM, "verificationprogress", "estimate of verification progress [0..1]"},
|
||||
{RPCResult::Type::BOOL, "initialblockdownload", "(debug information) estimate of whether this node is in Initial Block Download mode"},
|
||||
{RPCResult::Type::STR_HEX, "chainwork", "total amount of work in active chain, in hexadecimal"},
|
||||
@ -1478,6 +1479,7 @@ RPCHelpMan getblockchaininfo()
|
||||
obj.pushKV("headers", pindexBestHeader ? pindexBestHeader->nHeight : -1);
|
||||
obj.pushKV("bestblockhash", tip->GetBlockHash().GetHex());
|
||||
obj.pushKV("difficulty", (double)GetDifficulty(tip));
|
||||
obj.pushKV("time", (int64_t)tip->nTime);
|
||||
obj.pushKV("mediantime", (int64_t)tip->GetMedianTimePast());
|
||||
obj.pushKV("verificationprogress", GuessVerificationProgress(Params().TxData(), tip));
|
||||
obj.pushKV("initialblockdownload", active_chainstate.IsInitialBlockDownload());
|
||||
|
@ -93,11 +93,14 @@ class BlockchainTest(BitcoinTestFramework):
|
||||
'pruned',
|
||||
'size_on_disk',
|
||||
'softforks',
|
||||
'time',
|
||||
'verificationprogress',
|
||||
'warnings',
|
||||
]
|
||||
res = self.nodes[0].getblockchaininfo()
|
||||
|
||||
assert isinstance(res['time'], int)
|
||||
|
||||
# result should have these additional pruning keys if manual pruning is enabled
|
||||
assert_equal(sorted(res.keys()), sorted(['pruneheight', 'automatic_pruning'] + keys))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user