Ich verwende Code wie diesen, um mein Ethereum-Guthaben mit web3 zu erhalten
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="./web3.min.js"></script>
<script type="text/javascript">
window.addEventListener('load', function () {
if (typeof web3 !== 'undefined') {
console.log('Web3 Detected! ' + web3.currentProvider.constructor.name)
window.web3 = new Web3(web3.currentProvider);
} else {
console.log('No Web3 Detected... using HTTP Provider')
window.web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}
})
function getBalance() {
var address, wei, balance
address = document.getElementById("address").value
try {
web3.eth.getBalance(address, function (error, wei) {
if (!error) {
var balance = web3.fromWei(wei, 'ether');
document.getElementById("output").innerHTML = balance + " ETH";
}
});
} catch (err) {
document.getElementById("output").innerHTML = err;
}
}
</script>
</head>
<body>
<h1>ETH Balance Fetcher</h1>
<p>Enter your Ethereum Address:</p>
<input type="text" size="50" id="address" />
<button type="button" onClick="getBalance();">Get Balance</button>
<br />
<br />
<div id="output"></div>
</body>
</html>
Aber es funktioniert nicht für Token.
Zum Beispiel erstelle ich ERC20 und die Vertragsadresse ist 0xa318948fd693281fa6a95a409b3efb79e228edec
(ich füge sie in Metamaske hinzu und sie zeigt mein Token-Guthaben)
Wie kann ich es mit web3 lesen? tnx für die Hilfe
Sie verwenden mein ETH-Balance- Beispiel, das nicht funktioniert, wenn Sie sich einen ERC20-Token ansehen. Dieses Beispiel soll das Ether-Guthaben an einer bestimmten Adresse abrufen.
Stattdessen sollten Sie mein anderes Beispiel ERC-20-Token-Balance verwenden , wo Sie sowohl die Vertragsadresse als auch die Adresse eingeben können, an der Sie den Kontostand der Token überprüfen möchten.
Hier kannst du es live ausprobieren: http://shawntabrizi.com/ethbalance/erc20/
async function getERC20Balance() {
var address, contractAddress, contractABI, tokenContract, decimals, balance, name, symbol, adjustedBalance
address = document.getElementById("address").value
contractAddress = document.getElementById("contractAddress").value
contractABI = human_standard_token_abi
tokenContract = web3.eth.contract(contractABI).at(contractAddress)
decimals = promisify(cb => tokenContract.decimals(cb))
balance = promisify(cb => tokenContract.balanceOf(address, cb))
name = promisify(cb => tokenContract.name(cb))
symbol = promisify(cb => tokenContract.symbol(cb))
try {
adjustedBalance = await balance / Math.pow(10, await decimals)
document.getElementById("output2").innerHTML = adjustedBalance;
document.getElementById("output2").innerHTML += " " + await symbol + " (" + await name + ")";
} catch (error) {
document.getElementById("output2").innerHTML = error;
}
}
Jaime
Daniel Qsk
zog
GrandFleet
Shane Fontaine