diff options
author | Pieter Wuille <pieter@wuille.net> | 2022-08-31 18:44:38 -0400 |
---|---|---|
committer | Pieter Wuille <pieter@wuille.net> | 2023-09-28 12:11:30 -0400 |
commit | 3d420d8f28f2d351abf8b0afe90848110e15d50c (patch) | |
tree | 4dfafb110b6dcb6d1f63f3f942e52dc90e658065 /doc | |
parent | 53d7d35b5899685cd1577156250068e0cab502f4 (diff) |
Add instructions for headerssync-params.py to release-process.md
Diffstat (limited to 'doc')
-rw-r--r-- | doc/release-process.md | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/doc/release-process.md b/doc/release-process.md index bdef57243b..468efeb7e1 100644 --- a/doc/release-process.md +++ b/doc/release-process.md @@ -43,6 +43,14 @@ Release Process - 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. +* Consider updating the headers synchronization tuning parameters to account for the chainparams updates. + The optimal values change very slowly, so this isn't strictly necessary every release, but doing so doesn't hurt. + - Update configuration variables in [`contrib/devtools/headerssync-params.py`](contrib/devtools/headerssync-params.py): + - Set `TIME` to the software's expected supported lifetime -- after this time, its ability to defend against a high bandwidth timewarp attacker will begin to degrade. + - Set `MINCHAINWORK_HEADERS` to the height used for the `nMinimumChainWork` calculation above. + - Check that the other variables still look reasonable. + - Run the script. It works fine in CPython, but PyPy is much faster (seconds instead of minutes): `pypy3 contrib/devtools/headerssync-params.py`. + - Paste the output defining `HEADER_COMMITMENT_PERIOD` and `REDOWNLOAD_BUFFER_SIZE` into the top of [`src/headerssync.cpp`](/src/headerssync.cpp). - 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. |