annotate tests/implementation_testing.py @ 23:32061555853c

refactor code
author Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
date Sun, 14 Nov 2021 17:35:18 +0100
parents tests/test_app.py@905b6fdc5e1b
children 139c77ea99b7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
1 import os
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
2 from bitcaviar_plus.block import deserialize_block
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
3 from bitcaviar_plus.errors import InvalidMagicBytes
23
32061555853c refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
4 import plyvel
19
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
5
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
6
23
32061555853c refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
7 # noinspection PyUnresolvedReferences
19
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
8 def parse_genesis_block():
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
9 blk_path = '/bitcoin-node/.bitcoin/blocks/blk00355.dat'
23
32061555853c refactor code
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 19
diff changeset
10 db = plyvel.DB('/bitcoin-node/.bitcoin/blocks/index/', create_if_missing=False)
19
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
11
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
12 with open(blk_path, 'rb') as f:
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
13 file_size = os.path.getsize(blk_path)
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
14 while f.tell() < file_size:
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
15 try:
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
16 block = deserialize_block(f)
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
17 except InvalidMagicBytes as e:
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
18 print(e)
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
19
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
20
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
21 if __name__ == '__main__':
905b6fdc5e1b handle invalid magic bytes
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
22 parse_genesis_block()