geth 常用指令

1. 创建账户

$ geth account new

> personal.newAccount(<password>)

2. 查看账户

$ geth account list

3. 快速同步模式

$ geth --fast console 2>network_sync.log

4. 浏览日志

> tail -f network_sync.log

5. 查看账户余额

> eth.getBalance(<address>)

6. 解锁账户

> personal.unlockAccount(<address>, <password>) 

7. 挖矿

$ geth --mine --minerthreads=4

或者

> miner.start(4)

8. 结束挖矿

> miner.stop()

9. 查看挖矿速率

> miner.getHashrate()

10. 查看区块高度

 > eth.blockNumber

11. 查看挖矿账户

> eth.coinbase

12. 设置挖矿账户

> miner.setEtherbase(<address>) 

13. 预估手续费

> bytecode = "******"

> web3.eth.estimateGas({data: bytecode})

以发起一个 0.01 个 ether 的转账交易为例

> var sender = eth.accounts[0];

> var receiver = eth.accounts[1];

> var amount = web3.toWei(0.01, "ether")

> eth.sendTransaction({from:sender, to:receiver, value: amount, gas: gasAmount})

在控制台里,使用这些命令检查连接状态

> net.listening:检查是否连接

> net.peerCount:连接到的节点个数

> admin.peers:返回连接到的节点的详细信息

> admin.nodeInfo:返回本地节点的详细信息

 

14. 账户操作

eth.accounts //查看账户
personal.listAccounts                    //查看账户
personal.newAccount(<password>)  //新建账户
personal.unlockAccount(<address>, <password>)  //解锁账户
personal.lockAccount(<address>)    //锁定账户

15. 代币操作

eth.getBalance(<address>)   //查看余额
web3.fromWei()   //单位换算
eth.sendTransaction({from: <address>, to:<address>, value: <count>})//转账到账户
例如:
> eth.sendTransaction({
from: "0x89020f1ffdbb6ed5069cfe032d1ecae1e3825462",
to:"0x45d20f1ffdbb6ed5069cfe032d1ecae1e382fc40",
value: web3.toWei(1, "ether")})

16. 节点操作

  • net模块
net.listening             //查看节点状态 
net.peerCount             // 查看节点链接的数量
  • admin模块
admin.nodeInfo          //查看节点信息
admin.addPeer()           //添加节点
admin.peers             //查看添加的节点的信息

17. 一些设置命令

miner.setEtherbase(<address>) //etherbase地址并不需要一定是本机上
miner.setExtra("codebaoku")    //写一些额外信息
eth.getBlock(n)  //查看区块信息

一条区块链由一个创世区块开始,也就是说,一个创世区块可以创造和代表一条区块链。如果我们给客户端设定不同的创世区块,它就将工作在不同的区块链上。工作在同一条区块链上的全部节点,我们称 ...