Skip to content

kernel: Chainparams and headerssync updates pre-31.0#34677

Merged
fanquake merged 5 commits intobitcoin:masterfrom
achow101:31-chainparams
Mar 8, 2026
Merged

kernel: Chainparams and headerssync updates pre-31.0#34677
fanquake merged 5 commits intobitcoin:masterfrom
achow101:31-chainparams

Conversation

@achow101
Copy link
Member

@achow101 achow101 commented Feb 26, 2026

Update chainparams and headerssync params per the release process.

Also added new assumeutxo snapshots for each network. I've uploaded snapshots to https://achow101.com/files/utxo-snapshots/

@achow101 achow101 changed the title kernel: Chainparams and headerssync updates kernel: Chainparams and headerssync updates pre-31.0 Feb 26, 2026
@achow101 achow101 added this to the 31.0 milestone Feb 26, 2026
@DrahtBot
Copy link
Contributor

DrahtBot commented Feb 26, 2026

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

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK janb84, Sjors, sipa, jaonoctus, fjahr

If your review is incorrectly listed, please copy-paste <!--meta-tag:bot-skip--> into the comment that the bot should ignore.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #26201 (Remove Taproot BIP 9 deployment 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.

LLM Linter (✨ experimental)

Possible places where named args for integral literals may be used (e.g. func(x, /*named_arg=*/0) in C++, and func(x, named_arg=0) in Python):

  • [datetime(2028, 10, 10)] in contrib/devtools/headerssync-params.py

2026-02-26 07:23:28

Copy link
Contributor

@janb84 janb84 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 44538f8

Checked some hashes with block heights /chainwork / getchaintxstats, all match (for mainnet. testnets checked only public information)

Mainnet:
https://mempool.space/block/00000000000000000000ccebd6d74d9194d8dcdc1d177c478e094bfad51ba5ac => 938'343

MinimumChainwork matches:

Details
bitcoin-cli getblockheader 00000000000000000000ccebd6d74d9194d8dcdc1d177c478e094bfad51ba5ac
{
  "hash": "00000000000000000000ccebd6d74d9194d8dcdc1d177c478e094bfad51ba5ac",
  "height": 938343,
[...]
  **"chainwork": "0000000000000000000000000000000000000001128750f82f4c366153a3a030"**,
}

https://mempool.space/block/0000000000000000000147034958af1652b2b91bba607beacc5e72a56f0fb5ee = > 935'000

getchaintxstats match ;

Details
bitcoin-cli getchaintxstats 4096 00000000000000000000ccebd6d74d9194d8dcdc1d177c478e094bfad51ba5ac
{
  "time": 1772055173,
  "txcount": 1315805869,
  "window_final_block_hash": "00000000000000000000ccebd6d74d9194d8dcdc1d177c478e094bfad51ba5ac",
  "window_final_block_height": 938343,
  "window_block_count": 4096,
  "window_interval": 2346169,
  "window_tx_count": 12671917,
  "txrate": 5.40111006496122
}

Testnet 3

https://mempool.space/testnet/block/000000007a61e4230b28ac5cb6b5e5a0130de37ac1faf2f8987d2fa6505b67f4 => 4'842'348

https://mempool.space/testnet/block/00000000000000f4971a7fb37fbdff89315b69a2e1920c467654a382f0d64786 => 4'840'000

Testnet 4

https://mempool.space/testnet4/block/0000000002368b1e4ee27e2e85676ae6f9f9e69579b29093e9a82c170bf7cf8a => 123'613

https://mempool.space/testnet4/block/000000000bd2317e51b3c5794981c35ba894ce27d3e772d5c39ecd9cbce01dc8 => 120'000

Signet

https://mempool.space/signet/block/00000008414aab61092ef93f1aacc54cf9e9f16af29ddad493b908a01ff5c329 => 293'175

https://mempool.space/signet/block/0000000577f2741bb30cd9d39d6d71b023afbeb9764f6260786a97969d5c9ac0 => 290'000

jaonoctus

This comment was marked as outdated.

Copy link

@jaonoctus jaonoctus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've validated the new chainparams and headerssync against my own nodes. I'll be hosting the new torrent snapshot files at https://bitcoin-snapshots.jaonoctus.dev once this PR is merged.

