使用web3j检查ERC20合同中的余额

时间:2017-12-02 22:19:03

标签: java ethereum smartcontracts web3-java

我想使用web3j检查用户的几个ERC20兼容令牌的余额。

是否有通用的方法(每个ERC20合同都是通用的)或者我应该为每个合同获得ABI并从中生成java类吗?

1 个答案:

答案 0 :(得分:2)

我从未使用过web3j,但我使用了web3js。我会将您链接到相关信息。

Here是一个已经在web3j库的测试中创建的接口,因此是最好的起点。

额外的笔记(这可能是你的基本知识)

检查余额是您不希望为其生成交易(因为它不会更改区块链的状态),因此您应该使用“调用”,如here所述。

此外,了解以太坊如何创建ABI可能很有用。每个事务或调用都可以包含数据,然后网络使用此数据来确定调用哪个函数及其参数。这个函数的逻辑位于函数名/参数(some info)的kekak散列的前4个字节的地址,这是为什么这个散列是无冲突的重要原因之一(想象一下) 2个不同的函数散列到同一地址)。但这样做的结果是所有erc20令牌(如果它们遵循标准)都具有这些功能的共同ABI。

PS。下次我认为这个问题更适合Ethereum Stackexchange