From 91310cf78a2f295dd642445d15d4de598766bf86 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Mon, 30 Sep 2019 14:40:13 +0200 Subject: [PATCH] Merge #15459: doc: add how to calculate blockchain and chainstate size variables to release process eb4c43e49f625895670866b89bb56ca641c4eeb7 doc: documents how to calculate m_assumed_blockchain_size and m_assumed_chain_state_size on the release process. (marcoagner) Pull request description: Regarding [this](https://github.com/bitcoin/bitcoin/pull/15183#issuecomment-463133734) on https://github.com/bitcoin/bitcoin/pull/15183. Added an "Additional information" section for this which seems reasonable to me but may not be the best place for this. Also, let me know if anything else should be documented here (like more details). ACKs for top commit: laanwj: ACK eb4c43e49f625895670866b89bb56ca641c4eeb7 Tree-SHA512: 7e6fc46740daa01dd9be5a8da7846e7a9f7fa866bf31fdc2cb252f90c698cfd6ef954f9588f7abcebda2355ec2b2a380635e14a164e53e77d38abefa3e2cc698 --- doc/release-process.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/doc/release-process.md b/doc/release-process.md index 3bb9014fbf..0b206fcfd5 100644 --- a/doc/release-process.md +++ b/doc/release-process.md @@ -21,7 +21,7 @@ Before every minor and major release: Before every major release: * Update hardcoded [seeds](/contrib/seeds/README.md). TODO: Give example PR for Dash -* 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`](/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/12270) for an example. Reviewers can verify the results by running `getchaintxstats ` with the `window_block_count` and `window_last_block_hash` from your output. * Update version of `contrib/gitian-descriptors/*.yml`: usually one'd want to do this on master after branching off the release - but be sure to at least do it before a new major release @@ -276,3 +276,23 @@ Note: check that SHA256SUMS itself doesn't end up in SHA256SUMS, which is a spur - Create a [new GitHub release](https://github.com/dashpay/dash/releases/new) with a link to the archived release notes. - 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 Dash Core 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.