diff --git a/content/_code-samples/submit-and-verify/py/submit-and-verify.py b/content/_code-samples/submit-and-verify/py/submit-and-verify.py new file mode 100644 index 0000000000..f94cc74bca --- /dev/null +++ b/content/_code-samples/submit-and-verify/py/submit-and-verify.py @@ -0,0 +1,33 @@ +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}")