能否用Group ID调用indexer.search_transactions?Algorand Python SDK格式报错
按Group ID查询Algorand交易及SDK错误解决
一、通过Group ID查询交易的方法
- 可以直接使用indexer的
search_transactions接口,指定group参数即可,无需使用txid参数。Python SDK中调用indexer.search_transactions(group=你的Group ID),就能返回该组下的所有交易。 - 也可直接调用Algorand Indexer的REST API,发送GET请求到
/v2/transactions?group=你的Group ID,同样能获取组内全部交易。
二、解决Python SDK的格式错误
你遇到的illegal base32 data错误,原因是误用参数或Group ID格式不正确:
- 确保传入的Group ID是标准的无填充base32编码格式(Algorand Group ID为58字符的base32字符串)。
- 调用接口时必须明确指定
group参数,而非误用txid参数。正确调用示例:
from algosdk.v2client import indexer # 初始化indexer客户端 idx = indexer.IndexerClient(indexer_token="", indexer_address="https://mainnet-idx.algorand.network") # 替换为目标Group ID group_id = "你的Group ID字符串" response = idx.search_transactions(group=group_id) # 输出交易结果 print(response['transactions'])
- 若Group ID是二进制数据,需先将其编码为无填充的base32格式,再传入接口。
内容的提问来源于stack exchange,提问作者shallowporcupine
相关产品推荐
相关产品推荐

