2015-08-31 8 views

Antwort

40

Auf dem Internet:

(nicht programmatisch, aber der Vollständigkeit halber ...) Wenn Sie nur den Saldo eines Kontos oder Vertrag erhalten möchten, können Sie http://etherchain.org oder http://etherscan.io besuchen.

Von der Geth, eth, pyeth Konsolen:

den Javascript-API, (das ist, was der Geth, eth und pyeth Konsolen verwenden), können Sie die Balance eines Konto mit dem folgenden erhalten:

web3.fromWei(eth.getBalance(eth.coinbase)); 

"web3" ist die Ethereum-compatible Javascript library web3.js.

"eth" ist eigentlich eine Abkürzung für "web3.eth" (automatisch in Geth verfügbar). Also, wirklich, sollte die oben geschrieben werden:

web3.fromWei(web3.eth.getBalance(web3.eth.coinbase)); 

„web3.eth.coinbase“ ist das Standardkonto für Ihre Konsolensitzung. Sie können andere Werte dafür anschließen, wenn Sie möchten. Alle Kontostände sind in Ethereum geöffnet. Ex, wenn Sie mehrere Konten haben:

web3.fromWei(web3.eth.getBalance(web3.eth.accounts[0])); 
web3.fromWei(web3.eth.getBalance(web3.eth.accounts[1])); 
web3.fromWei(web3.eth.getBalance(web3.eth.accounts[2])); 

oder

web3.fromWei(web3.eth.getBalance('0x2910543af39aba0cd09dbb2d50200b3e800a63d2')); 

EDIT: Hier ist ein handliches Skript zum Auflisten der Salden aller Konten:

function checkAllBalances() { var i =0; eth.accounts.forEach(function(e){ console.log(" eth.accounts["+i+"]: " + e + " \tbalance: " + web3.fromWei(eth.getBalance(e), "ether") + " ether"); i++; })}; checkAllBalances(); 

Innen Verträge:

Innerhalb von Verträgen bietet Solidity eine Sim ple Weg, um Bilanzen zu bekommen. Jede Adresse hat die Eigenschaft .balance, die den Wert in wei zurückgibt. Mustervertrag:

contract ownerbalancereturner { 

    address owner; 

    function ownerbalancereturner() public { 
     owner = msg.sender; 
    } 

    function getOwnerBalance() constant returns (uint) { 
     return owner.balance; 
    } 
} 
+2

Kann ich empfehlen, dass Ihr Skript Salden für die Auflistung viel einfacher sein: eth.accounts.forEach (Funktion (e, i) {console.log ("eth.accounts [" + i + "]:" + e + "\ tBalance:" + web3.fromWei (eth.getBalance (e), " ether ") +" ether ")}) – user208769

+0

eth.getBalance() empfängt 2 Parameter, nicht 1, was passiert, wenn Sie nur einen liefern? Was ist der Standard für den zweiten? – knocte

0

Für die neue Version der web3 API:

Die neueste Version von web3 API (Vers. Beta 1.xx) verwendet Versprechen (asynchron, wie Rückruf). Dokumentation: web3 beta 1.xx

Daher ist es ein Versprechen und gibt String für die angegebene Adresse in wei zurück.

Ich bin auf Linux (openSUSE), Geth 1.7.3, Rinkeby Astraleum testnet, mit Meteor 1.6.1, und bekam es die folgende Art und Weise über IPC Provider meinem Geth Knoten eine Verbindung zu arbeiten:

// serverside js file 
 

 
import Web3 from 'web3'; 
 

 
if (typeof web3 !== 'undefined') { 
 
    web3 = new Web3(web3.currentProvider); 
 
} else { 
 
    var net = require('net'); 
 
    var web3 = new Web3('/home/xxYourHomeFolderxx/.ethereum/geth.ipc', net); 
 
}; 
 

 
    // set the default account 
 
    web3.eth.defaultAccount = '0x123..............'; 
 

 
    web3.eth.coinbase = '0x123..............'; 
 

 
    web3.eth.getAccounts(function(err, acc) { 
 
    _.each(acc, function(e) { 
 
     web3.eth.getBalance(e, function (error, result) { 
 
     if (!error) { 
 
      console.log(e + ': ' + result); 
 
     }; 
 
     }); 
 
    }); 
 
    });