如何用Python库cosmpy查询Cosmos钱包余额?遇RPC错误求助
问题原因及修复方案
核心错误点
- GRPC节点地址无效:你使用的
grpc+https://grpc-cosmoshub.blockapsis.com:429端口错误,且该节点已不可用,导致返回502网关错误。 - Chain ID配置错误:Cosmos Hub主网的正确Chain ID是
cosmoshub-4,而非Cosmos-Hub。 - 地址重复实例化:代码中
Address(receiver_addr)属于重复包装Address对象,无需二次处理。
修正后的完整代码
from cosmpy.aerial.client import LedgerClient from cosmpy.aerial.config import NetworkConfig from cosmpy.aerial.wallet import LocalWallet from cosmpy.crypto.address import Address # 替换为你要查询的实际钱包地址 tests_address2 = "cosmos1xxxxxx..." receiver_addr = Address(tests_address2) # 生成测试钱包(仅需测试时保留,纯查询可注释) generated_wallet = LocalWallet.generate(prefix='cosmos') # 配置正确的Cosmos Hub网络参数 cfg = NetworkConfig( chain_id="cosmoshub-4", # 使用稳定可用的公开GRPC节点,443为HTTPS GRPC标准端口 url="grpc+https://cosmoshub-grpc.polkachu.com:443", fee_minimum_gas_price=0.0025, fee_denomination="uatom", staking_denomination="uatom", ) cl = LedgerClient(cfg) # 查询并打印余额 res = cl.query_bank_balance(address=receiver_addr) print(f"钱包余额: {res.balance.amount} {res.balance.denom}")
额外注意事项
- 节点替换:若当前GRPC节点仍报错,可更换其他公开节点,比如:
grpc+https://grpc.cosmos.network:443grpc+https://cosmoshub.grpc.staketab.org:443
- 地址校验:确保查询地址符合Cosmos Hub的
cosmos前缀格式,无拼写错误。 - 依赖更新:执行
pip install --upgrade cosmpy确保使用最新稳定版本的cosmpy库。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

