geth入门命令和miner.start返回null的问题

geth –datadir “./ethdev” –nodiscover console 2>>geth.log //geth 进入控制台 –datadir 指定链的目录 与公有链区分开
进入命令行模式,其中参数
–datadir 表明文件夹地址,
–nodiscover 表明该链条不但愿被其余节点发现,
console >> geth.log 表明将控制台输出到文件geth.log中去
固然从命令行模式退出,也很简单,只要打入exit, 便可退出web

eth.accounts //查询帐户
[]
这样建立的链中没有帐户区块链

personal.newAccount(“123456”) //建立一个帐户 参数为私钥密码 返回值为帐户的公钥.net

eth.getBalance(user1) //获取帐户的余额
刚开始建立的帐户余额都为0命令行

这里写图片描述

eth.blockNumber //查看区块链数3d

miner.start() //开始挖矿blog

miner.stop() //中止挖矿图片

这里写图片描述
这里执行 miner.start() 却返回null 。而且eth.blockNumber 数没有发生变化,所以判定没有挖矿。get

根据产生的问题解决方法: 参考连接 http://mp.weixin.qq.com/s/AB9vj1EzOgWT7JyryfQhDg 这种方法实际不能解决问题。it

而后能够参考 http://blog.csdn.net/wo541075754/article/details/79260040 能够解决不能挖矿的问题。io

–dev Ephemeral proof-of-authority network with a pre-funded developer account, mining enabled
–dev.period value Block periodtouseindeveloper mode (0= mine onlyiftransaction pending) (default:0)

由于在启动geth命令行的时候须要添加这两个参数。

这里写图片描述
虽然miner.start 仍是返回null,可是 eth.blockNumber 却增加了,所以说明能够挖矿了。

添加–dev 参数,启动的时候便产生了一个帐户,而且已经挖矿有余额。

eth.sendTransaction({from: user1, to: user2, value: amount}) //将0.01以太币从 user1 转移到user2 转移数量为0.01以太币

执行eth.sendTransaction 以后 user2的余额仍是0,那是由于没有进行挖矿,交易没有完成。 挖矿以后user2便有了余额.
这里写图片描述

补充:

Ether币的基本单位
Ether币最小的单位是Wei,也是命令行默认的单位, 而后每1000个进一个单位,依次是

  • kwei (1000 Wei)
  • mwei (1000 KWei)
  • gwei (1000 mwei)
  • szabo (1000 gwei)
  • finney (1000 szabo)
  • ether (1000 finney)
    简单地说就是就是1 以太币 = 1000000000000000000 Wei (这就是上一站章中为什么咱们转移0.01个以太币,结果却显示很长的缘由)

如何进行ether 和 Wei之间的转换
Ether–> Wei:web3.toWei

web3.toWei(1)
“1000000000000000000”
web3.toWei(1.3423423)
“1342342300000000000”
web3.toWei(0.00034)
“340000000000000”

Wei –> Ether: web3.fromWei
web3.fromWei(10000000000000000)
“0.01”
web3.fromWei(1000000000000000000)
“1”

以太坊的一个保护机制,每隔一段时间帐户就会自动锁定,这个时候任何以太币在帐户之间的转换都会被拒绝,除非把该帐户解锁.
personal.unlockAccount(user1) 并输入密码来解锁user1才能够.

参考文章连接:http://www.8btc.com/eth-geth