-
Notifications
You must be signed in to change notification settings - Fork 37.7k
kernel: chainparams & headersync updates for 30.0 #33274
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code Coverage & BenchmarksFor details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33274. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
@@ -180,6 +180,12 @@ class CMainParams : public CChainParams { | |||
.hash_serialized = AssumeutxoHash{uint256{"dbd190983eaf433ef7c15f78a278ae42c00ef52e0fd2a54953782175fbadcea9"}}, | |||
.m_chain_tx_count = 1145604538, | |||
.blockhash = consteval_ctor(uint256{"000000000000000000010b17283c3c400507969a9c2afd1dcf2082ec5cca2880"}), | |||
}, | |||
{ | |||
.height = 910'000, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2cc7d58: here's a torrent magnet, with the same seeds as Bitcoin Core v29, except the binary seed: magnet:?xt=urn:btih:7019437a2b1530624b100c0795cfc5f90b8322ca&dn=utxo-910000.dat&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.torrent.eu.org%3A451%2Fannounce&tr=udp%3A%2F%2Ftracker.bitcoin.sprovoost.nl%3A6969
It might be an hour or so before you can download it.
Reminder to other testers that loading the snapshot is much faster if you disable the network temporary, see #29993.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mainnet assume UTXO block confirmed:
₿ bitcoin-cli getblock 0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821
{
"hash": "0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821",
"confirmations": 2908,
"height": 910000,
Downloaded torrent as kindly provided by Sjors.
Loaded assume utxo snapshot, saw some odd behavior with validating 2 times and only removing the second chainstate directory after restarting. But snapshot worked.
- Removed blocks/ & chainstate/
- Re-synced headers before stopping node again
- Started node with
-noconnect
bitcoin-cli -rpcclienttimeout=0 loadtxoutset ~/Downloads/utxo-910000.dat
₿ bitcoin-cli getchainstates
{
"headers": 912911,
"chainstates": [
{
"blocks": 2123,
"bestblockhash": "00000000a3099f5f4100c759a09d3ba7001e9075d7997c4e0e76308209dfece8",
"bits": "1d00ffff",
"target": "00000000ffff0000000000000000000000000000000000000000000000000000",
"difficulty": 1,
"verificationprogress": 1.742815384638761e-06,
"coins_db_cache_bytes": 419430,
"coins_tip_cache_bytes": 523763712,
"validated": true
},
{
"blocks": 910000,
"bestblockhash": "0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821",
"bits": "17022cb3",
"target": "000000000000000000022cb30000000000000000000000000000000000000000",
"difficulty": 129435235580344.8,
"verificationprogress": 0.9924388182672436,
"coins_db_cache_bytes": 7969177,
"coins_tip_cache_bytes": 9951510528,
"snapshot_blockhash": "0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821",
"validated": false
}
]
}
- Restarted node without
-noconnect
. - Repeated
bitcoin-cli getchainstates
shows slowly increasing blocks from 910'000 upwards, while the other chainstate is stuck at 2'123 blocks. - Once the assume utxo-based chainstate reaches the tip, the other chainstate starts increasing from 2'123 upwards. (New blocks are still added to the assume utxo-based one).
- Left it running over the night but background sync still took a long while.
2025-09-03T09:35:36Z [warning] Flushing large (5 GiB) UTXO set to disk, it may take several minutes
2025-09-03T09:37:04Z [snapshot] computing UTXO stats for background chainstate to validate snapshot - this could take a few minutes
2025-09-03T09:39:15Z [snapshot] snapshot beginning at 0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821 has been fully validated
2025-09-03T09:39:15Z [snapshot] allocating all cache to the snapshot chainstate
2025-09-03T09:39:15Z Opening LevelDB in /home/hodlinator/.bitcoin/chainstate_snapshot
2025-09-03T09:39:15Z Opened LevelDB successfully
2025-09-03T09:39:15Z Using obfuscation key for /home/hodlinator/.bitcoin/chainstate_snapshot: 7d624d1ee9abfe2b
2025-09-03T09:39:15Z [Chainstate [snapshot] @ height 912993 (000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2)] resized coinsdb cache to 8.0 MiB
2025-09-03T09:39:15Z [Chainstate [snapshot] @ height 912993 (000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2)] resized coinstip cache to 9990.0 MiB
2025-09-03T09:39:15Z [snapshot] re-enabling NODE_NETWORK services
2025-09-03T09:39:15Z [snapshot] restarting indexes
bitcoin-cli getchainstates
now only returns one state, but I still have both on disk:
₿ du -hs /home/hodlinator/.bitcoin/chainstate*
20G /home/hodlinator/.bitcoin/chainstate
12G /home/hodlinator/.bitcoin/chainstate_snapshot
- Restarting the node resulted in recomputing UTXO stats to validate the snapshot a second time(?!), but at least removed one of the chainstate dirs.
2025-09-03T09:43:38Z Assuming ancestors of block 00000000000000000000611fd22f2df7c8fbd0688745c3a6c3bb5109cc2a12cb have valid signatures.
2025-09-03T09:43:38Z Setting nMinimumChainWork=0000000000000000000000000000000000000000dee8e2a309ad8a9820433c68
2025-09-03T09:43:38Z [snapshot] detected active snapshot chainstate (/home/hodlinator/.bitcoin/chainstate_snapshot) - loading
2025-09-03T09:43:38Z [snapshot] switching active chainstate to Chainstate [snapshot] @ height -1 (null)
2025-09-03T09:43:39Z [snapshot] set m_chain_tx_count=1226586151 for 0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821
2025-09-03T09:43:40Z Loading block index db: last block file = 5121
2025-09-03T09:43:40Z Loading block index db: last block file info: CBlockFileInfo(blocks=64, size=98094618, heights=909602...909998, time=2025-08-11...2025-08-14)
2025-09-03T09:43:40Z Checking all blk files are present...
2025-09-03T09:43:42Z Initializing chainstate Chainstate [ibd] @ height -1 (null)
2025-09-03T09:43:42Z Opening LevelDB in /home/hodlinator/.bitcoin/chainstate
2025-09-03T09:43:43Z Opened LevelDB successfully
2025-09-03T09:43:43Z Using obfuscation key for /home/hodlinator/.bitcoin/chainstate: 85bc6cb8217fc36e
2025-09-03T09:43:43Z Loaded best chain: hashBestChain=0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821 height=910000 date=2025-08-14T09:25:55Z progress=0.992203
2025-09-03T09:43:43Z Initializing chainstate Chainstate [snapshot] @ height -1 (null)
2025-09-03T09:43:43Z Opening LevelDB in /home/hodlinator/.bitcoin/chainstate_snapshot
2025-09-03T09:43:43Z Opened LevelDB successfully
2025-09-03T09:43:43Z Using obfuscation key for /home/hodlinator/.bitcoin/chainstate_snapshot: 7d624d1ee9abfe2b
2025-09-03T09:43:43Z Loaded best chain: hashBestChain=000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2 height=912993 date=2025-09-03T09:16:53Z progress=1.000000
2025-09-03T09:43:43Z Leaving InitialBlockDownload (latching to false)
2025-09-03T09:43:43Z Opening LevelDB in /home/hodlinator/.bitcoin/chainstate_snapshot
2025-09-03T09:43:43Z Opened LevelDB successfully
2025-09-03T09:43:43Z Using obfuscation key for /home/hodlinator/.bitcoin/chainstate_snapshot: 7d624d1ee9abfe2b
2025-09-03T09:43:43Z [Chainstate [snapshot] @ height 912993 (000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2)] resized coinsdb cache to 0.4 MiB
2025-09-03T09:43:43Z [Chainstate [snapshot] @ height 912993 (000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2)] resized coinstip cache to 499.5 MiB
2025-09-03T09:43:43Z Opening LevelDB in /home/hodlinator/.bitcoin/chainstate
2025-09-03T09:43:43Z Opened LevelDB successfully
2025-09-03T09:43:43Z Using obfuscation key for /home/hodlinator/.bitcoin/chainstate: 85bc6cb8217fc36e
2025-09-03T09:43:43Z [Chainstate [ibd] @ height 910000 (0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821)] resized coinsdb cache to 7.6 MiB
2025-09-03T09:43:43Z [Chainstate [ibd] @ height 910000 (0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821)] resized coinstip cache to 9490.5 MiB
2025-09-03T09:43:43Z [snapshot] computing UTXO stats for background chainstate to validate snapshot - this could take a few minutes
2025-09-03T09:45:32Z [snapshot] snapshot beginning at 0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821 has been fully validated
2025-09-03T09:45:32Z [snapshot] allocating all cache to the snapshot chainstate
2025-09-03T09:45:32Z Opening LevelDB in /home/hodlinator/.bitcoin/chainstate_snapshot
2025-09-03T09:45:32Z Opened LevelDB successfully
2025-09-03T09:45:32Z Using obfuscation key for /home/hodlinator/.bitcoin/chainstate_snapshot: 7d624d1ee9abfe2b
2025-09-03T09:45:32Z [Chainstate [snapshot] @ height 912993 (000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2)] resized coinsdb cache to 8.0 MiB
2025-09-03T09:45:32Z [Chainstate [snapshot] @ height 912993 (000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2)] resized coinstip cache to 9990.0 MiB
2025-09-03T09:45:32Z [snapshot] cleaning up unneeded background chainstate, then reinitializing
2025-09-03T09:45:32Z [snapshot] deleting background chainstate directory (now unnecessary) (/home/hodlinator/.bitcoin/chainstate)
2025-09-03T09:45:32Z [snapshot] moving snapshot chainstate (/home/hodlinator/.bitcoin/chainstate_snapshot) to default chainstate directory (/home/hodlinator/.bitcoin/chainstate)
2025-09-03T09:45:32Z Removing leveldb dir at /home/hodlinator/.bitcoin/chainstate_todelete
2025-09-03T09:45:34Z [snapshot] deleted background chainstate directory (/home/hodlinator/.bitcoin/chainstate)
2025-09-03T09:45:37Z Loading block index db: last block file = 5121
2025-09-03T09:45:37Z Loading block index db: last block file info: CBlockFileInfo(blocks=64, size=98094618, heights=909602...909998, time=2025-08-11...2025-08-14)
2025-09-03T09:45:37Z Checking all blk files are present...
2025-09-03T09:45:37Z Initializing chainstate Chainstate [ibd] @ height -1 (null)
2025-09-03T09:45:37Z Opening LevelDB in /home/hodlinator/.bitcoin/chainstate
2025-09-03T09:45:37Z Opened LevelDB successfully
2025-09-03T09:45:37Z Using obfuscation key for /home/hodlinator/.bitcoin/chainstate: 7d624d1ee9abfe2b
2025-09-03T09:45:38Z Loaded best chain: hashBestChain=000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2 height=912993 date=2025-09-03T09:16:53Z progress=1.000000
@@ -379,7 +379,12 @@ class CTestNet4Params : public CChainParams { | |||
m_is_mockable_chain = false; | |||
|
|||
m_assumeutxo_data = { | |||
{} | |||
{ | |||
.height = 90'000, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
magnet:?xt=urn:btih:7341b215b570e3bc69f5fbbe5e817b51b0b9b542&dn=utxo-testnet4-90000.dat&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.torrent.eu.org%3A451%2Fannounce&tr=udp%3A%2F%2Ftracker.bitcoin.sprovoost.nl%3A6969
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unlike the mainnet one, this one will not download for me. :\
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Try again, I should have a reachable seed for the next few hours.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2025-09-03T11:27:15Z [snapshot] snapshot beginning at 0000000002ebe8bcda020e0dd6ccfbdfac531d2f6a81457191b99fc2df2dbe3b has been fully validated
Had to restart node for the 2nd chainstate to be deleted after doing a 2nd round of validation (same as mainnet #33274 (comment)):
2025-09-03T11:28:14Z [snapshot] computing UTXO stats for background chainstate to validate snapshot - this could take a few minutes
2025-09-03T11:28:22Z [snapshot] snapshot beginning at 0000000002ebe8bcda020e0dd6ccfbdfac531d2f6a81457191b99fc2df2dbe3b has been fully validated
2025-09-03T11:28:22Z [snapshot] allocating all cache to the snapshot chainstate
2025-09-03T11:28:22Z Opening LevelDB in /home/hodlinator/.bitcoin/testnet4/chainstate_snapshot
2025-09-03T11:28:22Z Opened LevelDB successfully
2025-09-03T11:28:22Z Using obfuscation key for /home/hodlinator/.bitcoin/testnet4/chainstate_snapshot: d4971b3b981c8ea1
2025-09-03T11:28:22Z [Chainstate [snapshot] @ height 100474 (0000000001fb1795dec277e447d800c813d9a37bf5b796a22e77df9fc067f08f)] resized coinsdb cache to 8.0 MiB
2025-09-03T11:28:22Z [Chainstate [snapshot] @ height 100474 (0000000001fb1795dec277e447d800c813d9a37bf5b796a22e77df9fc067f08f)] resized coinstip cache to 9990.0 MiB
2025-09-03T11:28:22Z [snapshot] cleaning up unneeded background chainstate, then reinitializing
2025-09-03T11:28:22Z [snapshot] deleting background chainstate directory (now unnecessary) (/home/hodlinator/.bitcoin/testnet4/chainstate)
2025-09-03T11:28:22Z [snapshot] moving snapshot chainstate (/home/hodlinator/.bitcoin/testnet4/chainstate_snapshot) to default chainstate directory (/home/hodlinator/.bitcoin/testnet4/chainstate)
2025-09-03T11:28:22Z Removing leveldb dir at /home/hodlinator/.bitcoin/testnet4/chainstate_todelete
2025-09-03T11:28:22Z [snapshot] deleted background chainstate directory (/home/hodlinator/.bitcoin/testnet4/chainstate)
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000015f5e0c9f13455b0eb17"}; | ||
consensus.defaultAssumeValid = uint256{"00000000000003fc7967410ba2d0a8a8d50daedc318d43e8baf1a9782c236a57"}; // 3974606 | ||
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000016dd270dd94fac1d7632"}; | ||
consensus.defaultAssumeValid = uint256{"0000000000000065c6c38258e201971a3fdfcc2ceee0dd6e85a6c022d45dee34"}; // 4550000 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ceterum censeo #31974 :-)
ACK 01fbbc5 I didn't check the datadir sizes. I tested loading the testnet4 snapshot and then syncing to the tip. Still syncing a mainnet node with |
01fbbc5
to
755152a
Compare
re-ACK 755152a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 755152a
ACK 755152a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 755152a
@@ -379,7 +379,12 @@ class CTestNet4Params : public CChainParams { | |||
m_is_mockable_chain = false; | |||
|
|||
m_assumeutxo_data = { | |||
{} | |||
{ | |||
.height = 90'000, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unlike the mainnet one, this one will not download for me. :\
m_assumed_blockchain_size = 720; | ||
m_assumed_blockchain_size = 810; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My ~/.bitcoin/ dir was 736G after removing other chains. Seldom online with that node, so will not have many stale blocks, but it's in a similar ballpark. Same for chainstate which was 11G.
Increases in other chains seem reasonable.
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000b1f3b93b65b16d035a82be84"}; | ||
consensus.defaultAssumeValid = uint256{"00000000000000000001b658dd1120e82e66d2790811f89ede9742ada3ed6d77"}; // 886157 | ||
consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000dee8e2a309ad8a9820433c68"}; | ||
consensus.defaultAssumeValid = uint256{"00000000000000000000611fd22f2df7c8fbd0688745c3a6c3bb5109cc2a12cb"}; // 912683 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mainnet assume valid block checks out:
₿ bitcoin-cli getblock 00000000000000000000611fd22f2df7c8fbd0688745c3a6c3bb5109cc2a12cb
{
"hash": "00000000000000000000611fd22f2df7c8fbd0688745c3a6c3bb5109cc2a12cb",
"confirmations": 181,
"height": 912683,
...
"chainwork": "0000000000000000000000000000000000000000dee8e2a309ad8a9820433c68",
Other chains all increased minimum chainwork as expected.
// Data from RPC: getchaintxstats 4096 00000000000000000000611fd22f2df7c8fbd0688745c3a6c3bb5109cc2a12cb | ||
.nTime = 1756722903, | ||
.tx_count = 1235299397, | ||
.dTxRate = 5.456290459519495, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mainnet matches output from:
₿ bitcoin-cli getchaintxstats 4096 00000000000000000000611fd22f2df7c8fbd0688745c3a6c3bb5109cc2a12cb
Others seem acceptable.
|
||
# Expected block interval. [timedelta] | ||
BLOCK_INTERVAL = timedelta(seconds=600) | ||
|
||
# The number of headers corresponding to the minchainwork parameter. [headers] | ||
MINCHAINWORK_HEADERS = 886157 | ||
MINCHAINWORK_HEADERS = 912683 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MINCHAINWORK_HEADERS
matches assume valid block and HEADER_COMMITMENT_PERIOD
+ REDOWNLOAD_BUFFER_SIZE
are close to numbers predicted for this release in #32579.
@@ -180,6 +180,12 @@ class CMainParams : public CChainParams { | |||
.hash_serialized = AssumeutxoHash{uint256{"dbd190983eaf433ef7c15f78a278ae42c00ef52e0fd2a54953782175fbadcea9"}}, | |||
.m_chain_tx_count = 1145604538, | |||
.blockhash = consteval_ctor(uint256{"000000000000000000010b17283c3c400507969a9c2afd1dcf2082ec5cca2880"}), | |||
}, | |||
{ | |||
.height = 910'000, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mainnet assume UTXO block confirmed:
₿ bitcoin-cli getblock 0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821
{
"hash": "0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821",
"confirmations": 2908,
"height": 910000,
Downloaded torrent as kindly provided by Sjors.
Loaded assume utxo snapshot, saw some odd behavior with validating 2 times and only removing the second chainstate directory after restarting. But snapshot worked.
- Removed blocks/ & chainstate/
- Re-synced headers before stopping node again
- Started node with
-noconnect
bitcoin-cli -rpcclienttimeout=0 loadtxoutset ~/Downloads/utxo-910000.dat
₿ bitcoin-cli getchainstates
{
"headers": 912911,
"chainstates": [
{
"blocks": 2123,
"bestblockhash": "00000000a3099f5f4100c759a09d3ba7001e9075d7997c4e0e76308209dfece8",
"bits": "1d00ffff",
"target": "00000000ffff0000000000000000000000000000000000000000000000000000",
"difficulty": 1,
"verificationprogress": 1.742815384638761e-06,
"coins_db_cache_bytes": 419430,
"coins_tip_cache_bytes": 523763712,
"validated": true
},
{
"blocks": 910000,
"bestblockhash": "0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821",
"bits": "17022cb3",
"target": "000000000000000000022cb30000000000000000000000000000000000000000",
"difficulty": 129435235580344.8,
"verificationprogress": 0.9924388182672436,
"coins_db_cache_bytes": 7969177,
"coins_tip_cache_bytes": 9951510528,
"snapshot_blockhash": "0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821",
"validated": false
}
]
}
- Restarted node without
-noconnect
. - Repeated
bitcoin-cli getchainstates
shows slowly increasing blocks from 910'000 upwards, while the other chainstate is stuck at 2'123 blocks. - Once the assume utxo-based chainstate reaches the tip, the other chainstate starts increasing from 2'123 upwards. (New blocks are still added to the assume utxo-based one).
- Left it running over the night but background sync still took a long while.
2025-09-03T09:35:36Z [warning] Flushing large (5 GiB) UTXO set to disk, it may take several minutes
2025-09-03T09:37:04Z [snapshot] computing UTXO stats for background chainstate to validate snapshot - this could take a few minutes
2025-09-03T09:39:15Z [snapshot] snapshot beginning at 0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821 has been fully validated
2025-09-03T09:39:15Z [snapshot] allocating all cache to the snapshot chainstate
2025-09-03T09:39:15Z Opening LevelDB in /home/hodlinator/.bitcoin/chainstate_snapshot
2025-09-03T09:39:15Z Opened LevelDB successfully
2025-09-03T09:39:15Z Using obfuscation key for /home/hodlinator/.bitcoin/chainstate_snapshot: 7d624d1ee9abfe2b
2025-09-03T09:39:15Z [Chainstate [snapshot] @ height 912993 (000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2)] resized coinsdb cache to 8.0 MiB
2025-09-03T09:39:15Z [Chainstate [snapshot] @ height 912993 (000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2)] resized coinstip cache to 9990.0 MiB
2025-09-03T09:39:15Z [snapshot] re-enabling NODE_NETWORK services
2025-09-03T09:39:15Z [snapshot] restarting indexes
bitcoin-cli getchainstates
now only returns one state, but I still have both on disk:
₿ du -hs /home/hodlinator/.bitcoin/chainstate*
20G /home/hodlinator/.bitcoin/chainstate
12G /home/hodlinator/.bitcoin/chainstate_snapshot
- Restarting the node resulted in recomputing UTXO stats to validate the snapshot a second time(?!), but at least removed one of the chainstate dirs.
2025-09-03T09:43:38Z Assuming ancestors of block 00000000000000000000611fd22f2df7c8fbd0688745c3a6c3bb5109cc2a12cb have valid signatures.
2025-09-03T09:43:38Z Setting nMinimumChainWork=0000000000000000000000000000000000000000dee8e2a309ad8a9820433c68
2025-09-03T09:43:38Z [snapshot] detected active snapshot chainstate (/home/hodlinator/.bitcoin/chainstate_snapshot) - loading
2025-09-03T09:43:38Z [snapshot] switching active chainstate to Chainstate [snapshot] @ height -1 (null)
2025-09-03T09:43:39Z [snapshot] set m_chain_tx_count=1226586151 for 0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821
2025-09-03T09:43:40Z Loading block index db: last block file = 5121
2025-09-03T09:43:40Z Loading block index db: last block file info: CBlockFileInfo(blocks=64, size=98094618, heights=909602...909998, time=2025-08-11...2025-08-14)
2025-09-03T09:43:40Z Checking all blk files are present...
2025-09-03T09:43:42Z Initializing chainstate Chainstate [ibd] @ height -1 (null)
2025-09-03T09:43:42Z Opening LevelDB in /home/hodlinator/.bitcoin/chainstate
2025-09-03T09:43:43Z Opened LevelDB successfully
2025-09-03T09:43:43Z Using obfuscation key for /home/hodlinator/.bitcoin/chainstate: 85bc6cb8217fc36e
2025-09-03T09:43:43Z Loaded best chain: hashBestChain=0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821 height=910000 date=2025-08-14T09:25:55Z progress=0.992203
2025-09-03T09:43:43Z Initializing chainstate Chainstate [snapshot] @ height -1 (null)
2025-09-03T09:43:43Z Opening LevelDB in /home/hodlinator/.bitcoin/chainstate_snapshot
2025-09-03T09:43:43Z Opened LevelDB successfully
2025-09-03T09:43:43Z Using obfuscation key for /home/hodlinator/.bitcoin/chainstate_snapshot: 7d624d1ee9abfe2b
2025-09-03T09:43:43Z Loaded best chain: hashBestChain=000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2 height=912993 date=2025-09-03T09:16:53Z progress=1.000000
2025-09-03T09:43:43Z Leaving InitialBlockDownload (latching to false)
2025-09-03T09:43:43Z Opening LevelDB in /home/hodlinator/.bitcoin/chainstate_snapshot
2025-09-03T09:43:43Z Opened LevelDB successfully
2025-09-03T09:43:43Z Using obfuscation key for /home/hodlinator/.bitcoin/chainstate_snapshot: 7d624d1ee9abfe2b
2025-09-03T09:43:43Z [Chainstate [snapshot] @ height 912993 (000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2)] resized coinsdb cache to 0.4 MiB
2025-09-03T09:43:43Z [Chainstate [snapshot] @ height 912993 (000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2)] resized coinstip cache to 499.5 MiB
2025-09-03T09:43:43Z Opening LevelDB in /home/hodlinator/.bitcoin/chainstate
2025-09-03T09:43:43Z Opened LevelDB successfully
2025-09-03T09:43:43Z Using obfuscation key for /home/hodlinator/.bitcoin/chainstate: 85bc6cb8217fc36e
2025-09-03T09:43:43Z [Chainstate [ibd] @ height 910000 (0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821)] resized coinsdb cache to 7.6 MiB
2025-09-03T09:43:43Z [Chainstate [ibd] @ height 910000 (0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821)] resized coinstip cache to 9490.5 MiB
2025-09-03T09:43:43Z [snapshot] computing UTXO stats for background chainstate to validate snapshot - this could take a few minutes
2025-09-03T09:45:32Z [snapshot] snapshot beginning at 0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821 has been fully validated
2025-09-03T09:45:32Z [snapshot] allocating all cache to the snapshot chainstate
2025-09-03T09:45:32Z Opening LevelDB in /home/hodlinator/.bitcoin/chainstate_snapshot
2025-09-03T09:45:32Z Opened LevelDB successfully
2025-09-03T09:45:32Z Using obfuscation key for /home/hodlinator/.bitcoin/chainstate_snapshot: 7d624d1ee9abfe2b
2025-09-03T09:45:32Z [Chainstate [snapshot] @ height 912993 (000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2)] resized coinsdb cache to 8.0 MiB
2025-09-03T09:45:32Z [Chainstate [snapshot] @ height 912993 (000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2)] resized coinstip cache to 9990.0 MiB
2025-09-03T09:45:32Z [snapshot] cleaning up unneeded background chainstate, then reinitializing
2025-09-03T09:45:32Z [snapshot] deleting background chainstate directory (now unnecessary) (/home/hodlinator/.bitcoin/chainstate)
2025-09-03T09:45:32Z [snapshot] moving snapshot chainstate (/home/hodlinator/.bitcoin/chainstate_snapshot) to default chainstate directory (/home/hodlinator/.bitcoin/chainstate)
2025-09-03T09:45:32Z Removing leveldb dir at /home/hodlinator/.bitcoin/chainstate_todelete
2025-09-03T09:45:34Z [snapshot] deleted background chainstate directory (/home/hodlinator/.bitcoin/chainstate)
2025-09-03T09:45:37Z Loading block index db: last block file = 5121
2025-09-03T09:45:37Z Loading block index db: last block file info: CBlockFileInfo(blocks=64, size=98094618, heights=909602...909998, time=2025-08-11...2025-08-14)
2025-09-03T09:45:37Z Checking all blk files are present...
2025-09-03T09:45:37Z Initializing chainstate Chainstate [ibd] @ height -1 (null)
2025-09-03T09:45:37Z Opening LevelDB in /home/hodlinator/.bitcoin/chainstate
2025-09-03T09:45:37Z Opened LevelDB successfully
2025-09-03T09:45:37Z Using obfuscation key for /home/hodlinator/.bitcoin/chainstate: 7d624d1ee9abfe2b
2025-09-03T09:45:38Z Loaded best chain: hashBestChain=000000000000000000016a9bb5f319ff1902ff927cfd4910ceff07268f197cf2 height=912993 date=2025-09-03T09:16:53Z progress=1.000000
Also adds assumeutxo params for mainnet at
910'000
& testnet4 &90'000
.