mainnet

  • m_assumeutxo_data @ 935'000
  • chainTxData @ 935'000
  • consensus.nMinimumChainWork @ 938'343
  • consensus.defaultAssumeValid @ 938'343
magnet:?xt=urn:btih:3492d082655d173d3459f7a5e454f3dd4ed0101b&dn=utxo-935000.dat&tr=udp%3A%2F%2Ftracker.bitcoin.sprovoost.nl%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce
  • sha256: e572ddbe456d254f05fb004cebe225bdb3656074b66f0e9b1c7fa83e1301d486
Details
$ sha256sum utxo-935000.dat
e572ddbe456d254f05fb004cebe225bdb3656074b66f0e9b1c7fa83e1301d486
$ bitcoin-cli getblockhash 935000
0000000000000000000147034958af1652b2b91bba607beacc5e72a56f0fb5ee

$ bitcoin-cli getblockhash 938343
00000000000000000000ccebd6d74d9194d8dcdc1d177c478e094bfad51ba5ac
# tip: 935'000
$ bitcoin-cli gettxoutsetinfo hash_serialized_3
{
  "height": 935000,
  "bestblock": "0000000000000000000147034958af1652b2b91bba607beacc5e72a56f0fb5ee",
  "txouts": 164241311,
  "bogosize": 12870854130,
  "hash_serialized_3": "e4b90ef9eae834f56c4b64d2d50143cee10ad87994c614d7d04125e2a6025050",
  "total_amount": 19984148.03206779,
  "transactions": 113879165,
  "disk_size": 13290295029
}
# tip: 935'000
$ bitcoin-cli getchaintxstats 4096
{
  "time": 1770215102,
  "txcount": 1305397408,
  "window_final_block_hash": "0000000000000000000147034958af1652b2b91bba607beacc5e72a56f0fb5ee",
  "window_final_block_height": 935000,
  "window_block_count": 4096,
  "window_interval": 2660438,
  "window_tx_count": 11723636,
  "txrate": 4.406656347563822
}
# tip: 938'343
$ bitcoin-cli getchaintxstats 4096
{
  "time": 1772055173,
  "txcount": 1315805869,
  "window_final_block_hash": "00000000000000000000ccebd6d74d9194d8dcdc1d177c478e094bfad51ba5ac",
  "window_final_block_height": 938343,
  "window_block_count": 4096,
  "window_interval": 2346169,
  "window_tx_count": 12671917,
  "txrate": 5.40111006496122
}
$ bitcoin-cli getblockheader 00000000000000000000ccebd6d74d9194d8dcdc1d177c478e094bfad51ba5ac
{
  "hash": "00000000000000000000ccebd6d74d9194d8dcdc1d177c478e094bfad51ba5ac",
  "confirmations": 1,
  "height": 938343,
  "version": 671891456,
  "versionHex": "280c4000",
  "merkleroot": "1bd0deca15c01a0b62b9f56b5310004d41678c8be829b2ec5fc93ff3a8041c00",
  "time": 1772055173,
  "mediantime": 1772052403,
  "nonce": 3140788553,
  "bits": "1701f303",
  "target": "00000000000000000001f3030000000000000000000000000000000000000000",
  "difficulty": 144398401518100.9,
  "chainwork": "0000000000000000000000000000000000000001128750f82f4c366153a3a030",
  "nTx": 3963,
  "previousblockhash": "00000000000000000000bf88bc08552c46937df889b9e0cfe1141da456923b3c"
}

testnet4

  • m_assumeutxo_data @ 120'000
  • chainTxData @ 120'000
  • consensus.nMinimumChainWork @ 123'613
  • consensus.defaultAssumeValid @ 123'613
magnet:?xt=urn:btih:25733a7e451ca435f2901921b805c167f560424d&dn=utxo-testnet4-120000.dat&tr=udp%3A%2F%2Ftracker.bitcoin.sprovoost.nl%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce
  • sha256: 093b44c537d207d7daf3367b00e7c71323d0163b7ae3d73f76ea05479a945f9c
