从 Etherscan Token Tracker 获取代币持有者数量和交易数量

Get number of token holders and number of transactions from Etherscan Token Tracker

我已经使用 web3.js 获得了总供应代币的数量 但现在我面临的问题是,我不知道如何获得代币持有者的数量(我不需要持有者名单)和交易数量。我认为这是非常相似的。是否可以使用 web3.js 来实现? 我在 rinkeby 网络中使用我的测试令牌进行测试: https://rinkeby.etherscan.io/token/0x3ead2f2dacdcba32f9834a71464cae15a88755e8 或主网中的 Binance 代币 https://etherscan.io/token/0xB8c77482e45F1F44dE1745F52C74426C631bDD52

ERC-20 令牌不直接支持此功能。因此,如果你想这样做,你将不得不自己添加额外的功能,并在每次转移发生时跟踪谁拥有代币以及谁不拥有代币。然后你可以创建一个函数来获取这个数字。由于 ERC-20 不支持它,因此您不会在 etherscan 上找到它,您必须自己获取它。添加额外功能不会阻止令牌成为 ERC-20。

另一种方法是迭代所有地址,这是一个非常糟糕的主意。

或者如果你有一个服务器 运行 你可以监听合约上的所有事件并在你自己的数据库中跟踪持有者。