Browse Source

Even more details about checkpoints

abortrescan
Duke Leto 2 years ago
parent
commit
6845ec2087
  1. 10
      doc/release-process.md

10
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

Loading…
Cancel
Save