dash/contrib/linearize
Jeff Garzik 75400a2a41 contrib/linearize: Guarantee that output is generated in-order
This was typically ensured implicitly by virtue of normal bitcoind
operation.  Adding an explicit check provides a stronger guarantee, and
it is cheap to add.
2014-08-24 01:18:24 -04:00
..
example-linearize.cfg contrib/linearize: split output files based on new-timestamp-year or max-file-size 2014-08-23 22:59:16 -04:00
linearize-data.py contrib/linearize: Guarantee that output is generated in-order 2014-08-24 01:18:24 -04:00
linearize-hashes.py Update linearize scripts. 2014-08-23 21:46:12 -04:00
README.md contrib/linearize: split output files based on new-timestamp-year or max-file-size 2014-08-23 22:59:16 -04:00

Linearize

Construct a linear, no-fork, best version of the blockchain.

Step 1: Download hash list

$ ./linearize-hashes.py linearize.cfg > hashlist.txt

Required configuration file settings for linearize-hashes:

  • RPC: rpcuser, rpcpassword

Optional config file setting for linearize-hashes:

  • RPC: host, port
  • Block chain: min_height, max_height

Step 2: Copy local block data

$ ./linearize-data.py linearize.cfg

Required configuration file settings:

  • "input": bitcoind blocks/ directory containing blkNNNNN.dat
  • "hashlist": text file containing list of block hashes, linearized-hashes.py output.
  • "output_file": bootstrap.dat or
  • "output": output directory for linearized blocks/blkNNNNN.dat output

Optional config file setting for linearize-data:

  • "netmagic": network magic number
  • "max_out_sz": maximum output file size (default 100010001000)
  • "split_year": Split files when a new year is first seen, in addition to reaching a maximum file size.