Details
$ bitcoin-cli getblockhash 120000
000000000bd2317e51b3c5794981c35ba894ce27d3e772d5c39ecd9cbce01dc8

$ bitcoin-cli getblockhash 123613
0000000002368b1e4ee27e2e85676ae6f9f9e69579b29093e9a82c170bf7cf8a
# tip: 120'000
$ bitcoin-cli gettxoutsetinfo hash_serialized_3
{
  "height": 120000,
  "bestblock": "000000000bd2317e51b3c5794981c35ba894ce27d3e772d5c39ecd9cbce01dc8",
  "txouts": 13870119,
  "bogosize": 1142705000,
  "hash_serialized_3": "10b05d05ad468d0971162e1b222a4aa66caca89da2bb2a93f8f37fb29c4794b0",
  "total_amount": 5999799.97251533,
  "transactions": 9181935,
  "disk_size": 1023009172
}
# tip: 120'000
$ bitcoin-cli getchaintxstats 4096
{
  "time": 1769234583,
  "txcount": 14141057,
  "window_final_block_hash": "000000000bd2317e51b3c5794981c35ba894ce27d3e772d5c39ecd9cbce01dc8",
  "window_final_block_height": 120000,
  "window_block_count": 4096,
  "window_interval": 2168096,
  "window_tx_count": 56313,
  "txrate": 0.02597348087907547
}
# tip: 123'613
$ bitcoin-cli getchaintxstats 4096
{
  "time": 1772013387,
  "txcount": 14191421,
  "window_final_block_hash": "0000000002368b1e4ee27e2e85676ae6f9f9e69579b29093e9a82c170bf7cf8a",
  "window_final_block_height": 123613,
  "window_block_count": 4096,
  "window_interval": 2993163,
  "window_tx_count": 55331,
  "txrate": 0.01848579579528412
}
$ bitcoin-cli getblockheader 0000000002368b1e4ee27e2e85676ae6f9f9e69579b29093e9a82c170bf7cf8a
{
  "hash": "0000000002368b1e4ee27e2e85676ae6f9f9e69579b29093e9a82c170bf7cf8a",
  "confirmations": 9,
  "height": 123613,
  "version": 1073733632,
  "versionHex": "3fffe000",
  "merkleroot": "0e9f83f33fc7913d7c088411675c5fc8f22fc9f796d6afde7a1b1938da4242e6",
  "time": 1772013387,
  "mediantime": 1772007382,
  "nonce": 2783855826,
  "bits": "1d00ffff",
  "target": "00000000ffff0000000000000000000000000000000000000000000000000000",
  "difficulty": 1,
  "chainwork": "0000000000000000000000000000000000000000000009a0fe15d0177d086304",
  "nTx": 1,
  "previousblockhash": "0000000009feb85d0c1076552f914835055a86032fdbcce1c821b5a624acfa00",
  "nextblockhash": "0000000007f977533c5fa7d5de287be9d3b30f63dfbf4e17648f6e5d0a4e907c"
}

testnet3

  • m_assumeutxo_data @ 4'840'000
  • chainTxData @ 4'840'000
  • consensus.nMinimumChainWork @ 4'842'348
  • consensus.defaultAssumeValid @ 4'842'348
magnet:?xt=urn:btih:dfe62321ec8e9538a47e4f019d34a88510eaa751&dn=utxo-testnet-4840000.dat&tr=udp%3A%2F%2Ftracker.bitcoin.sprovoost.nl%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce
  • sha256: eacaf9f1cdf6ddcc182ca255ffa3c423b592aede0abdbb4504079df586a22981
Details
$ bitcoin-cli getblockhash 4840000
00000000000000f4971a7fb37fbdff89315b69a2e1920c467654a382f0d64786

