Exemple #1
0
def test_txn(args):
    global ERROR_MESSAGE
    global SEND_ZILS_FORWARD_OR_BACK

    # Load source account
    account = Account(address=args['srchex'], private_key=args['srckey'])
    balance = account.get_balance()

    # Load destination account
    account2 = Account(address=args['dsthex'], private_key=args['dstkey'])
    balance2 = account2.get_balance()

    if SEND_ZILS_FORWARD_OR_BACK == True:
        print("SRC: {}: {}".format(account, balance))
        print("DST: {}: {}".format(account2, balance2))
        # Send 100 Qa from srchex to dstzil
        txn_info = account.transfer(to_addr=args['dstzil'], zils=Qa(100))
        SEND_ZILS_FORWARD_OR_BACK = False
    else:
        print("SRC: {}: {}".format(account2, balance2))
        print("DST: {}: {}".format(account, balance))
        # Send 100 Qa from dsthex to srczil
        txn_info = account2.transfer(to_addr=args['srczil'], zils=Qa(100))
        SEND_ZILS_FORWARD_OR_BACK = True

    pprint(txn_info)
    txn_id = txn_info["TranID"]

    sys.stdout.flush()

    # Wait for confirmation (timeout = 20mins, to take into account a view change)
    txn_details = account.wait_txn_confirm(txn_id, timeout=1200)
    pprint(txn_details)
    if txn_details and txn_details["receipt"]["success"]:
        print("Txn success: {}".format(txn_id))
    else:
        print("Txn failed: {}".format(txn_id))
        raise Exception("Txn failed: {}".format(txn_id))
Exemple #2
0
    # load account from private key
    # private key is required to send ZILs
    account = Account(
        private_key=
        "8062536DED35314B4F9029CE98B5244B062452A8DE2545F49DBDF4D3713A9C20")
    balance2 = account.get_balance()
    print("Account balance: {}".format(balance2))

    # to_addr must be bech32 address or 20 bytes checksum address
    to_addr = "0x8a17d9a236c7b6314892276877cb4462b0c2ab53"
    if not zilkey.is_valid_address(to_addr):
        print("hry")
    to_addr = bech32.encode("zil", utils.hex_str_to_bytes(to_addr))
    print(to_addr)
    # send ZILs
    txn_info = account.transfer(to_addr=to_addr, zils=20.718)
    pprint(txn_info)
    txn_id = txn_info["TranID"]
    account = Account(address="0x8a17d9a236c7b6314892276877cb4462b0c2ab53")
    txn_details = account.wait_txn_confirm(txn_id, timeout=300)
    pprint(txn_details)

    if txn_details and txn_details["receipt"]["success"]:
        print("Txn success: {}".format(txn_id))
    else:
        print("Txn failed: {}".format(txn_id))
    balance = account.get_balance()
    print("{}: {}".format(account, balance))

    # wait chain confirm, may takes 2-3 minutes on MainNet