Mercurial > public > bitcaviar-plus
changeset 10:6e9f420c117e
refactor code
author | Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com> |
---|---|
date | Tue, 26 Oct 2021 08:56:59 +0200 |
parents | e218f70e19e9 |
children | 4987a219a704 |
files | pyproject.toml requirements.txt src/puppy/block.py src/puppy/helpers.py |
diffstat | 4 files changed, 18 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/pyproject.toml Sun Oct 24 21:00:49 2021 +0200 +++ b/pyproject.toml Tue Oct 26 08:56:59 2021 +0200 @@ -1,6 +1,7 @@ [build-system] requires = [ "setuptools>=42", - "wheel" + "wheel", + "testfixtures~=6.18.3" ] build-backend = "setuptools.build_meta" \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/requirements.txt Tue Oct 26 08:56:59 2021 +0200 @@ -0,0 +1,1 @@ +testfixtures~=6.18.3 \ No newline at end of file
--- a/src/puppy/block.py Sun Oct 24 21:00:49 2021 +0200 +++ b/src/puppy/block.py Tue Oct 26 08:56:59 2021 +0200 @@ -1,6 +1,6 @@ from puppy.block_structure import * -from puppy.helpers import get_var_int -from puppy.helpers import compute_hash +from puppy.helpers import __get_var_int +from puppy.helpers import __compute_hash """ Deserialize methods @@ -17,12 +17,12 @@ block = Block() block.magic_number = f.read(4).hex() block.size = f.read(4)[::-1].hex() - block_header, block.id = deserialize_header(f) - block.transaction_count = get_var_int(f) + block_header, block.id = __deserialize_header(f) + block.transaction_count = __get_var_int(f) transactions = [] for transaction_number in range(int(block.transaction_count, 16)): - transactions.append(deserialize_transaction_data(f)) + transactions.append(__deserialize_transaction_data(f)) block_dict = block.__dict__ block_dict['header'] = block_header @@ -31,7 +31,7 @@ return block_dict -def deserialize_header(f): +def __deserialize_header(f): """ Deserialize block header More info: https://learnmeabitcoin.com/technical/block-header @@ -42,7 +42,7 @@ # Compute block hash before = f.tell() header = f.read(80) - block_hash = compute_hash(header) + block_hash = __compute_hash(header) f.seek(before) header = Header() @@ -56,7 +56,7 @@ return header.__dict__, block_hash -def deserialize_transaction_data(f): +def __deserialize_transaction_data(f): """ Deserialize transaction data More info: https://learnmeabitcoin.com/technical/transaction-data @@ -67,25 +67,25 @@ transaction = Transaction() start_transaction_data = f.tell() transaction.version = f.read(4)[::-1].hex() - transaction.input_count = get_var_int(f) + transaction.input_count = __get_var_int(f) transaction_inputs = [] for input_number in range(int(transaction.input_count, 16)): transaction_input = TransactionInput() transaction_input.id = f.read(32)[::-1].hex() transaction_input.vout = f.read(4)[::-1].hex() - transaction_input.script_sig_size = get_var_int(f) + transaction_input.script_sig_size = __get_var_int(f) transaction_input.script_sig = f.read(int(transaction_input.script_sig_size, 16)).hex() transaction_input.sequence = f.read(4)[::-1].hex() transaction_inputs.append(transaction_input.__dict__) - transaction.output_count = get_var_int(f) + transaction.output_count = __get_var_int(f) transaction_outputs = [] for output_number in range(int(transaction.output_count, 16)): transaction_output = TransactionOutput() transaction_output.value = f.read(8)[::-1].hex() - transaction_output.script_pub_key_size = get_var_int(f) + transaction_output.script_pub_key_size = __get_var_int(f) transaction_output.script_pub_key = f.read(int(transaction_output.script_pub_key_size, 16)).hex() transaction_outputs.append(transaction_output.__dict__) @@ -97,7 +97,7 @@ f.seek(start_transaction_data) transaction_data = f.read(transaction_data_size) f.seek(end_transaction_data) - transaction.id = compute_hash(transaction_data) + transaction.id = __compute_hash(transaction_data) transaction_dict = transaction.__dict__ transaction_dict['inputs'] = transaction_inputs
--- a/src/puppy/helpers.py Sun Oct 24 21:00:49 2021 +0200 +++ b/src/puppy/helpers.py Tue Oct 26 08:56:59 2021 +0200 @@ -5,7 +5,7 @@ """ -def get_var_int(f): +def __get_var_int(f): """ A VarInt (variable integer) is a field used in transaction data to indicate the number of upcoming fields, or the length of an upcoming field. @@ -28,7 +28,7 @@ return number_of_transactions -def compute_hash(data): +def __compute_hash(data): """ Get hash :param data: bytes, required