Web3js
使用 web3j 獲取 ERC20 代幣餘額
我可以使用 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");