You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求批量获取1000个Ethereum地址总交易数的可行方案

获取以太坊地址总交易数的无速率限制方案

针对你1000个以太坊地址的总交易数统计需求,以下是无需担心速率限制的可行方案:

1. 运行本地全节点并自定义查询

部署Geth或Erigon全节点(推荐Erigon,同步速度更快且查询效率更高),同步完成后:

  • 若仅统计发送交易数,可直接使用web3.py的web3.eth.get_transaction_count(address, 'latest'),该方法返回地址的nonce,即该地址已发送的交易总数;
  • 若需要统计发送+接收的总交易数,可通过节点接口遍历区块交易,用脚本批量匹配目标地址,示例Python伪代码:
    from web3 import Web3
    
    w3 = Web3(Web3.HTTPProvider('http://localhost:8545'))
    target_addresses = ["0x...", "0x..."]
    tx_count_map = {addr: 0 for addr in target_addresses}
    
    # 可优化为按区块范围批量处理,提升效率
    for block_num in range(start_block, w3.eth.block_number + 1):
        block = w3.eth.get_block(block_num, full_transactions=True)
        for tx in block.transactions:
            if tx['from'] in tx_count_map:
                tx_count_map[tx['from']] += 1
            if tx['to'] in tx_count_map:
                tx_count_map[tx['to']] += 1
    

2. 搭建本地区块链索引服务

使用Graph Node搭建本地索引,自定义Subgraph抓取涉及目标地址的所有交易事件,再通过Graph查询接口批量获取每个地址的交易统计。这种方式适合长期区块链分析需求,查询效率远高于直接遍历区块。

3. 导出链上数据后本地解析

利用Erigon的export命令将以太坊交易数据导出为本地CSV/JSON文件,编写Python或Go脚本读取文件,匹配目标地址并统计交易次数。导出的数据包含所有交易的from和to字段,全程本地操作无速率限制。

补充说明

你之前尝试的方案存在部分误解:

  • web3.py的get_transaction_count仅返回地址发送交易的nonce,并非总交易数;
  • Etherscan的account/txlist端点可获取地址交易列表并统计数量,但免费版有速率限制,不适合1000个地址的批量查询。

内容的提问来源于stack exchange,提问作者olethras

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 18:49:13