列出账户和检查余额
列出你现有的账户
在命令行输入:
$ geth account list
Account #0: {d1ade25ccd3d550a7eb532ac759cac7be09c2719}
Account #1: {da65665fc30803cb1fb7e6d86691e20b1826dee0}
Account #2: {e470b1a7d2c9c5c6f03bbaa8fa20db6d404a0c32}
Account #3: {f4dd5c3794f1fd0cdc0327a83aa472609c806e99}
copy
会列出你所创建的所有账户
注意: 假如你从其他的节点拷贝密钥文件过来,这个顺序会发生改变。所以您确保不依靠索引,或确保您复制了您在脚本中检查和更新帐户索引的密钥。
使用控制台:
> eth.accounts
['0x407d73d8a49eeb85d32cf465507dd71d507100c1']
copy
或者使用RPC:
# Request
$ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":1} http://127.0.0.1:8545'
# Result
{
"id":1,
"jsonrpc": "2.0",
"result": ["0x407d73d8a49eeb85d32cf465507dd71d507100c1"]
}
copy
如果您想以非交互方式使用帐户,则需要解除锁定。您可以在命令行上执行此操作,该--unlock
选项将空白分隔的帐户列表(十六进制或索引)作为参数,以便您可以以一种会话方式解锁帐户。如果您想通过RPC从Dapps使用您的帐户,这是非常有用的。--unlock
将解锁第一个帐户。当您以编程方式创建帐户时,您不需要知道实际的帐户来解锁它,这是非常有用的.
解锁一个帐户:
geth --password <(echo this is not secret!) account new
geth --password <(echo this is not secret!) --unlock primary --rpccorsdomain localhost --verbosity 6 2>> geth.log
copy
您可以使用整数索引替代帐户地址,它指的是帐户列表中的地址位置(并且对应于创建顺序)。
命令行允许您解锁多个帐户。在这种情况下,解锁的参数是空白分隔的帐户地址或索引列表。
geth --unlock "0x407d73d8a49eeb85d32cf465507dd71d507100c1 0 5 e470b1a7d2c9c5c6f03bbaa8fa20db6d404a0c32"
copy
如果使用这种非交互式结构,您的密码文件将需要包含相关帐户的相应密码,每行一个。
您也可以在控制台上解锁帐户(一次一个)
personal.unlockAccount(address, "password")
Note that we do NOT recommend using the password argument here, since the console history is logged, so you may compromise your account. You have been warned.
copy
注意: 我们 不建议 在这儿使用密码作为参数,,因为Console会保存历史记录,这样会危及你的账户,这点我们已经警告过了。
检查账户余额
检查你以太坊的账户余额:
> web3.fromWei(eth.getBalance(eth.coinbase), "ether")
6.5
copy
使用JavaScript方法打印所有的余额:
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++;
})
};
copy
可以这样调用:
> checkAllBalances();
eth.accounts[0]: 0xd1ade25ccd3d550a7eb532ac759cac7be09c2719 balance: 63.11848 ether
eth.accounts[1]: 0xda65665fc30803cb1fb7e6d86691e20b1826dee0 balance: 0 ether
eth.accounts[2]: 0xe470b1a7d2c9c5c6f03bbaa8fa20db6d404a0c32 balance: 1 ether
eth.accounts[3]: 0xf4dd5c3794f1fd0cdc0327a83aa472609c806e99 balance: 6 ether
copy
由于这个功能在geth重启后会消失,把常用的方法记录下来以便以后调用。loadScript使得这样做很容易。
首先把checkAllBalances()保存至电脑上的一个文件中。例如: /Users/username/gethload.js
。接着从交互式控制台上导入文件:
> loadScript("/Users/username/gethload.js")
true
该文件将修改您的JavaScript环境,就像您手动键入命令一样。请随意试验!