Files
xrpl-dev-portal/content/_code-samples/submit-and-verify/py/submit-and-verify.py
2022-09-07 02:36:43 +00:00

34 lines
1.2 KiB
Python

from xrpl.clients import JsonRpcClient
from xrpl.models.transactions import AccountSet
from xrpl.transaction import safe_sign_and_autofill_transaction, send_reliable_submission
from xrpl.wallet import Wallet, generate_faucet_wallet
# Connect to a testnet node
JSON_RPC_URL = "https://s.altnet.rippletest.net:51234/"
client = JsonRpcClient(JSON_RPC_URL)
# Generate a wallet and request faucet
test_wallet = generate_faucet_wallet(client=client)
myAddr = test_wallet.classic_address
# Construct AccountSet transaction
tx = AccountSet(
account=myAddr
)
# Sign the transaction locally
my_tx_payment_signed = safe_sign_and_autofill_transaction(transaction=tx, wallet=test_wallet, client=client)
# Submit transaction and verify its validity on the ledger
response = send_reliable_submission(transaction=my_tx_payment_signed, client=client)
result = response.result["meta"]["TransactionResult"]
print(f"Account: {myAddr}")
if result == "tesSUCCESS":
print("Transaction successful!")
elif result == "tefMAX_LEDGER":
print("Transaction failed to achieve consensus")
elif result == "unknown":
print("Transaction status unknown")
else:
print(f"Transaction failed with code {result}")