kernel: chainparams & headersync updates for 30.0 #33274

pull fanquake wants to merge 6 commits into bitcoin:master from fanquake:chainparams_30 changing 3 files +46 −35
  1. fanquake commented at 1:31 PM on September 1, 2025: member

    Also adds assumeutxo params for mainnet at 910'000 & testnet4 & 90'000.

  2. fanquake added this to the milestone 30.0 on Sep 1, 2025
  3. DrahtBot added the label Validation on Sep 1, 2025
  4. DrahtBot commented at 1:31 PM on September 1, 2025: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33274.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK Sjors, w0xlt, achow101, hodlinator

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #32579 (headerssync: Preempt unrealistic unit test behavior by hodlinator)
    • #32427 ((RFC) kernel: Replace leveldb-based BlockTreeDB with flat-file based store by TheCharlatan)
    • #31974 (Drop testnet3 by Sjors)
    • #26201 (Remove Taproot activation height by Sjors)

    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.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  5. in src/kernel/chainparams.cpp:185 in 2cc7d58560 outdated
     179 | @@ -180,6 +180,12 @@ class CMainParams : public CChainParams {
     180 |                  .hash_serialized = AssumeutxoHash{uint256{"dbd190983eaf433ef7c15f78a278ae42c00ef52e0fd2a54953782175fbadcea9"}},
     181 |                  .m_chain_tx_count = 1145604538,
     182 |                  .blockhash = consteval_ctor(uint256{"000000000000000000010b17283c3c400507969a9c2afd1dcf2082ec5cca2880"}),
     183 | +            },
     184 | +            {
     185 | +                .height = 910'000,
    


    Sjors commented at 2:17 PM on September 1, 2025:

    2cc7d585600e8f0760f877fecf4e7eaf9c5dc92b: 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.


    hodlinator commented at 10:01 AM on September 3, 2025:

    Mainnet assume UTXO block confirmed:

    â‚¿ bitcoin-cli getblock 0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821
    {
      "hash": "0000000000000000000108970acb9522ffd516eae17acddcb1bd16469194a821",
      "confirmations": 2908,
      "height": 910000,
    

    Downloaded torrent as kindly provided by Sjors.

    <details><summary>Loaded assume utxo snapshot, saw some odd behavior with validating 2 times and only removing the second chainstate directory after restarting. But snapshot worked.</summary>

    • 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
    

    </details>

  6. in src/kernel/chainparams.cpp:383 in 01fbbc5b7e outdated
     378 | @@ -379,7 +379,12 @@ class CTestNet4Params : public CChainParams {
     379 |          m_is_mockable_chain = false;
     380 |  
     381 |          m_assumeutxo_data = {
     382 | -            {}
     383 | +            {
     384 | +                .height = 90'000,
    


    Sjors commented at 3:07 PM on September 1, 2025:

    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


    hodlinator commented at 9:25 AM on September 3, 2025:

    Unlike the mainnet one, this one will not download for me. :\


    Sjors commented at 10:21 AM on September 3, 2025:

    Try again, I should have a reachable seed for the next few hours.


    hodlinator commented at 11:15 AM on September 3, 2025:

    Could be a case of the worst selection highlight UI ever. <img width="626" height="255" alt="Screenshot From 2025-09-03 12-50-23" src="https://github.com/user-attachments/assets/9f5e5b6e-5253-4424-9227-0b3c57a0b31e" /> I have the file.

    (My client claims the port is open (probably thanks to my router reset), so I'm not intentionally leeching, just low demand).


    hodlinator commented at 11:33 AM on September 3, 2025:
    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 (review)):

    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)
    
  7. in src/kernel/chainparams.cpp:242 in cf7cb09f85 outdated
     231 | @@ -232,8 +232,8 @@ class CTestNetParams : public CChainParams {
     232 |          consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].threshold = 1512; // 75%
     233 |          consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].period = 2016;
     234 |  
     235 | -        consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000015f5e0c9f13455b0eb17"};
     236 | -        consensus.defaultAssumeValid = uint256{"00000000000003fc7967410ba2d0a8a8d50daedc318d43e8baf1a9782c236a57"}; // 3974606
     237 | +        consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000016dd270dd94fac1d7632"};
     238 | +        consensus.defaultAssumeValid = uint256{"0000000000000065c6c38258e201971a3fdfcc2ceee0dd6e85a6c022d45dee34"}; // 4550000
    


    Sjors commented at 3:34 PM on September 1, 2025:

    Ceterum censeo #31974 :-)

  8. Sjors commented at 5:18 PM on September 1, 2025: member

    ACK 01fbbc5b7ea02c98f54255b8dba342a065edb9f7

    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 -assumevalid=0 (also using a loaded snapshot), will update here in the unlikely event that it fails.

  9. in src/kernel/chainparams.cpp:244 in daf3ff6872 outdated
     240 | @@ -241,7 +241,7 @@ class CTestNetParams : public CChainParams {
     241 |          pchMessageStart[3] = 0x07;
     242 |          nDefaultPort = 18333;
     243 |          nPruneAfterHeight = 1000;
     244 | -        m_assumed_blockchain_size = 200;
     245 | +        m_assumed_blockchain_size = 215;
    


    achow101 commented at 10:06 PM on September 1, 2025:

    Seems low, would expect 244.

    $ du -csh --apparent-size testnet3/chainstate/ testnet3/blocks/
    16G	testnet3/chainstate/
    205G	testnet3/blocks/
    221G	total
    

    Sjors commented at 6:49 AM on September 2, 2025:

    For a node that's been offline for a year or so and then caught up yesterday:

    16G	testnet3/chainstate/
    195G	testnet3/blocks/
    210G	total
    

    fanquake commented at 10:58 AM on September 2, 2025:
     du -csh testnet3/chainstate/ testnet3/blocks/
     16G	testnet3/chainstate/
    194G	testnet3/blocks/
    210G	total
    

    Can increase to 240.

  10. in src/kernel/chainparams.cpp:340 in daf3ff6872 outdated
     337 | @@ -338,7 +338,7 @@ class CTestNet4Params : public CChainParams {
     338 |          nDefaultPort = 48333;
     339 |          nPruneAfterHeight = 1000;
     340 |          m_assumed_blockchain_size = 11;
    


    achow101 commented at 10:07 PM on September 1, 2025:

    I think testnet4 blockchain size is bigger

    du -csh --apparent-size testnet4/chainstate/ testnet4/blocks/
    928M	testnet4/chainstate/
    20G	testnet4/blocks/
    20G	total
    

    Sjors commented at 6:50 AM on September 2, 2025:

    Testnet4 node that's been online a couple of times, but not continuously:

    938M	testnet4/chainstate/
    8,1G	testnet4/blocks/
    9,0G	total
    

    Sjors commented at 6:51 AM on September 2, 2025:

    And one that I spun up in June and his been online since:

    915M	testnet4/chainstate/
    20G	testnet4/blocks/
    21G	total
    

    The difference probably comes from the vast number of stale blocks.


    fanquake commented at 10:54 AM on September 2, 2025:

    I think testnet4 blockchain size is bigger

    Not here:

    du -csh testnet4/chainstate/ testnet4/blocks/
    945M	testnet4/chainstate/
    8.0G	testnet4/blocks/
    8.9G	total
    

    Will increase to 22 in any case.

  11. in src/kernel/chainparams.cpp:407 in daf3ff6872 outdated
     403 | @@ -404,8 +404,8 @@ class SigNetParams : public CChainParams {
     404 |  
     405 |              consensus.nMinimumChainWork = uint256{"000000000000000000000000000000000000000000000000000002b517f3d1a1"};
     406 |              consensus.defaultAssumeValid = uint256{"000000895a110f46e59eb82bbc5bfb67fa314656009c295509c21b4999f5180a"}; // 237722
     407 | -            m_assumed_blockchain_size = 9;
     408 | -            m_assumed_chain_state_size = 1;
     409 | +            m_assumed_blockchain_size = 17;
    


    achow101 commented at 10:09 PM on September 1, 2025:

    Seems low, would expect 20.

    du -csh --apparent-size signet/chainstate/ signet/blocks/
    2.8G	signet/chainstate/
    15G	signet/blocks/
    18G	total
    

    Sjors commented at 7:16 AM on September 2, 2025:

    Intermittently online node (though that shouldn't make a difference on this signet):

    2,8G	signet/chainstate/
    15G	signet/blocks/
    18G	total
    

    fanquake commented at 10:54 AM on September 2, 2025:

    Bumped to 20.

  12. kernel: update assumed blockchain & chainstate sizes b4adae76d4
  13. kernel: update assumevalid and minimumChainWork c3cb26e028
  14. kernel: update chainTxData 66fb962426
  15. kernel: update headersync params 943de66b50
  16. kernel: add mainnet assumeutxo param at height 910'000 a6512686e3
  17. kernel: add testnet4 assumeutxo param at height 90'000 755152ac81
  18. fanquake force-pushed on Sep 2, 2025
  19. Sjors commented at 11:58 AM on September 2, 2025: member

    re-ACK 755152ac819a23acf2f9e70316134d74a04d589b

  20. achow101 commented at 5:32 PM on September 2, 2025: member

    ACK 755152ac819a23acf2f9e70316134d74a04d589b

  21. in src/kernel/chainparams.cpp:135 in b4adae76d4 outdated
     131 | @@ -132,7 +132,7 @@ class CMainParams : public CChainParams {
     132 |          pchMessageStart[3] = 0xd9;
     133 |          nDefaultPort = 8333;
     134 |          nPruneAfterHeight = 100000;
     135 | -        m_assumed_blockchain_size = 720;
     136 | +        m_assumed_blockchain_size = 810;
    


    hodlinator commented at 9:58 AM on September 3, 2025:

    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.

  22. in src/kernel/chainparams.cpp:122 in c3cb26e028 outdated
     117 | @@ -118,8 +118,8 @@ class CMainParams : public CChainParams {
     118 |          consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].threshold = 1815; // 90%
     119 |          consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].period = 2016;
     120 |  
     121 | -        consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000b1f3b93b65b16d035a82be84"};
     122 | -        consensus.defaultAssumeValid = uint256{"00000000000000000001b658dd1120e82e66d2790811f89ede9742ada3ed6d77"}; // 886157
     123 | +        consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000dee8e2a309ad8a9820433c68"};
     124 | +        consensus.defaultAssumeValid = uint256{"00000000000000000000611fd22f2df7c8fbd0688745c3a6c3bb5109cc2a12cb"}; // 912683
    


    hodlinator commented at 9:59 AM on September 3, 2025:

    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.

  23. in src/kernel/chainparams.cpp:190 in 66fb962426 outdated
     189 | -            .tx_count = 1161875261,
     190 | -            .dTxRate  = 4.620728156243148,
     191 | +            // Data from RPC: getchaintxstats 4096 00000000000000000000611fd22f2df7c8fbd0688745c3a6c3bb5109cc2a12cb
     192 | +            .nTime    = 1756722903,
     193 | +            .tx_count = 1235299397,
     194 | +            .dTxRate  = 5.456290459519495,
    


    hodlinator commented at 9:59 AM on September 3, 2025:

    Mainnet matches output from:

    â‚¿ bitcoin-cli getchaintxstats 4096 00000000000000000000611fd22f2df7c8fbd0688745c3a6c3bb5109cc2a12cb
    

    Others seem acceptable.

  24. in contrib/devtools/headerssync-params.py:21 in 943de66b50 outdated
      18 |  # Expected block interval. [timedelta]
      19 |  BLOCK_INTERVAL = timedelta(seconds=600)
      20 |  
      21 |  # The number of headers corresponding to the minchainwork parameter. [headers]
      22 | -MINCHAINWORK_HEADERS = 886157
      23 | +MINCHAINWORK_HEADERS = 912683
    


    hodlinator commented at 10:00 AM on September 3, 2025:

    MINCHAINWORK_HEADERS matches assume valid block and HEADER_COMMITMENT_PERIOD + REDOWNLOAD_BUFFER_SIZE are close to numbers predicted for this release in #32579.

  25. hodlinator approved
  26. hodlinator commented at 10:02 AM on September 3, 2025: contributor

    ACK 755152ac819a23acf2f9e70316134d74a04d589b

  27. fanquake merged this on Sep 3, 2025
  28. fanquake closed this on Sep 3, 2025

  29. fanquake deleted the branch on Sep 3, 2025
  30. luke-jr referenced this in commit 137d3f9031 on Sep 3, 2025
  31. luke-jr referenced this in commit cb074d52a8 on Sep 3, 2025
  32. luke-jr referenced this in commit 818a2f87f0 on Sep 3, 2025
  33. luke-jr referenced this in commit b73fe786a1 on Sep 3, 2025
  34. luke-jr referenced this in commit 470a110142 on Sep 3, 2025
  35. luke-jr referenced this in commit 80f8f9a38b on Sep 3, 2025
  36. in src/kernel/chainparams.cpp:338 in 755152ac81
     333 | @@ -328,17 +334,17 @@ class CTestNet4Params : public CChainParams {
     334 |          consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].threshold = 1512; // 75%
     335 |          consensus.vDeployments[Consensus::DEPLOYMENT_TAPROOT].period = 2016;
     336 |  
     337 | -        consensus.nMinimumChainWork = uint256{"0000000000000000000000000000000000000000000001d6dce8651b6094e4c1"};
     338 | -        consensus.defaultAssumeValid = uint256{"0000000000003ed4f08dbdf6f7d6b271a6bcffce25675cb40aa9fa43179a89f3"}; // 72600
     339 | +        consensus.nMinimumChainWork = uint256{"00000000000000000000000000000000000000000000034a4690fe592dc49c7c"};
     340 | +        consensus.defaultAssumeValid = uint256{"000000000000000180a58e7fa3b0db84b5ea76377524894f53660d93ac839d9b"}; // 91000
    


    darosior commented at 6:46 PM on September 3, 2025:

    7 weeks ago :grimacing: just in case, heh?

  37. darosior commented at 7:03 PM on September 3, 2025: member

    -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512

    ACK 755152ac819a23acf2f9e70316134d74a04d589b. Verified assumevalid, chainwork and stats for mainnet, testnet4 and signet. Verified the serialized utxo set hash for mainnet. Haven't verified header params. Haven't verified for testnet3. -----BEGIN PGP SIGNATURE-----

    iQGzBAEBCgAdFiEEWQtykmla/6W2csuy4T/BRc0/QwQFAmi4kLsACgkQ4T/BRc0/ QwRjPQwArKJge7cs43ejKvvxbtsNtjDfc97jj1CnDtIEJuzKzglFzbdNh0/RY9ef eAWh04+HhUv2FgNbCIL7PnWLletazPlW0GhTroRqhQsgU/r9pT5f06MkjetjWcW1 AoECEpwM8QItyZ0L/8PcPKr4qBdFiOZdkEuhHbRQC3clpPruUokSRXgnU9ISDV3z W1uVt8ToDjDIBDqKBFK1Ne/cReLNpNIcnU0a6y57EsBaQGGP2+5QGVjGFHCNuovB EQ07DfnTfdbhuf01OQlqNtmiaF/jzrRFEmowNqXtEWByQGehW8nmdO5D+oXNeeEW XRpPPuJkzV0O8bk1aIQmnWyNBa0qPj1aY4WMVlEsYkcq2/OrjxFwejMYTC+/DgtQ upGDZ8g5I4rg+FkxWcQz316DoxItupDxP2hE3El3o85pxgdFiQsjOG0mw5N5gELs P55FDxgIEBqB9c9s+EV18mS2LibsRDCy23E4fO6U9dTedfYlTKA/M9vVWYo9GO8S gqRaXTgj =cNGu -----END PGP SIGNATURE-----


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-02 15:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me