As every year, reviewers get extra point when their node is running:
assumevalid=0checkpoints=0- on non-x86_64 hardware
See https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-every-major-and-minor-release for the process.
As every year, reviewers get extra point when their node is running:
assumevalid=0checkpoints=0See https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-every-major-and-minor-release for the process.
154 | @@ -155,10 +155,10 @@ class CMainParams : public CChainParams { 155 | }; 156 | 157 | chainTxData = ChainTxData{ 158 | - // Data from rpc: getchaintxstats 4096 0000000000000000000f1c54590ee18d15ec70e68c8cd4cfbadb1b4f11697eee 159 | - /* nTime */ 1550374134, 160 | - /* nTxCount */ 383732546, 161 | - /* dTxRate */ 3.685496590998308 162 | + // Data from RPC: getchaintxstats 4096 00000000000000000007b083989b3d5a937c8a6d3b633130b678fb4780643811
Why are we no longer using the same block for the getchaintxstats call?
I would also prefer using the same block.
25 | @@ -26,7 +26,7 @@ Release Process 26 | * Update hardcoded [seeds](/contrib/seeds/README.md), see [this pull request](https://github.com/bitcoin/bitcoin/pull/7415) for an example. 27 | * Update [`src/chainparams.cpp`](/src/chainparams.cpp) m_assumed_blockchain_size and m_assumed_chain_state_size with the current size plus some overhead (see [this](#how-to-calculate-m_assumed_blockchain_size-and-m_assumed_chain_state_size) for information on how to calculate them). 28 | * Update `src/chainparams.cpp` chainTxData with statistics about the transaction count and rate. Use the output of the RPC `getchaintxstats`, see 29 | - [this pull request](https://github.com/bitcoin/bitcoin/pull/12270) for an example. Reviewers can verify the results by running `getchaintxstats <window_block_count> <window_last_block_hash>` with the `window_block_count` and `window_last_block_hash` from your output.
Did you mean to remove the instruction?
ACK fa3a7331160d1a460b1c15fca1810e98070d629c
Checked on ARM32 (with assumevalid and checkpoints enabled, unfortunately)
{
"time": 1569926786,
"txcount": 460596047,
…
"txrate": 3.77848885073875
}
getblockchaininfo w/ mainnet mMinimumChainWork, work is clearly ahead{
"chainwork": "000000000000000000000000000000000000000008ea99c8688b9290267a49f8",
}
consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000008ea3cf107ae0dec57f03fe8");
cli getblockhash 597379
00000000000000000005f8920febd3925f8272a6a71237563d78c2edfdd09ddf
consensus.defaultAssumeValid = uint256S("0x00000000000000000005f8920febd3925f8272a6a71237563d78c2edfdd09ddf"); // 597379
Block 597379 is 8 blocks back at this time. It should be deep enough by the time 0.19.0 is actually released,
ACK fa3a7331160d1a460b1c15fca1810e98070d629c - checked the mainnet values. I have notes on reviewing assumevalid updates in core-review.
src/bitcoin-cli getchaintxstats 4096 00000000000000000005f8920febd3925f8272a6a71237563d78c2edfdd09ddf
{
"time": 1569926786,
"txcount": 460596047,
"window_final_block_hash": "00000000000000000005f8920febd3925f8272a6a71237563d78c2edfdd09ddf",
"window_final_block_height": 597379,
"window_block_count": 4096,
"window_tx_count": 8610103,
"window_interval": 2278716,
"txrate": 3.77848885073875
}
src/bitcoin-cli getblock 00000000000000000005f8920febd3925f8272a6a71237563d78c2edfdd09ddf
{
"hash": "00000000000000000005f8920febd3925f8272a6a71237563d78c2edfdd09ddf",
"confirmations": 8,
"strippedsize": 925201,
"size": 1217775,
"weight": 3993378,
"height": 597379,
"version": 536870912,
"versionHex": "20000000",
"merkleroot": "e92ac24aaef4aa1ece52cc41e975bfc83cb1f1fe93923bdb7a6bff824c50b084",
"tx": [ <snip> ],
"time": 1569926786,
"mediantime": 1569922918,
"nonce": 919954964,
"bits": "17160f24",
"difficulty": 12759819404408.79,
"chainwork": "000000000000000000000000000000000000000008ea3cf107ae0dec57f03fe8",
"nTx": 2590,
"previousblockhash": "00000000000000000002fc5679f64f7fe636318ade80bb75f4978d0c75658eb0",
"nextblockhash": "000000000000000000061b82466f5aef92d169f044f2ac38660ab402fe9d1de4"
<details><summary>Show signature</summary>
Signature:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
ACK fa3a7331160d1a460b1c15fca1810e98070d629c
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEz7FuIclQ9n+pXlWPLuufXMCVJsEFAl2TRq0ACgkQLuufXMCV
JsHeXBAAl1ZSNIXMxWLrXYrvCChAqQ0TBtKUvZw9VaOwG+Xrr0EI70/w+CbC/hO2
I84n5EcpMO49r9C1SuooUf/c0TG4ezN+LS8ggDMfgfFVaaGMgSDNMsCbEsoyrbpH
jCBJAEBKN1Cnr2DJAeQwV+VEbQUIc7zVsE2MTKTK4eZypRgLFV1oUyc3XehvR1oT
H7YD0JTcjGNlCuN4f965jTu5+NJmqwORKmXgQwnxmD+QOEHRXOv+ZecYzinoHZxY
bqzLBSetntqiJz+qwhlNK3m7Y+K+ZxezXhStDIVmzr6oxEvrfNB9BOJnGvO2OEQy
/dxJg8y/GNBdxD6IYv5SYVAS1dOv7XrjRW77iL9q1oAeWQDCz8/dRjMxBN3hn30n
+LnW2lqVUZ8V9UuOpGDVj69AD7Gi30nw0xTcUcYJeiyws7GwyDGzWrBs6QjvlIWU
mQpJrYswpeyOV0RkU/odwkJMDY4nfxgx40nTeoAucau199EojCEGmxo1Y9bJxAsX
E7YTxOq/RS+9i7VsSA1GHZZMeD/irU8FOx4hvqZh7X2s0MINpauloILcQxx5u7/P
yKp8oYgiQoY0dadSS8nDsZmXqbZXllED3osk6Jv3DO1OaIRchkGAw4bnCEHGqQ+k
HxOx4f6kXkstdNiZWtH/MftVlyGDLQ62c4vdb2UFk+KEDtPCez0=
=RKLU
-----END PGP SIGNATURE-----
</details>
Would be nice to get an ACK on the datadir size and maybe one ACK for testnet as well.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
ACK fa3a7331160d1a460b1c15fca1810e98070d629c for mainnet on macOS 10.14.6.
bitcoin-cli getchaintxstats 4096 00000000000000000005f8920febd3925f8272a6a71237563d78c2edfdd09ddf
{
"time": 1569926786,
"txcount": 460596047,
"window_final_block_hash": "00000000000000000005f8920febd3925f8272a6a71237563d78c2edfdd09ddf",
"window_final_block_height": 597379,
"window_block_count": 4096,
"window_tx_count": 8610103,
"window_interval": 2278716,
"txrate": 3.77848885073875
}
bitcoin-cli getblockheader 00000000000000000005f8920febd3925f8272a6a71237563d78c2edfdd09ddf{
"mediantime": 1569922918,
"chainwork": "000000000000000000000000000000000000000008ea3cf107ae0dec57f03fe8",
}
du -sh *
257G blocks
3,5G chainstate
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEE7ZvfetalXiMuhFJCV/+b28wwEAkFAl2TVu4ACgkQV/+b28ww
EAl06A/8CGlB5cQ1AYGReWEVMAZAyw8JmMoVXbsRKfQ47R9FVaU6+/81tAKO9Rwj
HVt6cbr2H9gv6WB4mIMrwCOymqxOmpu2UNoYMQhBAXBJfqe8bessEMyWvlHb0OUm
/xKJWi1XH9Gv7CmnZ5eP1Bu189jxfFGc2qWBdwYX31PiKzjtHA42zSD6zBIMILEJ
bKfTqMMqDA057Vqz/4i6hfFyKyjqxbIXNeZU0+R/cRfOSpa5NOzqMBwas5sIWOqP
zsmScUmQ5DrsH5Bl8WeEM26XqPXIJvke957UlOktbTXm4G5vKdfA0RlL1hkh3IPr
OnejUyksdHeKhJjGVkr0Y7RUADVTlyFPmNiW048chxk20XuTm3zRxRLUchs+Rf9Y
R8AwacLprjprZiRzPdQcovSbni5hIyuAaHjoJJ8TfQy1+ZfJRqVG+653U6yc6Wp+
IwYEgrR7zABNm8Rwv6vn3wcrMJzxbMiQ8KzTt3yfl6eXOgKlHlsw9rdJbC8eYdJC
16tR+QItczEwRvHNcpUDzTQznj8Z/O/z418Rv9j3lV4L992t1h4GYrj7Ltg0rYyJ
3iNtQ5R0CkQYC3eomsBnsGI/XyyHtNVKDhGvIfuNK9HsqXkKRBQWCaxqQuVG9+Ha
6KA2hYd9WF9sKaaNEERPLDaILHKUmcSk6deW8WBYuJwWPeW5/1U=
=GsQC
-----END PGP SIGNATURE-----
I didn't run IBD from scratch on macOS. I just spun up an Orange Pi for armv7 for bonus points, but that'll take a while.
ACK https://github.com/bitcoin/bitcoin/pull/17002/commits/fa3a7331160d1a460b1c15fca1810e98070d629c
Verifying new mainnet assumevalid value (00000000000000000005f8920febd3925f8272a6a71237563d78c2edfdd09ddf):
$ cli getblock 00000000000000000005f8920febd3925f8272a6a71237563d78c2edfdd09ddf
{
"hash": "00000000000000000005f8920febd3925f8272a6a71237563d78c2edfdd09ddf",
"confirmations": 22,
"strippedsize": 925201,
"size": 1217775,
"weight": 3993378,
"height": 597379,
"version": 536870912,
"versionHex": "20000000",
"merkleroot": "e92ac24aaef4aa1ece52cc41e975bfc83cb1f1fe93923bdb7a6bff824c50b084",
"tx": [
...
],
"time": 1569926786,
"mediantime": 1569922918,
"nonce": 919954964,
"bits": "17160f24",
"difficulty": 12759819404408.79,
"chainwork": "000000000000000000000000000000000000000008ea3cf107ae0dec57f03fe8",
"nTx": 2590,
"previousblockhash": "00000000000000000002fc5679f64f7fe636318ade80bb75f4978d0c75658eb0",
"nextblockhash": "000000000000000000061b82466f5aef92d169f044f2ac38660ab402fe9d1de4"
}
Verifying new mainnet chainTxData value:
$ cli getchaintxstats 4096 00000000000000000005f8920febd3925f8272a6a71237563d78c2edfdd09ddf
{
"time": 1569926786,
"txcount": 460596047,
...
"txrate": 3.77848885073875
}
And new mainnet *_size values:
$ du -hs /data2/bitcoin/blocks
258G /data2/bitcoin/blocks
$ du -hs /data2/bitcoin/chainstate
3.5G /data2/bitcoin/chainstate
From a very uncool x86_64 machine synced with a very uncool default configuration.
<details><summary>GPG sig with <a href="https://pgp.mit.edu/pks/lookup?search=james+o%27beirne&op=index">2E57129ED7995442</a></summary>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
ACK fa3a7331160d1a460b1c15fca1810e98070d629c
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEpf/JC3iVbeGYUl47LlcSnteZVEIFAl2TZLIACgkQLlcSnteZ
VEIwtw//chR3R59fjRtAituWcwyzfiT99dZ0gDeOuWvRFD5kOUMC5x2xXEgI3NCz
JPtsG36j8N7Pjl/7HotC0901OWw5Afg65sCdrDr06LGoWbYGfcffmAWXzSd3QBJc
73sHNa0vklx8gDzYYrF8tzCPPm6EHKUPGH9CGcYQo5wikPSATPvWzuVDjaLQK21z
s1Wa+3qc4LJK8N0TfddY99TeeS3GVjvhgA9nTPB7pYI99lumYGqpAvTDhY6FhE2d
NGwt5qfCXvIbWE1SWI6waS59LjiYy2QvYwdh8dcEySTjEfb+EQ9Y3zpjTpIL3Gwf
IgJm12TeOiAF3/24yBMP6we1MZmjJtNYg5G9C6LXDnVFzWfczXjKNhpAEyfd33ai
OvuM8xz5Q/w5wCnjz9TQC9x4/vswy/jDoqu3kgQlwyYCq2vYlf6nTDU6xm7trD5x
QovcmuIcage+4phUIHZE2UZNYvKN9s1r0GiO0dYa1SuFwHhm/xHFgkTGNcGopYlr
TfNIS/9b21xDTCLDqul/rOItvENExViCqT8Wq8WjMuQwgJ0VZXUScG9DZO4wr5C2
mioNE5qd0yNozGHF0ipqEhxQG2OBAuE67cQcDBpmyUevH5Fb0dY/TTjAwKvEfF/E
M/rKY58nurcaiQFOCejVtgKcKd2GZ65AcuE7jUlg+O84JsHM6/0=
=6poa
-----END PGP SIGNATURE-----
</details>
testnet3, anyone?
Chainwork doesn't match for me with testnet3.
$ bitcoin-cli -testnet getchaintxstats 4096 00000000000000b7ab6ce61eb6d571003fbe5fe892da4c9b740c49a07542462d
{
"time": 1569741320,
"txcount": 52318009,
"window_final_block_hash": "00000000000000b7ab6ce61eb6d571003fbe5fe892da4c9b740c49a07542462d",
"window_final_block_height": 1580000,
"window_block_count": 4096,
"window_tx_count": 443460,
"window_interval": 2923265,
"txrate": 0.1517002392872353
}
$ bitcoin-cli -testnet getblockheader 00000000000000b7ab6ce61eb6d571003fbe5fe892da4c9b740c49a07542462d
{
"chainwork": "00000000000000000000000000000000000000000000012b233ad65161453b4e",
}
du -hs *
30G blocks
1,2G chainstate
The chainwork is for the best block (not for a past block). The total work can never decrease, but a specific block might be reorged out on testnet
So you could check that the chainwork I put in is more than the chainwork of the assumed valid testnet block, but also not more than the chainwork of your current testnet chain tip.
0x00000000000000000000000000000000000000000000012b2a... < 0x00000000000000000000000000000000000000000000012b3a... and close enough, so ACK. Though it's easier to check this if you do use the same block.
so ACK. Though it's easier to check this if you do use the same block.
Makes sense as this is only for testnet, so the exact value doesn't matter a lot anyway.
My 32 bit ARM Orange Pi Ubuntu Bionic with Armbian Linux 4.19.62-sunxi just succesfully reached block 597380; only took two weeks and a bunch of handholding. I used assumevalid=0 and checkpoints=0. I get the same results as in my macOS ACK.
Milestone
0.19.0