如何按地址获取以太坊交易清单

Pab*_*abo 4 transactions ethereum

我正在寻找一种方法来获取给定地址的事务列表.如果有太多的交易,我希望能够分页结果.如果我可以将最新处理的事务作为参数提供,那么我可以从给定点获取最新的事务.

像这样的东西:

var page = 1;
txList = getTransactionList("0x323432432...", page, lastProcessedTx);
Run Code Online (Sandbox Code Playgroud)

Pab*_*abo 7

从我的研究到目前为止,没有办法获得地址的交易清单.您应该检查区块链中给定地址的所有事务,或者将地址与数据库中的事务哈希相关联.请参阅此线程以确认缺少所需的API:https: //github.com/ethereum/go-ethereum/issues/1897

另一种方法是使用Etherscan API:https://etherscan.io/apis 但它取决于第三方服务器.


jma*_*eli 7

也许你现在最好的选择是使用https://www.covalenthq.com/docs/api/

据我所知,它是免费使用的,没有速率限制。在您的示例中,API 请求将如下所示:

curl -X GET "https://api.covalenthq.com/v1/1/address/0x5a6d3b6bf795a3160dc7c139dee9f60ce0f00cae/transactions_v2/?&key=[YOUR_API_KEY]" \
 -H "Accept: application/json"

Run Code Online (Sandbox Code Playgroud)

https://www.covalenthq.com/docs/api/#get-/v1/{chain_id}/address/{address}/transfers_v2/


小智 5

已知的以太坊节点缺乏获取 ETH 地址(账户)交易列表的功能。

\n\n

为了解决这个问题,有免费开源的第三方解决方案\xe2\x80\x94以太坊交易索引器:https://github.com/Adamant-im/ETH-transactions-storage

\n\n

索引器允许通过以太坊地址探索交易,并只需一步即可获取任何用户|钱包的历史记录,就像 Etherscan 所做的那样。索引器是用 Python 编写的。它作为后台服务运行:

\n\n
    \n
  • 连接以太坊节点(与geth或parity配合使用效果良好,其他未测试)
  • \n
  • 将所有交易存储在 Postgres 数据库中(包括智能合约交易)
  • \n
  • 为API提供数据以通过地址获取交易
  • \n
\n\n

Indexer 连接到以太坊节点并使用 JSON RPC 获取交易,在 Postgres 数据库中创建交易索引。第一个索引器将从您指定的块开始存储交易。之后,它将每 20 秒检查一次新块并更新索引。您可以更改间隔。

\n\n

以太坊交易索引器的 API 由 Postgrest 工具发布。如果您需要提供公共 API,请使用任何网络服务器(例如 nginx)并在配置中设置 Postgrest 端口的代理。

\n\n

创建索引后,您可以使用类似的请求

\n\n
curl -k -X GET "http://localhost:3000/?and=(contract_to.eq.,or(txfrom.eq.0x6b924750e56a674a2ad01fbf09c7c9012f16f094,txto.eq.0x6b924750e56a674a2ad01fbf09c7c9012f16f094))&order=time.desc&limit=25"\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者

\n\n
https://yourserver.com/ethtxs?and=(contract_to.eq.,or(txfrom.eq.0x6b924750e56a674a2ad01fbf09c7c9012f16f094,txto.eq.0x6b924750e56a674a2ad01fbf09c7c9012f16f094))&order=time.desc&limit=25\n
Run Code Online (Sandbox Code Playgroud)\n\n

该请求将显示以太坊地址 0x6b924750e56a674a2ad01fbf09c7c9012f16f094 的最后 25 笔交易,按时间戳排序。

\n