如何通过Python从Solana浏览器获取指定地址的交易历史?
获取Solana地址交易历史的正确方法
直接请求Solana Explorer网页得到的只是静态HTML框架,因为交易数据是前端通过异步请求动态加载的,无法直接从HTML中提取。正确的做法是调用Solana的JSON-RPC API来获取交易数据,具体步骤如下:
核心方法
- 使用
getSignaturesForAddress接口获取目标地址的交易签名列表 - (可选)使用
getTransaction接口根据签名获取单条交易的完整详情
代码示例
import requests # Solana主网公共RPC节点 rpc_url = "https://api.mainnet-beta.solana.com" target_address = "9QgXqrgdbVU8KcpfskqJpAXKzbaYQJecgMAruSWoXDkM" # 1. 获取交易签名列表 signature_payload = { "jsonrpc": "2.0", "id": 1, "method": "getSignaturesForAddress", "params": [ target_address, {"limit": 10} # 可修改返回的交易数量,支持分页参数before/after ] } signature_response = requests.post(rpc_url, json=signature_payload) signature_result = signature_response.json() if "result" in signature_result: # 2. 遍历签名获取详细交易信息 for sig_info in signature_result["result"]: tx_payload = { "jsonrpc": "2.0", "id": 1, "method": "getTransaction", "params": [sig_info["signature"]] } tx_response = requests.post(rpc_url, json=tx_payload) tx_details = tx_response.json() print(tx_details)
注意事项
- 公共RPC节点存在请求速率限制,若需高频或大量请求,可使用付费RPC服务
- 通过调整
getSignaturesForAddress的参数(如limit、before)可以实现交易历史的分页查询
内容的提问来源于stack exchange,提问作者MathMan 99
相关产品推荐
相关产品推荐

