Ответ 1
В Интернете:
(Не является программным, но для полноты...) Если вы просто хотите получить баланс учетной записи или контракта, вы можете посетить http://etherchain.org или http://etherscan.io.
Из консолей geth, eth, pyeth:
Используя Javascript API (это то, что использует geth, eth и pyeth консолей), вы можете получить баланс учетной записи со следующим:
web3.fromWei(eth.getBalance(eth.coinbase));
"web3" - это библиотека, поддерживающая Ethereum, web3.js.
"eth" на самом деле является сокращением для "web3.eth" (автоматически доступно в geth). Итак, на самом деле, выше следует написать:
web3.fromWei(web3.eth.getBalance(web3.eth.coinbase));
"web3.eth.coinbase" - это учетная запись по умолчанию для сеанса консоли. Если хотите, вы можете подключить к нему другие значения. Все остатки на счетах открыты в Ethereum. Например, если у вас несколько учетных записей:
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]));
или
web3.fromWei(web3.eth.getBalance('0x2910543af39aba0cd09dbb2d50200b3e800a63d2'));
EDIT: здесь удобный script для перечисления остатков всех ваших учетных записей:
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();
Внутренние контракты:
Внутри контрактов Solidity обеспечивает простой способ получения остатков. Каждый адрес имеет свойство .balance, которое возвращает значение в wei. Пример контракта:
contract ownerbalancereturner {
address owner;
function ownerbalancereturner() public {
owner = msg.sender;
}
function getOwnerBalance() constant returns (uint) {
return owner.balance;
}
}