上次讲了如何创建钱包并加密/解密私钥,有了批量钱包之后查询余额肯定也是需要批量来处理的,今天就来分享一下简单实现批量查询余额的功能。
首先需要导入web3相关库
from web3 import Web3, HTTPProvider
然后定义一个读取钱包文件的方法
def read_file(path): with open(path, 'r', encoding='utf-8') as f: data = f.readlines() return data
再定义一个查询余额的方法:
def check_balance(path,chain, type): rpcs = { "ETH": "https://cloudflare-eth.com", "BSC": "https://bsc-dataseed1.binance.org:443", "Polygon": "https://polygon.llamarpc.com" }#内置常用的以太,BSC,马蹄链的RPC if chain == 'ETH': chain = rpcs['ETH'] elif chain == 'BSC': chain = rpcs['BSC'] elif chain == 'Polygon': chain = rpcs['Polygon'] else: chain = chain for i in read_file(path): address = i.strip().split(',')[1] web3 = Web3(HTTPProvider(chain)) balance = web3.fromWei(web3.eth.get_balance(address), "ether") print(f"账户 {address} 在【{type}】链的{type}余额是: {balance} ")
最后main函数
if __name__ == '__main__': path = r'/Users/richardyu/Documents/Wallets.csv'#修改为你的钱包文件地址(要带名称和后缀) check_balance(path, 'ETH', 'ETH')#两个输入内容的类型分别是RPC和token类型
执行结果:
说明:
钱包文件沿用了上个文章里面保存的格式,即:序号,地址,私钥
如果查询的是ETH,BSC,Polygon三个链的资产,则第一个参数就输入ETH或者BSC或者Polygon,如果是其他比如Arbi链,则需要输入支持Arbi链的RPC;第二个参数则为Token名称,比如BNB,ETH,MATIC等
ETH链查询示例:
check_balance(path, 'ETH', 'ETH')
BSC链查询示例:
check_balance(path, 'BSC', 'BNB')
Arbi链查询示例:
check_balance(path, 'https://arb1.arbitrum.io/rpc', 'ARB')
RPC查询:
前往:Chainlist 点击添加到小狐狸钱包
小狐狸钱包页面显示的网络URL即为RPC
如果有其他问题可以通过公众号「python玩转」联系作者
相关推荐
文章来源:
cc
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2384272385@qq.com举报,一经查实,本站将立刻删除。