通过geth来配置以太坊私有链,是学习以太坊的入门步骤。而其中,如何配置genesis.json,又是最关键的一步。如果在其中产生错误,有些会导致无法初期化私有链,有些却会导致在以后的学习过程中发生各种莫名其妙的错误。

但是,现在网上能找到的配置内容,很多只适用于v1.4之前的版本,甚至连geth自身在github上的genesis.json,其中的chainId配置,也有问题。

基于笔者自身实践,以下genesis.json可以适用于现在的geth版本(v1.6.6)

{"config": {"chainId": 10,"homesteadBlock": 0,"eip155Block": 0,"eip158Block": 0},"alloc"      : {},"coinbase"   : "0x0000000000000000000000000000000000000000","difficulty" : "0x02000000","extraData"  : "","gasLimit"   : "0x2fefd8","nonce"      : "0x0000000000000042","mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000","parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000","timestamp"  : "0x00"
}

常遇到的几个错误:

  • Fatal: invalid genesis file: missing 0x prefix for hex data:这个错误信息意思很明白,就是你的json文件中,对于16进制数据,需要加上0x前缀

  • Fatal: invalid genesis file: hex string has odd length: 从v1.6开始,设置的十六进制数值,不能是奇数位, 比如不能是0x0,而应该是0x00。

  • Fatal: failed to write genesis block: genesis has no chain configuration :这个错误信息,就是说,你的json文件中,缺少config部分。看到这个信息,我们不需要把geth退回到v1.5版本,而是需要加上config部分。

  • Error: invalid sender undefined: 这个错误不会导致初始化失败,但是会在以后的转账(eth.sendTransaction),或者部署智能合约的时候产生。解决方法就是chainId 不能设置为0。 如果你完全按照github上给的官方配置文件,就会产生这个错误。

PS:如果这篇文章对你有帮助,请顶一下,或者说点什么吧。

geth配置中,genesis.json的几个问题相关推荐

  1. vscode中setting.json配置详解

    vscode中的setting.json配置文件配置详解 话不多说上配置文件 大家按需复制到自己的setting.json配置文件中即可 [{// 控制是否在编辑器中显示 CodeLens." ...

  2. 以太坊私链搭建(二)——genesis.json字段解读

    genesis.json文件用于配置生成以太坊私链网络的创世区块,当我们需要去创建一个创世区块时,我们可以通过修改genesis.json文件内的初始参数将这些数据写入创世区块.下面是以太坊官方文档给 ...

  3. 在C语言中解析json配置文件

    业务需求 在C或者C++项目中常常需要解析配置文件,我们常见的配置文件格式一般就是.ini,xml,lua或者是一般的text文件,这些格式比较恼人的一个问题就是数据格式过于冗余,或者功能不够强大,不 ...

  4. SpringMVC 中整合JSON、XML视图一

    SpringMVC中整合了JSON.XML的视图,可以通过这些视图完成Java对象到XML.JSON的转换.转换XML提供了MarshallingView,开发者只需用注入相应的marshaller. ...

  5. 格式化json_在Spring Boot中格式化JSON日期

    1.概述 在本教程中,我们将展示如何在Spring Boot应用程序中格式化JSON日期字段. 我们将探讨使用Jackson格式化日期的各种方法,它被Spring Boot用作默认的JSON处理器. ...

  6. (23/24) webpack实战技巧:如何在webpack环境中使用Json

    (23/24) webpack实战技巧:如何在webpack环境中使用Json 在webpack1或者webpack2版本中,若想在webpack环境中加载Json文件,则需要加载一个json-loa ...

  7. castle activerecord mysql_Castle ActiveRecord配置中需要注意的地方

    关于Castle 的开发可参考李会军老师的Castle 开发系列文章,里面有关于ActiveRecord学习实践系列和Castle IOC容器系列两个部分,是比较好的教程. 这里主要说明在Castle ...

  8. Nginx配置中的log_format用法梳理(设置详细的日志格式)

    Nginx配置中的log_format用法梳理(设置详细的日志格式) nginx服务器日志相关指令主要有两条:一条是log_format,用来设置日志格式:另外一条是access_log,用来指定日志 ...

  9. struts2配置中Action的name 和package的name和namespace作用

    2019独角兽企业重金招聘Python工程师标准>>> struts2配置中Action的name 和package的name和namespace是什么作用 在struts2 str ...

最新文章

  1. CopyOnWriteArrayList实现原理及源码分析
  2. C语言初步学习(适合与学习过C++和java的童鞋)
  3. 中国航发牵手阿里云共同打造:航空新引擎
  4. 模糊数学笔记:四、模糊矩阵与模糊关系
  5. 【Java数据库】使用properties资源文件,简化数据库连接
  6. SAP Spartacus 中的 checkout(结帐) 设计
  7. JavaScript中的一些特殊用法(一)
  8. 实例化vue之前赋值html元素导致事件失效
  9. (十六)java中的String
  10. 测试面试题集-网络基础
  11. ORA-01790:表达式必须具有与对应表达式相同的数据类型
  12. html 幻灯片原理,js幻灯片
  13. Linux自学:常用新建命令的使用方法
  14. 视频分割神器-MP4文件随意分割
  15. BZOJ 5336: [TJOI2018]party Dp套Dp
  16. 载银纳米TiO2/壳聚糖水凝胶/pH/GSH响应羧甲基壳聚糖水凝胶和纳米凝胶的制备
  17. 纯css实现动态渐变背景,一分钟学会
  18. OCR应用:名片识别
  19. 合租服务器禁用 fsockopen 函数,部分程序不正常的解决办法。
  20. c语言字符类型中int表示什么,int表示什么数据类型

热门文章

  1. Python之Request模块学习
  2. 纷享销客低代码平台:自定义函数入门
  3. Cosmos的里程碑2(Mile Stone 2)之RTL8139网卡芯片编程---- .net/C#开源操作系统学习系列八...
  4. 超百个免费api接口
  5. 关于RF433无线模块及应用领域分析之433胎压模块
  6. java模板引擎性能,内容太过真实
  7. 【linked-java】369.Plus One Linked List
  8. 魅族16支持html吗,支持MIMO技术的手机有多牛,看了魅族16手机就知道了!
  9. 设计模式之工厂模式(工厂方法模式、抽象工厂模式)
  10. 29.VUE自定义指令directive和inserted