$ bitcoin-cli getblockhash 4842348
000000007a61e4230b28ac5cb6b5e5a0130de37ac1faf2f8987d2fa6505b67f4
# tip: 4'840'000
$ bitcoin-cli gettxoutsetinfo hash_serialized_3
{
  "height": 4840000,
  "bestblock": "00000000000000f4971a7fb37fbdff89315b69a2e1920c467654a382f0d64786",
  "txouts": 235037810,
  "bogosize": 18882533444,
  "hash_serialized_3": "ce6bb677bb2ee9789c4a1c9d73e6683c53fc20e8fdbedbdaaf468982a0c8db2a",
  "total_amount": 20999097.89823624,
  "transactions": 151886949,
  "disk_size": 16634570050
}
# tip: 4'840'000
$ bitcoin-cli getchaintxstats 4096
{
  "time": 1770358647,
  "txcount": 536078574,
  "window_final_block_hash": "00000000000000f4971a7fb37fbdff89315b69a2e1920c467654a382f0d64786",
  "window_final_block_height": 4840000,
  "window_block_count": 4096,
  "window_interval": 1276608,
  "window_tx_count": 62368,
  "txrate": 0.04885446433047576
}
# tip: 4'842'348
$ bitcoin-cli getchaintxstats 4096
{
  "time": 1772051651,
  "txcount": 536108416,
  "window_final_block_hash": "000000007a61e4230b28ac5cb6b5e5a0130de37ac1faf2f8987d2fa6505b67f4",
  "window_final_block_height": 4842348,
  "window_block_count": 4096,
  "window_interval": 2328088,
  "window_tx_count": 62660,
  "txrate": 0.02691479016257117
}
$ bitcoin-cli getblockheader 000000007a61e4230b28ac5cb6b5e5a0130de37ac1faf2f8987d2fa6505b67f4
{
  "hash": "000000007a61e4230b28ac5cb6b5e5a0130de37ac1faf2f8987d2fa6505b67f4",
  "confirmations": 1,
  "height": 4842348,
  "version": 536870912,
  "versionHex": "20000000",
  "merkleroot": "6c3083cb05ca4798dd4fb9343cf544a20e8172035b8645ad946195c4e0e91a68",
  "time": 1772051651,
  "mediantime": 1772045594,
  "nonce": 1509827168,
  "bits": "1d00ffff",
  "target": "00000000ffff0000000000000000000000000000000000000000000000000000",
  "difficulty": 1,
  "chainwork": "0000000000000000000000000000000000000000000017dde1c649f3708d14b6",
  "nTx": 17,
  "previousblockhash": "0000000032167e59d45f0861dc426ec95b6d5850e69121bde56ae6eb25eebd8a"
}

signet

  • m_assumeutxo_data @ 290'000
  • chainTxData @ 290'000
  • consensus.nMinimumChainWork @ 293'175
  • consensus.defaultAssumeValid @ 29'3175
magnet:?xt=urn:btih:304c3ee0ac2ce34ba64173b50d1950976544e8a3&dn=utxo-signet-290000.dat&tr=udp%3A%2F%2Ftracker.bitcoin.sprovoost.nl%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce
  • sha256: 12d1b3f1e3488ddea251b8222e4ecf8552de2aa73c9fe05f94a08a1eb5eba367
Details
$ bitcoin-cli getblockhash 290000
0000000577f2741bb30cd9d39d6d71b023afbeb9764f6260786a97969d5c9ac0

