我想使用 web3j 检查用户的几个符合 ERC20 的令牌的余额。
是否有一种通用的方法(每个 ERC20 合同通用)或者我应该为每个合同获取 ABI 并从中生成 java 类?
我想使用 web3j 检查用户的几个符合 ERC20 的令牌的余额。
是否有一种通用的方法(每个 ERC20 合同通用)或者我应该为每个合同获取 ABI 并从中生成 java 类?
我从来没有用过web3j,但我用过不少web3js。我会将您链接到相关信息。
这是一个已经在 web3j 库的测试中创建的接口,因此是最好的起点。
检查余额是您不想为其生成交易的事情(因为它不会改变区块链的状态),因此您应该使用“调用”,如此处所述。
此外,首先了解以太坊如何创建 ABI 可能很有用。每个事务或调用都可以包含数据,然后网络使用这些数据来确定正在调用的函数及其参数。此函数的逻辑位于函数名称/参数(一些信息)的 kekak 散列的前 4 个字节的地址,这就是为什么此散列无冲突如此重要的一个原因(想象 2 个不同的函数散列到相同的地址)。但最重要的是,所有 erc20 代币(如果它们遵循标准)都具有用于这些功能的通用 ABI。
PS。下次我认为这个问题更适合Ethereum Stackexchange。