Skip to content

Conversation

@jonatack
Copy link
Member

@jonatack jonatack commented Feb 22, 2022

Release process updates, fixes and clarifications regarding updating the chainparams:

  • add missing references to signet
  • specify specify blockchain/chainstate units, reduce repetition
  • exclude huge files for m_assumed_blockchain_size on mainnet
  • rewrite overhead note to be more actionable
  • reorganize the chainparams section to reduce repetition
  • specify which chains need to be updated
  • use 4096 blocks and getbestblockhash for getchaintxstats
  • clarify how to update defaultAssumeValid and nMinimumChainWork

@DrahtBot DrahtBot added the Docs label Feb 23, 2022
@jonatack jonatack force-pushed the release-process-chainparams-updates branch from 7e0d5ca to 2016c20 Compare February 23, 2022 20:55
@jonatack
Copy link
Member Author

jonatack commented Feb 23, 2022

Updated per @laanwj feedback (good ideas, thanks). Edit: repushed with a couple edits after re-review.

@jonatack jonatack force-pushed the release-process-chainparams-updates branch from 2016c20 to bba0655 Compare February 24, 2022 12:10
Copy link

@ghost ghost left a comment

Choose a reason for hiding this comment

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

ACK bba0655

Updates improve documentation and I could not find any issues.

@laanwj
Copy link
Member

laanwj commented Feb 24, 2022

Other things to add maybe:

@Sjors
Copy link
Member

Sjors commented Feb 24, 2022

It might also be worth writing a script to fetch these values based on a given height, both for reviewers and the maintainer.

@fanquake
Copy link
Member

Some of the commits here can be dropped. i.e 4b5b011c1d0eba8a432e067c28278f22c18689ff adds a number of for mainnet, testnet, and signet, but then they are just deleted in 5099f23b7b29e869af463fa53a3442be011bf039.

@jonatack
Copy link
Member Author

jonatack commented Feb 25, 2022

Some of the commits here can be dropped. i.e 4b5b011c1d0eba8a432e067c28278f22c18689ff adds a number of for mainnet, testnet, and signet, but then they are just deleted in 5099f23b7b29e869af463fa53a3442be011bf039.

Yes, the commit specifying the chains can be moved after the reorganization to reduce the diff. I'm reworking to incorporate the latest feedback here and the other items I've noticed. Edit: moved after.

@laanwj
Copy link
Member

laanwj commented Feb 28, 2022

It might also be worth writing a script to fetch these values based on a given height, both for reviewers and the maintainer.

Yes, automation would be even better. There's quite some scope for reducing human error-proneness and pitfalls here. That said, documenting what we really want to be done is the first step.

@jonatack jonatack force-pushed the release-process-chainparams-updates branch from bba0655 to 9560757 Compare February 28, 2022 16:53
@jonatack
Copy link
Member Author

jonatack commented Feb 28, 2022

Other things to add maybe:

* Use 4096 blocks for `getchaintxstats` [Chainparams update for 23.x #24418 (comment)](https://github.com/bitcoin/bitcoin/pull/24418#discussion_r812988911)

* Try to use the same block for `getchaintxstats` and `getblockheader` (e.g. for the chainTxData and nMinimumChainWork/defaultAssumeValid steps) [Chainparams update for 23.x #24418 (comment)](https://github.com/bitcoin/bitcoin/pull/24418#discussion_r813919147)

Thanks, I've attempted to address these along with other how-to clarifications. I wasn't sure about #24418 (comment), though.

Copy link

@ghost ghost left a comment

Choose a reason for hiding this comment

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

reACK 9560757

@laanwj
Copy link
Member

laanwj commented Apr 19, 2022

ACK 9560757adc90938b54148e3921aacfaa4aa51be6
modulo signet question

Copy link
Contributor

@brunoerg brunoerg left a comment

Choose a reason for hiding this comment

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

ACK 9560757adc90938b54148e3921aacfaa4aa51be6

@jonatack jonatack force-pushed the release-process-chainparams-updates branch from 9560757 to 74743ad Compare April 19, 2022 18:46
@jonatack
Copy link
Member Author

jonatack commented Apr 19, 2022

Thanks for reviewing! Addressed @laanwj's feedback, fixed an indentation, and reordered the directories to exclude in the m_assumed_blockchain_size mainnet calculation from large to small instead of alphabetical/small to large.

git diff 9560757 74743ad

--- a/doc/release-process.md
+++ b/doc/release-process.md
@@ -31,8 +31,8 @@ Release Process
 * Update the following variables in [`src/chainparams.cpp`](/src/chainparams.cpp) for mainnet, testnet, and signet:
   - `m_assumed_blockchain_size` and `m_assumed_chain_state_size` with the current size plus some overhead (see
     [this](#how-to-calculate-assumed-blockchain-and-chain-state-size) for information on how to calculate them).
-    - The following updates should be reviewed with `reindex-chainstate` and `assumevalid=0` to catch any defect
-      that causes rejection of blocks in the past history.
+  - The following updates should be reviewed with `reindex-chainstate` and `assumevalid=0` to catch any defect
+    that causes rejection of blocks in the past history.
   - `chainTxData` with statistics about the transaction count and rate. Use the output of the `getchaintxstats` RPC with an
     `nBlocks` of 4096 (28 days) and a `bestblockhash` of RPC `getbestblockhash`; see
     [this pull request](https://github.com/bitcoin/bitcoin/pull/20263) for an example. Reviewers can verify the results by running
@@ -307,8 +307,9 @@ Both variables are used as a guideline for how much space the user needs on thei
 Note that all values should be taken from a **fully synced** node and have an overhead of 5-10% added on top of its base value.
 
 To calculate `m_assumed_blockchain_size`, take the size in GiB of these directories:
-- For `mainnet` -> the data directory, excluding the `/regtest`, `/signet`, and `/testnet3` directories and any overly large files, e.g. a huge `debug.log`
+- For `mainnet` -> the data directory, excluding the `/testnet3`, `/signet`, and `/regtest` directories and any overly large files, e.g. a huge `debug.log`
 - For `testnet` -> `/testnet3`
+- For `signet` -> `/signet`
 
 To calculate `m_assumed_chain_state_size`, take the size in GiB of these directories:
 - For `mainnet` -> `/chainstate`

Copy link
Contributor

@brunoerg brunoerg left a comment

Choose a reason for hiding this comment

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

re-ACK 74743ad

@theStack
Copy link
Contributor

Concept ACK

@laanwj
Copy link
Member

laanwj commented May 30, 2022

ACK 74743ad

@laanwj laanwj merged commit ad9e5ea into bitcoin:master May 30, 2022
@jonatack jonatack deleted the release-process-chainparams-updates branch May 30, 2022 13:56
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request May 30, 2022
@bitcoin bitcoin locked and limited conversation to collaborators May 30, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants