创建账户
personal.newAccount("123456")
输入的参数是该账户对应的密码,账户地址保存在主目录下的keystore目录中
查询系统中的账户
personal.listAccounts
eth.accounts
这个两个命令都可列出系统中的账户地址
查询账户余额,单位是wei,1eth = 1 0 18 10^{18} 1018wei
eth.getBalance(eth.accounts[0])
eth.getBalance(eth.accounts[1])
eth.getBalance("0xf116d212c0e1fb2bd31ae9ad28659bbf0c8d3e7c") // 需要查询的账户地址
// 账户余额换算
// 将wei换算成eth
web3.fromWei(eth.getBalance(eth.accounts[0]))
// 将eth换算成wei
web3.toWei(10)
账户交易
在进行账户交易前,需要将发起交易的账户进行解锁
personal.unlockAccount(eth.accounts[0],"123456") // 前面也可改为账户地址,后面的是账户的密码
eth.sendTransaction({from:eth.accounts[0],to:eth.accounts[1],value:web3.toWei(1,"ether")})
账户交易后,未启用挖矿,交易不会写入区块链中,存放在本地交易池里面
txpool.status // 查看本地交易池
eth.getBlock("pending", true).transactions //查看当前待确认交易的详细信息
启动挖矿与暂停
挖矿默认为系统中的第一个账户
eth.coinbase // 查看系统挖矿的账户
miner.setEtherbase(eth.accounts[1]) // 设置挖矿账户
miner.start(1) // 参数代表挖矿使用的线程数
miner.stop()
// 成功挖矿一次后就结束
miner.start(1);admin.sleepBlocks(1);miner.stop();
查看交易和区块
eth.blockNumber // 查看当前区块总数
// 通过交易hash查看交易详细信息
eth.getTransaction("0x463b4518291dcf06a7b6575e38049ee0c3a3ff07ebddcc6d5d14959e2506db48")
// 通过区块号查看区块
eth.getBlock(70)
私链多个节点连接
在多节点私链搭建中,各个节点的创世文件都相同,且需要记住文件中的chainID号,在启动每个节点时,启动命令都需要加入--networkid "chainID号"
启动成功后,获取每个节点的节点信息
admin.nodeInfo
admin.nodeInfo.enode
使用admin.addPeers()命令进行多个节点的连接
admin.addPeer("enode://......@192.168.1.106:30301?discport=0")
admin.peers // 查看连接到的节点
net.listening // 查看当前连接状态
net.peerCount // 查看节点连接数
net.version // 查看连接的私链id