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