0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-14 11:26:09 -05:00
bitcoin-bitcoin-core/src/rpc
Ava Chow 413844f1c2
Merge bitcoin/bitcoin#29612: rpc: Optimize serialization and enhance metadata of dumptxoutset output
542e13b293 rpc: Enhance metadata of the dumptxoutset output (Fabian Jahr)
4d8e5edbaa assumeutxo: Add documentation on dumptxoutset serialization format (Fabian Jahr)
c14ed7f384 assumeutxo: Add test for changed coin size value (Fabian Jahr)
de95953d87 rpc: Optimize serialization disk space of dumptxoutset (Fabian Jahr)

Pull request description:

  The second attempt at implementing the `dumptxoutset` space optimization as suggested in #25675. Closes #25675.

  This builds on the work done in #26045, addresses open feedback, adds some further improvements (most importantly usage of compact size), documentation, and an additional test.

  The [original snapshot at height 830,000](https://github.com/bitcoin/bitcoin/pull/29551) came in at 10.82 GB. With this change, the same snapshot is 8.94 GB, a reduction of 17.4%.

  This also enhances the metadata of the output file and adds the following data to allow for better error handling and make future upgrades easier:
  - A newly introduced utxo set magic
  - A version number
  - The network magic
  - The block height

ACKs for top commit:
  achow101:
    ACK 542e13b293
  TheCharlatan:
    Re-ACK 542e13b293
  theStack:
    ACK 542e13b293

Tree-SHA512: 0825d30e5c3c364062db3c6cbca4e3c680e6e6d3e259fa70c0c2b2a7020f24a47406a623582040988d5c7745b08649c31110df4c10656aa25f3f27eb35843d99
2024-05-23 12:31:23 -04:00
..
blockchain.cpp Merge bitcoin/bitcoin#29612: rpc: Optimize serialization and enhance metadata of dumptxoutset output 2024-05-23 12:31:23 -04:00
blockchain.h refactor: rpc: Pass CBlockIndex by reference instead of pointer 2023-12-07 12:05:21 +01:00
client.cpp rpc: avoid copying into UniValue 2024-05-20 16:48:19 +00:00
client.h refactor: rpc: hide and rename ParseNonRFCJSONValue() 2023-03-23 18:18:46 +00:00
external_signer.cpp rpc: avoid copying into UniValue 2024-05-20 16:48:19 +00:00
fees.cpp rpc: avoid copying into UniValue 2024-05-20 16:48:19 +00:00
mempool.cpp rpc: avoid copying into UniValue 2024-05-20 16:48:19 +00:00
mempool.h rpc: Move mempool RPCs to new file 2022-03-11 17:46:58 +01:00
mining.cpp rpc: avoid copying into UniValue 2024-05-20 16:48:19 +00:00
mining.h
net.cpp Merge bitcoin/bitcoin#30115: rpc: avoid copying into UniValue 2024-05-23 10:53:37 -04:00
node.cpp rpc: avoid copying into UniValue 2024-05-20 16:48:19 +00:00
output_script.cpp rpc: avoid copying into UniValue 2024-05-20 16:48:19 +00:00
protocol.h rpc: JSON-RPC 2.0 should not respond to "notifications" 2024-05-14 11:28:43 -04:00
rawtransaction.cpp rpc: avoid copying into UniValue 2024-05-20 16:48:19 +00:00
rawtransaction_util.cpp rpc: avoid copying into UniValue 2024-05-20 16:48:19 +00:00
rawtransaction_util.h refactor: move parsing to new function 2024-01-19 15:04:56 +01:00
register.h scripted-diff: Add IWYU pragma keep to bitcoin-config.h includes 2024-05-01 08:33:04 +02:00
request.cpp doc: add comments and release-notes for JSON-RPC 2.0 2024-05-14 11:28:48 -04:00
request.h rpc: JSON-RPC 2.0 should not respond to "notifications" 2024-05-14 11:28:43 -04:00
server.cpp rpc: avoid copying into UniValue 2024-05-20 16:48:19 +00:00
server.h Merge bitcoin/bitcoin#27101: Support JSON-RPC 2.0 when requested by client 2024-05-16 10:18:04 -04:00
server_util.cpp refactor: add and use EnsureAnyAddrman in rpc 2023-10-04 08:53:51 +05:30
server_util.h refactor: add and use EnsureAnyAddrman in rpc 2023-10-04 08:53:51 +05:30
signmessage.cpp rpc: access some args by name 2024-03-01 13:51:21 +00:00
txoutproof.cpp refactor: Use Txid in CMerkleBlock 2023-11-28 17:49:41 +01:00
util.cpp rpc: avoid copying into UniValue 2024-05-20 16:48:19 +00:00
util.h rpc: return warnings as an array instead of just a single one 2024-05-01 14:44:57 +01:00