import sys
import hashlib
 
# Constants
GENESIS_STR = 'This is the genesis hash'

# Specify buffer size
BUF_SIZE = 65536 # 64kB chunks!

def hashfile(filename):
    sha256 = hashlib.sha256()
    with open(filename, 'rb') as f:
        while True:
            data = f.read(BUF_SIZE)
            if not data:
                break
            sha256.update(data)

    return sha256.hexdigest()

def hashdata(data):
    sha256 = hashlib.sha256(data.encode())

    return sha256.hexdigest()

# Constant!
GENESIS_HASH = hashdata(GENESIS_STR)

# sample txstring
txstring = '[13e36dd45bc4115a7ddab608d9ca26fdb951d0ff74631c554f2c3653b58e8a31, datetime, 1, 3, 40304.50]'

def gen_txhash(txstring):
    # Generates a transaction hash from
    # transaction data

    # Return new transaction hash
    return hashdata(txstring)

def append_tx(txhash, pbhash):
    # Takes transaction hash and
    # appends to previous block hash
    inputs = f'[{pbhash}, {txhash}]'

    # Return new block hash
    return hashdata(inputs)

