aboutsummaryrefslogtreecommitdiff
path: root/doc/release-process.md
diff options
context:
space:
mode:
authorlaanwj <126646+laanwj@users.noreply.github.com>2022-05-30 15:44:00 +0200
committerlaanwj <126646+laanwj@users.noreply.github.com>2022-05-30 15:55:12 +0200
commitad9e5eaf77bf7e19a926a43407c88386a8a1e58f (patch)
tree9f68b30be57b92cdd9ee1fcf58ebc24ba5450368 /doc/release-process.md
parent8779adbdda7658d109556d2e3397e59869a4532a (diff)
parent74743ad90590708b46a8bc8cb9cefedb66471306 (diff)
downloadbitcoin-ad9e5eaf77bf7e19a926a43407c88386a8a1e58f.tar.xz
Merge bitcoin/bitcoin#24424: doc: release process chainparams updates
74743ad90590708b46a8bc8cb9cefedb66471306 Clarify in release process how to update defaultAssumeValid/nMinimumChainWork (Jon Atack) 415345d5475854ae34056594ac0bc464d739d3af Release process: use 4096 blocks and getbestblockhash for getchaintxstats (Jon Atack) fe048f7f7cd15597f24ca219a0077c46d088ca30 Specify in release process which chains need to be updated (Jon Atack) 584147682ad670cd3be99006af5d643549bba3bc Reorganize release process chainparams section to reduce repetition (Jon Atack) e8f844888f3663d0cbb8765271d1ee5fea4af579 Clarify release process overhead note to be more actionable (Jon Atack) e538eada7c559362f43051f18d38b3d3c3be2dc8 Release process: exclude huge files for mainnet m_assumed_blockchain_size (laanwj) b4d2d74767ed0441dbc3a789cad2334eaac54290 Release process: specify blockchain/chain_state units, reduce repetition (Jon Atack) 318655c3951d69adfa0aaf9f7b5064172678494f Add missing references to signet in the release process (Jon Atack) Pull request description: 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 ACKs for top commit: laanwj: ACK 74743ad90590708b46a8bc8cb9cefedb66471306 brunoerg: re-ACK 74743ad90590708b46a8bc8cb9cefedb66471306 Tree-SHA512: 7fc092be739f63c5d8404add2dcbcd0c570b680ff0ab36a9b5a774b2e930717beebaa6c867ab6db6795b3c234d9016ab1ae905a78d6ea6610140a59930c43029
Diffstat (limited to 'doc/release-process.md')
-rw-r--r--doc/release-process.md39
1 files changed, 23 insertions, 16 deletions
diff --git a/doc/release-process.md b/doc/release-process.md
index 03cea6f194..17a03f7dcd 100644
--- a/doc/release-process.md
+++ b/doc/release-process.md
@@ -29,14 +29,20 @@ Release Process
#### Before branch-off
* Update hardcoded [seeds](/contrib/seeds/README.md), see [this pull request](https://github.com/bitcoin/bitcoin/pull/7415) for an example.
-* 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-assumed-blockchain-and-chain-state-size) for information on how to calculate them).
-* Update [`src/chainparams.cpp`](/src/chainparams.cpp) chainTxData with statistics about the transaction count and rate. Use the output of the `getchaintxstats` RPC, see
- [this pull request](https://github.com/bitcoin/bitcoin/pull/20263) for an example. Reviewers can verify the results by running `getchaintxstats <window_block_count> <window_final_block_hash>` with the `window_block_count` and `window_final_block_hash` from your output.
-* Update `src/chainparams.cpp` nMinimumChainWork and defaultAssumeValid (and the block height comment) with information from the `getblockheader` (and `getblockhash`) RPCs.
- - The selected value must not be orphaned so it may be useful to set the value two blocks back from the tip.
- - Testnet should be set some tens of thousands back from the tip due to reorgs there.
- - This update should be reviewed with a reindex-chainstate with assumevalid=0 to catch any defect
- that causes rejection of blocks in the past history.
+* 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.
+ - `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
+ `getchaintxstats <window_block_count> <window_final_block_hash>` with the `window_block_count` and `window_final_block_hash` from your output.
+ - `defaultAssumeValid` with the output of RPC `getblockhash` using the `height` of `window_final_block_height` above
+ (and update the block height comment with that height), taking into account the following:
+ - On mainnet, the selected value must not be orphaned, so it may be useful to set the height two blocks back from the tip.
+ - Testnet should be set with a height some tens of thousands back from the tip, due to reorgs there.
+ - `nMinimumChainWork` with the "chainwork" value of RPC `getblockheader` using the same height as that selected for the previous step.
- Clear the release notes and move them to the wiki (see "Write the release notes" below).
- Translations on Transifex:
- Pull translations from Transifex into the master branch.
@@ -303,15 +309,16 @@ cat "$VERSION"/*/all.SHA256SUMS.asc > SHA256SUMS.asc
Both variables are used as a guideline for how much space the user needs on their drive in total, not just strictly for the blockchain.
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`:
-- For `mainnet` -> Take the size of the data directory, excluding `/regtest` and `/testnet3` directories.
-- For `testnet` -> Take the size of the `/testnet3` directory.
+To calculate `m_assumed_blockchain_size`, take the size in GiB of these directories:
+- 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`:
-- For `mainnet` -> Take the size of the `/chainstate` directory.
-- For `testnet` -> Take the size of the `/testnet3/chainstate` directory.
+To calculate `m_assumed_chain_state_size`, take the size in GiB of these directories:
+- For `mainnet` -> `/chainstate`
+- For `testnet` -> `/testnet3/chainstate`
+- For `signet` -> `/signet/chainstate`
Notes:
- When taking the size for `m_assumed_blockchain_size`, there's no need to exclude the `/chainstate` directory since it's a guideline value and an overhead will be added anyway.
-- The expected overhead for growth may change over time, so it may not be the same value as last release; pay attention to that when changing the variables.
+- The expected overhead for growth may change over time. Consider whether the percentage needs to be changed in response; if so, update it here in this section.