diff options
Diffstat (limited to 'doc/release-process.md')
-rw-r--r-- | doc/release-process.md | 42 |
1 files changed, 31 insertions, 11 deletions
diff --git a/doc/release-process.md b/doc/release-process.md index 480b09ee11..2c3c4e3869 100644 --- a/doc/release-process.md +++ b/doc/release-process.md @@ -11,22 +11,12 @@ Release Process ### Before every major and minor release -* Update [bips.md](bips.md) to account for changes since the last release. +* Update [bips.md](bips.md) to account for changes since the last release (don't forget to bump the version number on the first line). * Update version in `configure.ac` (don't forget to set `CLIENT_VERSION_RC` to `0`). * Write release notes (see "Write the release notes" below). -* Update `src/chainparams.cpp` nMinimumChainWork with information from the getblockchaininfo rpc. -* Update `src/chainparams.cpp` defaultAssumeValid with information from the getblockhash rpc. - - 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. ### Before every major release -* 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. -* Update `src/chainparams.cpp` chainTxData with statistics about the transaction count and rate. Use the output of the RPC `getchaintxstats`, see - [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. * On both the master branch and the new release branch: - update `CLIENT_VERSION_MINOR` in [`configure.ac`](../configure.ac) - update `CLIENT_VERSION_MINOR`, `PACKAGE_VERSION`, and `PACKAGE_STRING` in [`build_msvc/bitcoin_config.h`](/build_msvc/bitcoin_config.h) @@ -36,6 +26,16 @@ 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-m_assumed_blockchain_size-and-m_assumed_chain_state_size) for information on how to calculate them). +* Update `src/chainparams.cpp` chainTxData with statistics about the transaction count and rate. Use the output of the RPC `getchaintxstats`, see + [this pull request](https://github.com/bitcoin/bitcoin/pull/17002) 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. +* Update `src/chainparams.cpp` nMinimumChainWork with information from the getblockchaininfo rpc. +* Update `src/chainparams.cpp` defaultAssumeValid with information from the getblockhash rpc. + - 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. - Clear the release notes and move them to the wiki (see "Write the release notes" below). #### After branch-off (on master) @@ -369,3 +369,23 @@ bitcoin.org (see below for bitcoin.org update instructions). - Optionally twitter, reddit /r/Bitcoin, ... but this will usually sort out itself - Celebrate + +### Additional information + +#### How to calculate `m_assumed_blockchain_size` and `m_assumed_chain_state_size` + +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_chain_state_size`: +- For `mainnet` -> Take the size of the `/chainstate` directory. +- For `testnet` -> Take the size of the `/testnet3/chainstate` directory. + +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. |