Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
23 lines (22 sloc) 860 Bytes
import json
from ethereum.block import BlockHeader
import rlp
try:
data = json.load(open('progress.json'))
blknum = data['blknum']
pos = data['pos']
except:
blknum, pos = 0, 0
f = open('geth-2283415.dump')
outdata = []
while 1:
f.seek(pos)
prefix = f.read(10)
_typ, _len, _pos = rlp.codec.consume_length_prefix(prefix, 0)
blkdata = prefix + f.read(_pos + _len - 10)
header = rlp.decode(rlp.descend(blkdata, 0), BlockHeader)
txcount = len(rlp.decode(rlp.descend(blkdata, 1)))
uncles = [BlockHeader.deserialize(x) for x in rlp.decode(rlp.descend(blkdata, 2))]
outdata.append([header.number, len(uncles), sum([4.375 - 0.625 * (header.number - u.number) for u in uncles]), sum([u.gas_used for u in uncles]), txcount, header.gas_used, _len + _pos, blkdata.count('\x00')])
print outdata[-1]
pos += _pos + _len