bscscan怎么监控钱包地址
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bscscan怎么监控钱包地址相关的知识,希望对你有一定的参考价值。
参考技术A 1. 注册 Tokenview 开发者账户「地址监控」就是当被监控地址的充值/提现(收款/打款)交易成功上链后,Tokenview API 就会通过 webhook 的方式,把此交易的相关消息 POST 到您设置的 Webhook URL 上。
想要完成地址监控操作,首先,需要注册一个Tokenview 开发者账户。
2. 设置地址监控 Webhook URL
注册完成后登入API系统后台,点击地址监控【Address Track】>> 【设置】。
请务必设置【接收 URL】,如不设置或设置错误,将无法接收到推送的余额变化通知。
选择你想要监控的币种并输入需要监控的地址。目前Tokenview 地址监控API支持的币种为:BTC,ETH(包括所有ERC20代币),TRX(包括所有TRC20代币)。如需监控 USDT ERC20 地址,请选择 ETH,如需监控 USDT TRC20 地址,请选择TRX。
3. 如何增加或删除被监控的地址
用户可以直接在Tokenview API节点服务系统后台添加和删除地址。在接收URL不变的情况下,选择监控的币种和输入监控地址。点击【添加】。
在调用管理页面就可以查看到被监控的地址。也可以直接删除该地址。
4. 如何接收推送的 Webhook 记录
通过上述步骤设置后,当被监控的地址发生转账操作时,就可以接收到消息。你可以在API节点服务系统后台筛选查看。
Web3 通过钱包地址获取所有代币
【中文标题】Web3 通过钱包地址获取所有代币【英文标题】:Web3 Get All Tokens by Wallet Address 【发布时间】:2021-09-06 03:45:12 【问题描述】:我正在尝试提取钱包地址持有的代币合约列表,类似于 bscscan 的做法,但以编程方式除外。 bscscan.com/apis 没有端点,web3 似乎只报告 ETH 余额。
这是可以实现的,因为 bscscan 会报告该列表,并且许多令牌跟踪器(例如 farmfol.io )似乎也提取了该信息。我只是没有找到正确的方法。感谢您提供任何帮助!
【问题讨论】:
【参考方案1】:ERC-20(和ERC-20-like如TRC-20、BEP-20等)每个地址的代币余额存储在代币合约中。
区块链浏览器扫描每笔交易中的Transfer()
事件,如果发射器是代币合约,他们会更新各自数据库中的代币余额。每个地址的所有代币余额(来自这个单独的数据库)然后显示为地址详细信息页面上的代币余额。
Etherscan 和 BSCScan 目前不提供返回每个地址的代币余额的 API。
为了获得一个地址的所有 ERC-20 代币余额,最简单的解决方案(除了找到返回数据的 API 之外)是遍历所有代币合约(或者只是您感兴趣的代币) ,并调用他们的balanceOf(address)
函数。
const tokenAddresses = [
'0x123',
'0x456',
];
const myAddress = '0x789';
for (let tokenAddress of tokenAddresses)
const contract = new web3.eth.Contract(erc20AbiJson, tokenAddress);
const tokenBalance = await contract.methods.balanceOf(myAddress).call();
【讨论】:
我刚刚对其进行了测试,您的代码运行起来非常有魅力。感谢您的帮助! 您好。感谢您的回答。查看您的代码,我想知道除了所有 erc20 令牌地址之外,您是否还需要它们各自的 abis 才能完成这项工作。正确的?如果可以的话,请为我澄清一下。再次感谢 @AllJs 在这种情况下,你只需要balanceOf()
函数的 ABI,这对于所有代币合约都是一样的(假设它们都遵循 ERC20 标准),因为你只是在调用这个函数...如果你想调用其他函数,你也需要将它们添加到ABI中。以上是关于bscscan怎么监控钱包地址的主要内容,如果未能解决你的问题,请参考以下文章