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

eth.accounts //查询账户
[]
这样创建的链中没有账户

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

eth.getBalance(user1) //获取账户的余额
刚开始创建的账户余额都为0

eth.blockNumber //查看区块链数

miner.start() //开始挖矿

miner.stop() //停止挖矿


这里执行 miner.start() 却返回null 。并且eth.blockNumber 数没有发生变化,因此断定没有挖矿。

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

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

–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才可以.

geth入门命令和miner.start返回null的问题的更多相关文章

  1. 解决miner.start() 返回null

    下面我列举了三种解决方案,前面两张是某两位大佬试出来的,第三种是我蒙出来的. 第一种解决方案 转载自  http://mp.weixin.qq.com/s/AB9vj1EzOgWT7JyryfQhDg ...

  2. 以太坊执行miner.start返回null终极解决方案

    参考博文:https://blog.csdn.net/wo541075754/article/details/79260040

  3. (大数据工程师学习路径)第一步 Linux 基础入门----命令执行顺序控制与管道

    介绍 顺序执行.选择执行.管道.cut 命令.grep 命令.wc 命令.sort 命令等,高效率使用 Linux 的技巧. 一.命令执行顺序的控制 1.顺序执行多条命令 通常情况下,我们每次只能在终 ...

  4. json_decode返回NULL

    最近在调用某公司的API时,将对方返回的数据,使用PHP的json_decode函数解析,但是返回NULL,最终排查为对方传送来的json格式有误 打印$_REQUEST,数据结构大致如下: arra ...

  5. $.parseJson 在 firefox 下返回 null 的问题

    最近调查一个浏览器兼容性问题,在 IE, chrome下都运行正常,但是在 firefox 下运行时: $.parseJson(xxx) 返回 null,所以导致了 无法正常运行,调查的结果是因为 返 ...

  6. Type.GetType()反射另外项目中的类时返回null的解决方法

    项目1:ProjectA namespace ProjectA { public class paa { .... } } Type.GetType("paa")返回null Ty ...

  7. findViewById返回null

    Q:findViewById返回null? A: 代码逻辑错误: 最终,发现错误竟然是在layout文件中把android:id写成了android:name. android:name=" ...

  8. Xamarin +vs2015 Android 开发GPS loaction 返回 null 小结

    最近公司要开发android 所以研究了一下Xamarin  to android 中个GPS 废话不多说,说重点. 想获取手机上的gps信息必不可少的就是要使用 LocationManager Lo ...

  9. c#泛型方法返回null的问题

    c#的泛型方法实现和java实现有点不同,在java中,所有的泛型方法运行时类型必须是引用类型,所以和非泛型一样可以返回null. 但是c#中有点不同,可以同时是值类型和引用类型,而值类型不能赋值nu ...

随机推荐

  1. jar下载及Maven配置整理

    Spring的各版本jar包下载地址http://repo.spring.io/release/org/springframework/spring/ springframework下载地址https ...

  2. tornado 常见问题处理

    1 怎么获取从页面中的传值 使用 self.get_body_argument tornado的参数存储在self.request.body内,通过json以后就可以直接取值,当初我在前端使用angu ...

  3. 5.Hbase API 操作开发

    Hbase API 操作开发需要连接Zookeeper进行节点的管理控制 1.配置 HBaseConfiguration: 包:org.apache.hadoop.hbase.HBaseConfigu ...

  4. jquery中的ajaxSetup

    在项目开发中如果我们想给某一个页面中的所有的ajax设置统一的参数的情况下,可以是使用ajaxSetup,非常好用 $.ajaxSetup({ type:'post', dataType:'json' ...

  5. waitpid()

    waitpid() pid_t waitpid(pid_t pid, int *status, int options); 参数: pid>0 只等待进程ID等于pid的子进程,不管其它已经有多 ...

  6. BZOJ 1458 / Luogu P4311 士兵占领 (上下界最小流 / 直接最大流)

    做法1:上下界最小流 先来一发上下界最小流,思路比较暴力,就是把行和列看作n+mn+mn+m个点,(i,j)(i,j)(i,j)如果能占领就从第iii行向第jjj列连一条边,上界为1下界为0;然后从s ...

  7. Vue项目搭建流程

    记录一下vue项目的搭建流程. 1.安装node.npm 下载地址为:https://nodejs.org/en/ 设置环境变量,命令行分别输入: node -v   npm -v  查看安装是否成功 ...

  8. 18、属性赋值-@Value赋值

    18.属性赋值-@Value赋值 18.1 使用@Value赋值三种方式 基本数值 可以写SPEL 表达式,例如: #{} 可以写${} ,取出配置文件中的值(在运行环境变量里面的值) package ...

  9. Linux文件删除的原理

    Linux文件iNode和block是否删除是通过  i_link  和 i_count 的计数值来判断的.只有i_count  和 I_link 同时为0 的 时候,文件的 iNode和block才 ...

  10. 012_Linux驱动之_wait_event_interruptible

    1. 首先这篇博客讲解得挺好的,推荐 wait_event_interruptible 使用方法 2 .函数原型: #define wait_event_interruptible(wq, condi ...