lbrycrd/contrib/linearize
Micha 8d174d6b5d
Make several small string fixes in linearize-data.py
- Add a space after the fixed string prepended to file names when input or
  output file changes
- Clarify the error message when the genesis block is not found in the
  hash list (...why do we have this at all?)
2014-12-07 17:55:53 +02:00
..
example-linearize.cfg contrib: make linearize-data.py cope with out-of-order blocks 2014-10-06 18:30:12 +02:00
linearize-data.py Make several small string fixes in linearize-data.py 2014-12-07 17:55:53 +02:00
linearize-hashes.py contrib: use batched JSON-RPC in linarize-hashes 2014-10-06 13:27:13 +02:00
README.md contrib/linearize: Add feature to set file's timestamp based on block header time. 2014-09-04 15:13:37 +02: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_timestamp": Split files when a new month is first seen, in addition to reaching a maximum file size.
  • "file_timestamp": Set each file's last-modified time to that of the most recent block in that file.