Tx2.add_output(public_key3, 1)
    Tx2.sign(private_key2)
    root.addTx(Tx2)

    B1 = TxBlock(root)

    Tx3 = Tx()
    Tx3.add_input(public_key3, 1.1)
    Tx3.add_output(public_key1, 1)
    Tx3.sign(private_key3)
    B1.addTx(Tx3)

    Tx4 = Tx()
    Tx4.add_input(public_key1, 1.1)
    Tx4.add_output(public_key2, 1)
    Tx4.add_required(public_key3)
    Tx4.sign(private_key1)
    Tx4.sign(private_key3)
    B1.addTx(Tx4)

    start = time.time()
    mynonce = B1.find_nonce()
    #print(mynonce)
    elapsed = time.time() - start
    print("elapsed time: " + str(elapsed) + " s.")

    if elapsed < 60:
        print("ERROR! Mining is too fast")

    if B1.good_nonce():
        print("Success! Nonce is good!")
head_blocks = [None]

Tx1 = Tx()
Tx2 = Tx()

pr1, pu1 = signature.generate_keys()
pr2, pu2 = signature.generate_keys()
pr3, pu3 = signature.generate_keys()

Tx1.add_input(pu1, 4.0)
Tx1.add_input(pu2, 1.0)
Tx1.add_output(pu3, 4.8)
Tx2.add_input(pu3, 4.0)
Tx2.add_output(pu2, 4.0)
Tx2.add_required(pu1)

Tx1.sign(pr1)
Tx1.sign(pr2)
Tx2.sign(pr3)
Tx2.sign(pr1)

try:
    socketUtils.sendObj('localhost', Tx1)
    print("Sent Tx1")
    socketUtils.sendObj('localhost', Tx2)
    print("Sent Tx2")
except:
    print("Error! Connection unsuccessfull.")

server = socketUtils.newServerConnection('localhost', 5006)