transaction_1 = pickle.load(read_file)
    print(transaction_1)

    my_blockchain = TransactionBlockChain("my_blockchain for testing how it works")
    my_blockchain.add_transaction(transaction_1)

    transaction_2 = Transaction("Another Transaction")
    transaction_2.add_input(public_key_2, 3)
    transaction_2.add_output(public_key_3, 3)
    transaction_2.sign(private_key_2)
    my_blockchain.add_transaction(transaction_2)

    transaction_3 = Transaction("Last transaction")
    transaction_3.add_input(public_key_3, 4)
    transaction_3.add_output(public_key_1, 3)
    transaction_3.add_required_signature(public_key_2)
    transaction_3.sign(private_key_3)
    transaction_3.sign(private_key_2)
    my_blockchain.add_transaction(transaction_3)

    transaction_4 = Transaction("truly second transaction")
    transaction_4.add_input(public_key_3, 5)
    transaction_4.add_output(public_key_1, 5)
    transaction_4.sign(private_key_3)

    my_blockchain.check()
    with open("bn.dat", "wb") as storage_file:
        pickle.dump(my_blockchain, storage_file)

    with open("bn.dat", "rb") as read_file:
        my_blockchain = pickle.load(read_file)
    new_transaction.add_input(public_key_1, 1.2)
    new_transaction.add_output(public_key_2, 1.1)
    new_transaction.sign(private_key_1)
    transactions.append(new_transaction)

    new_transaction = Transaction(
        "incorrect_transaction_1_to_1_invalid_private_key")
    new_transaction.add_input(public_key_1, 1)
    new_transaction.add_output(public_key_2, 1)
    new_transaction.sign(private_key_2)
    transactions.append(new_transaction)

    new_transaction = Transaction("correct_transaction_escrow")
    new_transaction.add_input(public_key_1, 1)
    new_transaction.add_output(public_key_2, 1)
    new_transaction.add_required_signature(public_key_4)
    new_transaction.sign(private_key_1)
    new_transaction.sign(private_key_4)
    transactions.append(new_transaction)

    new_transaction = Transaction(
        "incorrect_transaction_escrow_no_signed_by_arbiter")
    new_transaction.add_input(public_key_1, 1)
    new_transaction.add_output(public_key_2, 1)
    new_transaction.add_required_signature(public_key_4)
    new_transaction.sign(private_key_1)
    transactions.append(new_transaction)

    new_transaction = Transaction(
        "incorrect_transaction_2_to_1_only_one_signature")
    new_transaction.add_input(public_key_1, 1)