Web3js

使用 web3j 獲取 ERC20 代幣餘額

  • October 25, 2018

我可以使用 web3 javascript 獲得我的自定義令牌的餘額。程式碼如下所示。

但是,當我切換到 web3j 時,我找不到像web3.eth.contract(contractABI).at(contractAddress).

誰能告訴我如何對 web3j 做同樣的事情?

var web3 = new Web3(new Web3.providers.HttpProvider("https://mainnet.infura.io/<APIKEY>"));

address = "0x0e2e75240c69495d2b9e768b548db381de2142b9" //From Etherscan
contractAddress = "0xd26114cd6EE289AccF82350c8d8487fedB8A0C07" //OMG
contractABI = human_standard_token_abi

tokenContract = web3.eth.contract(contractABI).at(contractAddress)

console.log(tokenContract.balanceOf(address).toNumber())

我想你正在尋找的是:

YourSmartContract contract = YourSmartContract.load(
       "0x<address>|<ensName>", web3j, credentials, GAS_PRICE, GAS_LIMIT);

然後使用以下方式與合約互動:

TransactionReceipt transactionReceipt = contract.someMethod(
            <param1>,
            ...).send();

編輯

與 web3.js 相比,使用web3j有點乏味。就像在 web3.js 中一樣,您可以通過以下方式解鎖帳戶:

web3.personal.unlockAccount("someAddress", "somePassword")

而在 web3.j 你需要

Credentials credentials = WalletUtils.loadCredentials("somePassword", "path_to_keystore_file");

引用自:https://ethereum.stackexchange.com/questions/37962