Geth控制台的进阶使用 March 5, 2018 [TOC] #### 两个参数 ``` // js加载路径,默认当前目录 --jspath loadScript // 要执行的js命令 --exec value ``` 启动Geth时加上`--jspath script --exec "loadScript('help.js')"` #### 查看所有钱包账户余额 上面两个参数加载help.js到控制台,我们可以在help.js中写一些辅助函数帮助我们提升效率。 ``` 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++; }) }; ``` 注意: eth.accounts为当前控制台里新建的所有钱包,不是值整个区块链上的钱包地址。 #### 仅在有交易时挖矿 ``` function minerWhenTransaction() { function checkWork() { if (eth.getBlock("pending").transactions.length > 0) { if (eth.mining) return; console.log("== Pending transactions! Mining...=="); miner.start(1); } else { miner.stop(); // This param means nothing console.log("== No transactions! Mining stopped.=="); } } eth.filter("latest", function(err, block) { checkWork(); }); eth.filter("pending", function(err, block) { checkWork(); }); checkWork(); } ``` #### 查看代币余额 ``` ... ``` 当然你还可以实现其他更多辅助功能。