mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-03 09:43:55 +02:00
rpc: add loadtxoutset
Co-authored-by: Sebastian Falbesoner <sebastian.falbesoner@gmail.com>
This commit is contained in:
committed by
James O'Beirne
parent
62ac519e71
commit
ce585a9a15
@@ -3,7 +3,7 @@
|
||||
Assumeutxo is a feature that allows fast bootstrapping of a validating bitcoind
|
||||
instance with a very similar security model to assumevalid.
|
||||
|
||||
The RPC commands `dumptxoutset` and `loadtxoutset` (yet to be merged) are used to
|
||||
The RPC commands `dumptxoutset` and `loadtxoutset` are used to
|
||||
respectively generate and load UTXO snapshots. The utility script
|
||||
`./contrib/devtools/utxo_snapshot.sh` may be of use.
|
||||
|
||||
|
||||
@@ -5,3 +5,22 @@ When using assumeutxo with `-prune`, the prune budget may be exceeded if it is s
|
||||
lower than 1100MB (i.e. `MIN_DISK_SPACE_FOR_BLOCK_FILES * 2`). Prune budget is normally
|
||||
split evenly across each chainstate, unless the resulting prune budget per chainstate
|
||||
is beneath `MIN_DISK_SPACE_FOR_BLOCK_FILES` in which case that value will be used.
|
||||
|
||||
RPC
|
||||
---
|
||||
|
||||
`loadtxoutset` has been added, which allows loading a UTXO snapshot of the format
|
||||
generated by `dumptxoutset`. Once this snapshot is loaded, its contents will be
|
||||
deserialized into a second chainstate data structure, which is then used to sync to
|
||||
the network's tip under a security model very much like `assumevalid`.
|
||||
|
||||
Meanwhile, the original chainstate will complete the initial block download process in
|
||||
the background, eventually validating up to the block that the snapshot is based upon.
|
||||
|
||||
The result is a usable bitcoind instance that is current with the network tip in a
|
||||
matter of minutes rather than hours. UTXO snapshot are typically obtained via
|
||||
third-party sources (HTTP, torrent, etc.) which is reasonable since their contents
|
||||
are always checked by hash.
|
||||
|
||||
You can find more information on this process in the `assumeutxo` design
|
||||
document (<https://github.com/bitcoin/bitcoin/blob/master/doc/design/assumeutxo.md>).
|
||||
|
||||
Reference in New Issue
Block a user