This is a command line utility that scans the entire blockchain, up to the best block syncd by dcrd, to extract basic data from each block.
You just need to specify the user, password, host:port, and (optionally) the RPC TLS certificate if using a TLS connection to dcrd.
./scanblocks -user dcrduser -pass dcrdpass
The argument -notls
is true by default, but if you set it to false, it is
required to specify the RPC cert for dcrd with -cert
. I strongly suggest to
run dcrd with --notls
when using scanblocks
for performance reasons.
There is no config file. Options must be specified on the command line.
The output is a JSON file called "fullscan.json" that contains an array of JSON objects of the form:
{
"height": 7235,
"size": 2234,
"hash": "000000000000029f185cc6863a45319b9abcf379f858494c0fa5de401dcba3c0",
"diff": 283465.55356867,
"sdiff": 10.48011259,
"time": 1457034473,
"ticket_pool": {
"size": 41290,
"value": 115413.70819395,
"valavg": 2.7951975828033424
}
}
NOTE: This is likely to change in the future.
There is a covenience script calle jsonarray2csv.sh that may be used to convert JSON data into a csv file.
First, scanblocks
gathers basic data, not including ticket pool values, in a
quick scan. Next, it creates a temporary stake database, which allows to query
the live tickets at any given height. Then the value of each live ticket in the
pool is collected, cached, and used to compute the total ticket pool value and
average live ticket value. Finally, the data is encoded in JSON and stored to
the file system.
ISC License
Copyright (c) 2017, Jonathan Chappelow
See LICENSE file in this repository for details.