mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-20 11:45:50 +00:00
79 lines
2.4 KiB
Python
79 lines
2.4 KiB
Python
from datetime import datetime, timedelta
|
|
|
|
from xrpl.clients import JsonRpcClient
|
|
from xrpl.models import CheckCreate, IssuedCurrencyAmount
|
|
from xrpl.transaction import (safe_sign_and_autofill_transaction,
|
|
send_reliable_submission)
|
|
from xrpl.utils import datetime_to_ripple_time, str_to_hex, xrp_to_drops
|
|
from xrpl.wallet import generate_faucet_wallet
|
|
|
|
client = JsonRpcClient("https://s.altnet.rippletest.net:51234") # Connect to the testnetwork
|
|
|
|
"""Create a token check"""
|
|
|
|
check_receiver_addr = "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe" # Example: send back to Testnet Faucet
|
|
|
|
token_name = "USD"
|
|
|
|
amount_to_deliver = 10.00
|
|
|
|
token_issuer = "r9CEVt4Cmcjt68ME6GKyhf2DyEGo2rG8AW"
|
|
|
|
# Set check to expire after 5 days
|
|
expiry_date = datetime_to_ripple_time(datetime.now() + timedelta(days=5))
|
|
|
|
# Generate wallet
|
|
sender_wallet = generate_faucet_wallet(client=client)
|
|
|
|
# Build check create transaction
|
|
check_txn = CheckCreate(account=sender_wallet.classic_address, destination=receiver_addr,
|
|
send_max=IssuedCurrencyAmount(
|
|
currency=str_to_hex(token),
|
|
issuer=issuer,
|
|
value=amount),
|
|
expiration=expiry_date)
|
|
|
|
# Sign, submit transaction and wait for result
|
|
stxn = safe_sign_and_autofill_transaction(check_txn, sender_wallet, client)
|
|
stxn_response = send_reliable_submission(stxn, client)
|
|
|
|
# Parse response for result
|
|
stxn_result = stxn_response.result
|
|
|
|
# Print result and transaction hash
|
|
print(stxn_result["meta"]["TransactionResult"])
|
|
print(stxn_result["hash"])
|
|
|
|
|
|
############### CREATE XRP CHECK ################################
|
|
"""Create xrp check"""
|
|
|
|
|
|
check_receiver_addr = "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe" # Example: send back to Testnet Faucet
|
|
|
|
amount_to_deliver = 10.00
|
|
|
|
# Set check to expire after 5 days
|
|
expiry_date = datetime_to_ripple_time(datetime.now() + timedelta(days=5))
|
|
|
|
|
|
# Generate wallet
|
|
sender_wallet = generate_faucet_wallet(client=client)
|
|
|
|
# Build check create transaction
|
|
check_txn = CheckCreate(account=sender_wallet.classic_address,
|
|
destination=receiver_addr,
|
|
send_max=xrp_to_drops(amount),
|
|
expiration=expiry_date)
|
|
|
|
# Sign, submit transaction and wait for result
|
|
stxn = safe_sign_and_autofill_transaction(check_txn, sender_wallet, client)
|
|
stxn_response = send_reliable_submission(stxn, client)
|
|
|
|
# Parse response for result
|
|
stxn_result = stxn_response.result
|
|
|
|
# Print result and transaction hash
|
|
print(stxn_result["meta"]["TransactionResult"])
|
|
print(stxn_result["hash"])
|