0

我正在尝试使用 web3j 从 erc20 代币合约中读取地址的余额。我已经生成了 java 等效的合同文件。在这个文件中,一个函数返回 RemoteCall 类型的对象。现在,如何解析这个输出以便我可以简单地得到数字(大整数值)?

当我尝试使用 android log 记录输出时,我得到了某种加密输出 -

org.web3j.protocol.core.RemoteCall@48c4d84

现在我完全困惑下一步该怎么做?

public RemoteCall<BigInteger> balanceOf(String param0) {
    final Function function = new Function(FUNC_BALANCEOF, Arrays.<Type>asList(new Address(param0)),
            Arrays.<TypeReference<?>>asList(new TypeReference<Uint256>() {}));
    return executeRemoteCallSingleValueReturn(function, BigInteger.class);
}

预期的输出是一个大整数类型的数字(地址的令牌余额)。

4

1 回答 1

0

您需要调用从返回send()的实例:RemoteCall<BigInteger>balanceOf()

RemoteCall<BigInteger> remoteCall = someObject.balanceOf(someParameter);
BigInteger result = remoteCall.send();
于 2019-04-23T22:16:14.887 回答