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))
# 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