Ich werfe eine Beispiel-App zusammen. Ich möchte eine Adresse abfragen und deren Kontostand anzeigen.
Im Konstruktor meiner React-Komponente frage ich eine zufällige Adresse ab:
constructor(props) {
super(props)
var web3 = new Web3(new Web3.providers.HttpProvider());
// TODO: This should be a form input
// Bittrex Address
this.address = '0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb98'
this.accountBalance = web3.fromWei(web3.eth.getBalance(this.address), 'ether');
}
Ich führe geth mit dem Terminalbefehl aus:
geth --testnet --fast --rpc --rpcapi db,eth,net,web3,personal --cache=1024 --rpcport 8545 --rpcaddr 127.0.0.1 --rpccorsdomain "*"
Wenn ich this.accountBalance.toString()
an die Konsole ausgebe, ist es 0. Wenn ich jedoch den Kontostand einer gültigen Adresse in meinem lokalen Testnet (testrpc) ausgebe, wird 100 (Standardsaldo) ausgegeben.
Was mache ich falsch
Mit geth --testnet
sind Sie mit der Ropsten-Kette verbunden.
Der Saldo der Adresse aus Ihrem Code ist in dieser Kette tatsächlich 0. Bitte überprüfen Sie es in Etherscan https://ropsten.etherscan.io/address/0x7a970c5653b72232c9d52f7bcda80fc9fbecb7d3
Wenn Sie wirklich den Kontostand dieser Adresse im Mainnet wissen wollen, sollten Sie geth ohne --testnet
Parameter starten oder Sie können es schnell mit Verbindung von web3 zu INFURA RPC-URL überprüfen: https://mainnet.infura.io/your_access_token
Huy
Huy