主页 > imtoken怎么用 > 如何以编程方式查找以太坊账户余额? 账户中有多少 ETH 或代币?

如何以编程方式查找以太坊账户余额? 账户中有多少 ETH 或代币?

imtoken怎么用 2023-11-14 05:08:30

我如何以编程方式找出以太坊区块链上给定帐户中有多少 ETH 或代币?

通过网页查询账户余额:

这种方法实际上不是编程。 如果您只是想获取账户或智能合约的余额别人知道以太坊钱包有多少钱,您可以访问:

或者

使用geth、eth、pyeth命令行控制工具查询以太坊账户余额:

使用JavaScript API,(使用Geth、eth、pyeth等控制台),可以获取以太坊账户的余额:

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

web3 是一个以太坊 JavaScript 类库,它是一个可用的以太坊接口。 具体可以参考web3.js1.0中文手册

eth 实际上是 Web3.eth 的简写(因为它在 geth 中自动可用)。 所以,其实上面查看以太坊账户余额的代码应该这样写:

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

web3.eth.coinbase 是控制台会话的默认帐户。 如果您愿意,可以插入其他值。 所有账户余额在以太坊中都是开放和公开的。 如果您有多个账户别人知道以太坊钱包有多少钱,您可以获得代币余额,如下所示:

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'));

这是一个显示所有帐户余额的方便脚本:

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;
    }
}

原版的:

也推荐一些以前的教程: