如何通过web3.js通过余额获得前N个以太坊账户?

Posted

技术标签:

【中文标题】如何通过web3.js通过余额获得前N个以太坊账户?【英文标题】:How to get top N Ethereum accounts by balance through web3.js? 【发布时间】:2019-04-06 20:15:12 【问题描述】:

我可以获取特定账户的余额,我想知道 web3.js 中是否有任何方法可以让前 N 个以太坊账户按其以太坊余额排序?

【问题讨论】:

【参考方案1】:

不直接。你必须编写一个脚本来扫描链上每个区块的每笔交易,通过查看每笔交易的to 来收集地址列表,从地址集合中过滤掉合约地址,然后检索余额剩余地址和排序。脚本写起来不是特别难,但运行起来可能需要很长时间。

【讨论】:

谢谢,我知道使用分布式计算来实现它会很有用,比如map-reduce,你觉得如何? 有很多方法可以做到。 Spark/MR 类型的解决方案当然没有错。您甚至可以使用简单的 RDBMS。引导数据后,您可以设置侦听器以在将新块添加到链中时对其进行处理。区块链上的交易率仍然非常低,使得分布式计算有点矫枉过正。但是,同样,这种方法没有错。

以上是关于如何通过web3.js通过余额获得前N个以太坊账户?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取以太坊账户的余额?

以太坊交易:为啥交易后余额没有变化?

从 Metamask 获取所有以太坊账户

牛奶ddw如何通过以太坊钱包实现互相打赏

以太坊Dapp开发通过web3.js调用智能合约

以太坊系列 - Web3.js