first commit
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from web3 import Web3
|
||||
import time
|
||||
|
||||
# 设置 RPC URL
|
||||
rpc_url = "rpc"
|
||||
|
||||
# 初始化 web3.py 提供器
|
||||
w3 = Web3(Web3.HTTPProvider(rpc_url))
|
||||
|
||||
|
||||
# 检查是否连接成功
|
||||
def check_connection():
|
||||
try:
|
||||
network_id = w3.eth.chain_id
|
||||
print(f"已成功连接到链节点,网络ID为: {network_id}。正在查询钱包余额...")
|
||||
return True
|
||||
except Exception as e:
|
||||
print("无法连接到链节点,请检查 URL 是否正确")
|
||||
return False
|
||||
|
||||
|
||||
# 钱包地址列表
|
||||
wallet_addresses = [
|
||||
'key'
|
||||
]
|
||||
|
||||
|
||||
def query_balances():
|
||||
if not check_connection():
|
||||
return
|
||||
|
||||
wallet_num = 1
|
||||
for wallet_address in wallet_addresses:
|
||||
retry_count = 0
|
||||
max_retries = 3
|
||||
delay = 2 # 延迟时间,单位为秒
|
||||
|
||||
result_message = ""
|
||||
result_balance = -1
|
||||
|
||||
# 转换为校验和地址
|
||||
try:
|
||||
checksum_address = w3.to_checksum_address(wallet_address)
|
||||
except Exception as e:
|
||||
print(f"钱包 {wallet_address} 地址格式无效: {str(e)}")
|
||||
wallet_num += 1
|
||||
continue
|
||||
|
||||
while retry_count < max_retries:
|
||||
try:
|
||||
# 查询余额
|
||||
balance = w3.eth.get_balance(checksum_address)
|
||||
# 将余额从 Wei 转换为 Ether
|
||||
balance_eth = w3.from_wei(balance, 'ether')
|
||||
result_message = f"Wallet address: {checksum_address} {wallet_num}, balance: {balance_eth} Token"
|
||||
result_balance = balance_eth
|
||||
print(result_message)
|
||||
wallet_num += 1
|
||||
break
|
||||
except Exception as e:
|
||||
print(f"查询钱包 {checksum_address} {wallet_num} 余额时发生错误: {str(e)}")
|
||||
retry_count += 1
|
||||
print(f"正在重试...(第 {retry_count} 次)")
|
||||
time.sleep(delay)
|
||||
|
||||
if retry_count == max_retries:
|
||||
result_message = f"钱包 {checksum_address} 查询余额失败,已达到最大重试次数。"
|
||||
print(result_message)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
query_balances()
|
||||
@@ -0,0 +1,106 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from web3 import Web3
|
||||
import time
|
||||
|
||||
# 设置 RPC URL
|
||||
rpc_url = "https://testnet-rpc.monad.xyz"
|
||||
|
||||
# 初始化 web3.py 提供器
|
||||
w3 = Web3(Web3.HTTPProvider(rpc_url))
|
||||
|
||||
|
||||
# 检查是否连接成功
|
||||
def check_connection():
|
||||
try:
|
||||
network_id = w3.eth.chain_id
|
||||
print(f"已成功连接到链节点,网络ID为: {network_id}。正在查询钱包余额...")
|
||||
return True
|
||||
except Exception as e:
|
||||
print("无法连接到链节点,请检查 URL 是否正确")
|
||||
return False
|
||||
|
||||
|
||||
# 钱包地址列表
|
||||
wallet_addresses = [
|
||||
'0xe50B77Cd771243b8Ae1d6ce33b4E13ECC5Fa28a6',
|
||||
'0x9ea2ECAD4090E32916e03b77d7C75CbF6C8E0A55',
|
||||
'0xE8A4b0C04300154DC9B1D0e565Ba70F996614690',
|
||||
'0x1b623c5d70c93b437d93c305bf2cfa389095f636',
|
||||
'0x06D25c3e0E1F753ac0486a3f8aaD7259149656cB',
|
||||
'0x15cFEE34Ca4541CAc9a1c4B6F6aB47A65877E240',
|
||||
'0x7aBF0dA8Ac07B6dE7206e467988455E1AD0b60B5',
|
||||
'0xF736f45d4663a8D8DfF7EFA55b1Cf6Fe38D026c8',
|
||||
'0x83173eECf3a6d9ABB79682568e16c2eAd361620e',
|
||||
'0xa401b85B4849Fc7610Bd180cc937859C78528F47',
|
||||
'0x10A43E7Fe77E2D84adBeC26cF0bFc6f403841266',
|
||||
'0x70D5EE1DfddD3726f0D71F4CD5a8Ef43aC651a75'
|
||||
]
|
||||
|
||||
|
||||
def query_balances(wallet_num, wallet_address):
|
||||
retry_count = 0
|
||||
max_retries = 3
|
||||
delay = 2 # 延迟时间,单位为秒
|
||||
|
||||
result_message = ""
|
||||
result_balance = -1
|
||||
|
||||
# 转换为校验和地址
|
||||
try:
|
||||
checksum_address = w3.to_checksum_address(wallet_address)
|
||||
except Exception as e:
|
||||
print(f"钱包 {wallet_address} 地址格式无效: {str(e)}")
|
||||
return wallet_num
|
||||
|
||||
while retry_count < max_retries:
|
||||
try:
|
||||
# 查询余额
|
||||
balance = w3.eth.get_balance(checksum_address)
|
||||
# 将余额从 Wei 转换为 Ether
|
||||
balance_eth = w3.from_wei(balance, 'ether')
|
||||
result_message = f"Wallet {wallet_num}: {checksum_address}\nbalance: {balance_eth} Token"
|
||||
result_balance = balance_eth
|
||||
print(result_message)
|
||||
wallet_num += 1
|
||||
break
|
||||
except Exception as e:
|
||||
print(f"查询钱包 {checksum_address} {wallet_num} 余额时发生错误: {str(e)}")
|
||||
retry_count += 1
|
||||
print(f"正在重试...(第 {retry_count} 次)")
|
||||
time.sleep(delay)
|
||||
|
||||
if retry_count == max_retries:
|
||||
result_message = f"钱包 {checksum_address} 查询余额失败,已达到最大重试次数。"
|
||||
print(result_message)
|
||||
|
||||
return wallet_num
|
||||
|
||||
|
||||
def query_nonce(wallet_num, wallet_address):
|
||||
try:
|
||||
checksum_address = w3.to_checksum_address(wallet_address)
|
||||
except Exception as e:
|
||||
print(f"钱包 {wallet_address} 地址格式无效: {str(e)}")
|
||||
return
|
||||
|
||||
try:
|
||||
nonce_latest = w3.eth.get_transaction_count(checksum_address, "latest")
|
||||
nonce_pending = w3.eth.get_transaction_count(checksum_address, "pending")
|
||||
print(f'pending nonce: {nonce_pending} ; latest nonce: {nonce_latest}')
|
||||
except Exception as e:
|
||||
print(f"查询钱包 {checksum_address} {wallet_num} nonce时发生错误: {str(e)}")
|
||||
|
||||
|
||||
def main():
|
||||
if not check_connection():
|
||||
return
|
||||
|
||||
wallet_num = 1
|
||||
for wallet_address in wallet_addresses:
|
||||
wallet_num = query_balances(wallet_num, wallet_address)
|
||||
query_nonce(wallet_num - 1, wallet_address)
|
||||
print('------------')
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,106 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from web3 import Web3
|
||||
import time
|
||||
|
||||
# 设置 RPC URL
|
||||
rpc_url = "https://dream-rpc.somnia.network"
|
||||
|
||||
# 初始化 web3.py 提供器
|
||||
w3 = Web3(Web3.HTTPProvider(rpc_url))
|
||||
|
||||
|
||||
# 检查是否连接成功
|
||||
def check_connection():
|
||||
try:
|
||||
network_id = w3.eth.chain_id
|
||||
print(f"已成功连接到链节点,网络ID为: {network_id}。正在查询钱包余额...")
|
||||
return True
|
||||
except Exception as e:
|
||||
print("无法连接到链节点,请检查 URL 是否正确")
|
||||
return False
|
||||
|
||||
|
||||
# 钱包地址列表
|
||||
wallet_addresses = [
|
||||
'0xe50B77Cd771243b8Ae1d6ce33b4E13ECC5Fa28a6',
|
||||
'0x9ea2ECAD4090E32916e03b77d7C75CbF6C8E0A55',
|
||||
'0xE8A4b0C04300154DC9B1D0e565Ba70F996614690',
|
||||
'0x1b623c5d70c93b437d93c305bf2cfa389095f636',
|
||||
'0x06D25c3e0E1F753ac0486a3f8aaD7259149656cB',
|
||||
'0x15cFEE34Ca4541CAc9a1c4B6F6aB47A65877E240',
|
||||
'0x7aBF0dA8Ac07B6dE7206e467988455E1AD0b60B5',
|
||||
'0xF736f45d4663a8D8DfF7EFA55b1Cf6Fe38D026c8',
|
||||
'0x83173eECf3a6d9ABB79682568e16c2eAd361620e',
|
||||
'0xa401b85B4849Fc7610Bd180cc937859C78528F47',
|
||||
'0x10A43E7Fe77E2D84adBeC26cF0bFc6f403841266',
|
||||
'0x70D5EE1DfddD3726f0D71F4CD5a8Ef43aC651a75'
|
||||
]
|
||||
|
||||
|
||||
def query_balances(wallet_num, wallet_address):
|
||||
retry_count = 0
|
||||
max_retries = 3
|
||||
delay = 2 # 延迟时间,单位为秒
|
||||
|
||||
result_message = ""
|
||||
result_balance = -1
|
||||
|
||||
# 转换为校验和地址
|
||||
try:
|
||||
checksum_address = w3.to_checksum_address(wallet_address)
|
||||
except Exception as e:
|
||||
print(f"钱包 {wallet_address} 地址格式无效: {str(e)}")
|
||||
return wallet_num
|
||||
|
||||
while retry_count < max_retries:
|
||||
try:
|
||||
# 查询余额
|
||||
balance = w3.eth.get_balance(checksum_address)
|
||||
# 将余额从 Wei 转换为 Ether
|
||||
balance_eth = w3.from_wei(balance, 'ether')
|
||||
result_message = f"Wallet {wallet_num}: {checksum_address}\nbalance: {balance_eth} Token"
|
||||
result_balance = balance_eth
|
||||
print(result_message)
|
||||
wallet_num += 1
|
||||
break
|
||||
except Exception as e:
|
||||
print(f"查询钱包 {checksum_address} {wallet_num} 余额时发生错误: {str(e)}")
|
||||
retry_count += 1
|
||||
print(f"正在重试...(第 {retry_count} 次)")
|
||||
time.sleep(delay)
|
||||
|
||||
if retry_count == max_retries:
|
||||
result_message = f"钱包 {checksum_address} 查询余额失败,已达到最大重试次数。"
|
||||
print(result_message)
|
||||
|
||||
return wallet_num
|
||||
|
||||
|
||||
def query_nonce(wallet_num, wallet_address):
|
||||
try:
|
||||
checksum_address = w3.to_checksum_address(wallet_address)
|
||||
except Exception as e:
|
||||
print(f"钱包 {wallet_address} 地址格式无效: {str(e)}")
|
||||
return
|
||||
|
||||
try:
|
||||
nonce_latest = w3.eth.get_transaction_count(checksum_address, "latest")
|
||||
nonce_pending = w3.eth.get_transaction_count(checksum_address, "pending")
|
||||
print(f'pending nonce: {nonce_pending} ; latest nonce: {nonce_latest}')
|
||||
except Exception as e:
|
||||
print(f"查询钱包 {checksum_address} {wallet_num} nonce时发生错误: {str(e)}")
|
||||
|
||||
|
||||
def main():
|
||||
if not check_connection():
|
||||
return
|
||||
|
||||
wallet_num = 1
|
||||
for wallet_address in wallet_addresses:
|
||||
wallet_num = query_balances(wallet_num, wallet_address)
|
||||
query_nonce(wallet_num - 1, wallet_address)
|
||||
print('------------')
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,25 @@
|
||||
from pysui import SuiConfig, SyncClient
|
||||
from pysui.sui.sui_types.scalars import SuiString
|
||||
from pysui.sui.sui_clients.common import SuiRpcResult
|
||||
|
||||
private_key = "suiprivkey1qrtls98pk6frpzzuajf5a53klnhd0hdtx6fwwrk65ghregk5np4j2yehv7y" # 替换为你的私钥
|
||||
sui_config = SuiConfig.user_config(
|
||||
rpc_url="https://fullnode.testnet.sui.io:443", # SUI 测试网节点地址
|
||||
prv_keys=[private_key] # 添加私钥
|
||||
)
|
||||
|
||||
client = SyncClient(sui_config)
|
||||
|
||||
# 获取当前活跃地址
|
||||
address = sui_config.active_address
|
||||
print(f"Active Address: {address}")
|
||||
|
||||
# 使用 sui_getBalance RPC 方法查询余额
|
||||
response: SuiRpcResult = client._client.balance(SuiString(address))
|
||||
|
||||
if response.is_ok():
|
||||
balance_data = response.result_data
|
||||
total_balance = balance_data.get("totalBalance", 0)
|
||||
print(f"Balance: {total_balance} MIST")
|
||||
else:
|
||||
print(f"Error: {response.error}")
|
||||
Reference in New Issue
Block a user