$ bitcoin-cli getblockhash 293175
00000008414aab61092ef93f1aacc54cf9e9f16af29ddad493b908a01ff5c329
# tip: 290'000
$ bitcoin-cli gettxoutsetinfo hash_serialized_3
{
  "height": 290000,
  "bestblock": "0000000577f2741bb30cd9d39d6d71b023afbeb9764f6260786a97969d5c9ac0",
  "txouts": 59319793,
  "bogosize": 4753561406,
  "hash_serialized_3": "97267e000b4b876800167e71b9123f1529d13b14308abec2888bbd2160d14545",
  "total_amount": 12499727.17741007,
  "transactions": 11145919,
  "disk_size": 3498668523
}
# tip: 290'000
$ bitcoin-cli getchaintxstats 4096
{
  "time": 1770163902,
  "txcount": 28547497,
  "window_final_block_hash": "0000000577f2741bb30cd9d39d6d71b023afbeb9764f6260786a97969d5c9ac0",
  "window_final_block_height": 290000,
  "window_block_count": 4096,
  "window_interval": 2459211,
  "window_tx_count": 158216,
  "txrate": 0.06433608177582159
}
# tip: 293'175
$ bitcoin-cli getchaintxstats 4096
{
  "time": 1772055248,
  "txcount": 28676833,
  "window_final_block_hash": "00000008414aab61092ef93f1aacc54cf9e9f16af29ddad493b908a01ff5c329",
  "window_final_block_height": 293175,
  "window_block_count": 4096,
  "window_interval": 2435790,
  "window_tx_count": 164090,
  "txrate": 0.06736623436338929
}
$ bitcoin-cli getblockheader 0000000002368b1e4ee27e2e85676ae6f9f9e69579b29093e9a82c170bf7cf8a
{
  "hash": "00000008414aab61092ef93f1aacc54cf9e9f16af29ddad493b908a01ff5c329",
  "confirmations": 1,
  "height": 293175,
  "version": 536870912,
  "versionHex": "20000000",
  "merkleroot": "664431bfbd5f0d84be6a71b5f19f936d6ecb6e3cfbbe315212b6eedc927408c6",
  "time": 1772055248,
  "mediantime": 1772050304,
  "nonce": 36906233,
  "bits": "1d150eea",
  "target": "000000150eea0000000000000000000000000000000000000000000000000000",
  "difficulty": 0.0474865840527392,
  "chainwork": "00000000000000000000000000000000000000000000000000000b463ea0a4b8",
  "nTx": 109,
  "previousblockhash": "0000000e14aa494dc78672c43bf4095b3360a597ded2fcb985ccd67aa76b0d7e"
}

@Sjors
Copy link
Member

Sjors commented Mar 3, 2026

ACK 44538f8

signed
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

ACK 44538f8ada868cb73ffa7a4bfb5267046d3f6b85

I didn't do a full resync though.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE7ZvfetalXiMuhFJCV/+b28wwEAkFAmmnITcACgkQV/+b28ww
EAkQrg/+LtAPghtieJQJNpY8ZVqNRbavdfDuXWR2WT15l6nIXBWHscHutJKYgalR
TZvPMUMxsmsXBcw/x6pR5enu1bZJNV7K7w5Q0BqP8ecdYI+6sYdo72tM6+7CASwI
hADDkoPfSpBWPkPpdfl22os8WhLldEWKezfZBHsGIv6IIm75bcOQnksHqSX2xNeq
lv820j9Jr7yhUp7VsPX/gABK6SwXjBiD+SyfQ/ODw3Hsf6B5pnZhfh9VpGQJrKKu
vwuaJynmKjtzdcOIl2Nie+Ru/BvlQNwIvKqJcs1U8kYofBw0tcOYX/pWnSqjV/i+
55DjSq5XSK8/qKPvsx+9X1ckmmGFju1cAjgUU9dpjG2eK3aYy0RLDx+em5NqRVvy
L1P8uG6gfrIQFtB0nsza+mzuRujwKSm9b10g0sr850SovTgMlY+kustd7C8b+FPH
80bTyWsxNgZNwvEfFlPgwfA9Xeb2Q16mwplWI5uLn4lEClwgAYShLx/RHd3f4iUI
LsCnTz0clny8aBPV4wPOvObdbXgE4b3JuI0uW+kZwgkIVoBWRtPRc1t/1d8sq4e8
+5pWZ8IV9RD4gJio40av3SuQKpmtsqpgZGutmH+7VfiSPXvrVA1Rsakt8YgRWv9t
qcbdj07An+W/oOIXetRMPl750+FQ8RFA3GvarNH/tD1FHcoYMxI=
=WzpI
-----END PGP SIGNATURE-----

@DrahtBot DrahtBot requested a review from jaonoctus March 3, 2026 17:58
Copy link
Member

@sipa sipa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 44538f8. I re-did all the mainnet parameters, but did not look closely at the other networks.

Copy link

@jaonoctus jaonoctus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fjahr
Copy link
Contributor

fjahr commented Mar 6, 2026

ACK 44538f8

I have re-done the mainnet, testnet4 and signet params.

@fanquake fanquake merged commit d198635 into bitcoin:master Mar 8, 2026
26 checks passed
@Sjors Sjors mentioned this pull request Mar 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants