diff --git a/doc/release-process.md b/doc/release-process.md index 7f57e3ad8..b1176508f 100644 --- a/doc/release-process.md +++ b/doc/release-process.md @@ -68,12 +68,18 @@ Install deps on Linux: - PROTIP: Man page creation must be done after updating the version number and recompiling and before Debian package creation - Update checkpoints in src/chainparams.cpp via util/checkpoints.pl - hushd must be running to run this script, since it uses hush-cli to get the data - - Run `./util/checkpoints.pl &> checkpoints.txt` to generate the latets checkpoint data + - Look for line which says "END HUSH mainnet checkpoint data" near line 560 in chainparams.cpp , that is where checkpoint data ends + - Find the highest block height of data, let's call it HEIGHT + - Run `./util/checkpoints.pl 1000 HEIGHT &> checkpoints.txt` to generate the latest checkpoint data + - To copy the new data from checkpoints.txt into the file, one way in Vim is to type ":r checkpoints.txt" which will read in a file and paste it as the current cursor + - You will see 3 lines of "stats" at the end of the output, you just pasted in the newest stats. Delete the old stats that should be the 3 lines under the current stats + - The script generates a comment "Generated at ...", that should be moved to the very beginning of the checkpoint data + - Make sure the new code compiles, commit and push + - Run `./util/checkpoints.pl help` to see some basic help - By default it will generate checkpoints for every 1000 blocks, the "stride" - You can get a different "stride" by passing it in as the first arg to the script - To get checkpoint data for every 5000 blocks: `./util/checkpoints.pl 5000 &> checkpoints.txt` - Currently checkpoints from before block 340k are given for every 5k blocks to keep the data smaller - - Look for line which says "HUSH mainnet checkpoint data" near line 560 in chainparams.cpp , that is where checkpoint data begins. - checkpoints.pl will just generate the data you need, it must be manually copied into the correct place - Checkpoints are a list of block heights and block hashes that tell a full node the correct block history of the blockchain - Checkpoints make block verification a bit faster, because nodes can say "is this block a descendant of a checkpoint block?" instead of doing full consensus checks, which take more time