반응형
아래 결론 부터 함 보고 시작 할께요~
XRP 관련 테스트 중인데, 테스트 넷에서 XRP가 필요해 testnet faucet을 통해 내 지갑에 테스트용 XRP를 알아서 잘 채우도록
만들어 놓았습니다
손쉽게 전송 하는 방법도 만들어 봐야 겠네요...
1. Faucet에서 내 지갑으로 전송하는 함수
def exec_transferXRP():
# 1. Destination Address 입력
input_dest_box = driver.find_element(By.ID, 'destination_address')
input_dest_box.clear()
time.sleep(2)
input_dest_box.send_keys(destination_account)
print(f"{datetime.now()} || XRP를 전송할 주소는 {destination_account} 입니다")
time.sleep(2)
# 2. Initialize 수행
init_btn = driver.find_element(By.ID, 'init_button')
init_btn.click()
print(f"{datetime.now()} || Initialize를 시작 하겠습니다. 이 작업은 10~30초 정도 소요됩니다")
time.sleep(2)
# 3. Send amount 입력
amount = 9980000000
input_amount_box = driver.find_element(By.ID, 'send_xrp_payment_amount')
input_amount_box.clear()
time.sleep(1)
input_amount_box.send_keys(amount)
loading_time = 30
exec_Loadingbar("Initializing", loading_time)
print(f"{datetime.now()} || Initialize가 완료 되었습니다")
print(f"{datetime.now()} || XRP faucet에서 {amount/1000000} XRP를 전송하겠습니다")
# 4. Send XRP
print(f"{datetime.now()} || XRP 전송 중입니다. 이 작업은 10초 정도 소요 됩니다")
send_xrp_btn = driver.find_element(By.ID, 'send_xrp_payment_btn')
send_xrp_btn.click()
loading_time = 10
exec_Loadingbar("Transferring", loading_time)
2. 내 지갑의 발란스를 조회 하는 함수
- 단, CEX의 지갑은 Tag 주소까지 확인할 방법이 없어 반드시 개인 지갑으로만 조회 가능함
def get_xrpBalanceInfo():
headers = {'Content-Type': 'application/json'}
data = {
"method": "account_info",
"params": [
{"account": destination_account, "ledger_index": "current", "queue": True}
]
}
response = requests.post(network_url, data=json.dumps(data), headers=headers)
if response.status_code == 200:
result = response.json()
balance = float(result['result']['account_data']['Balance']) / 1000000
txhash = result['result']['account_data']['PreviousTxnID']
print (f"\n{datetime.now()} || {destination_account} XRP Wallet Balance : {balance}")
print (f"{datetime.now()} || Recently txhash : {txhash}\n")
else:
print(f"\n{datetime.now()} || Error: {response.status_code}, {response.text}\n")
실행을 위한 정보 입력
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from datetime import datetime
import requests
import json
import time
import sys
# destination_account = input(f"{datetime.now()} || 테스트넷에서 XPR를 받을 주소를 넣어 주세요 → ") # r9RPaeCRxMz1mvZASx785yJ2YCNdSpNN7E
print ("\n■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■")
print (f"\n{datetime.now()} || XRP Faucet에서 XRP를 전송 하겠습니다")
destination_account = "알아서 주소 입력"
xrp_testnet_faucet= "https://xrpl.org/tx-sender.html"
xrp_testnet_explorer = "https://testnet.xrpl.org/accounts/"
network_url = "https://s.altnet.rippletest.net:51234/" # Testnet
# network_url = "https://xrplcluster.com/" # Mainnet
반응형
'QA Engineering > Tool & Automation' 카테고리의 다른 글
셀레니움 웹 페이지 로딩이 너무 길어 질때 (0) | 2023.11.18 |
---|---|
검색 쿼리 encode, url 파싱 (1) | 2023.11.03 |
AWS cron 스케쥴링 설정 (0) | 2023.09.14 |
QARK(Quick Android Review Kit) (0) | 2023.09.08 |
파이썬으로 음성 인식 스크립트 만들기 (0) | 2023.09.04 |