通过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. 使用知乎「好物推荐」功能要注意什么?怎么使用? 关注问题 知乎指南 使用知乎「好物推荐」功能要注意什么?怎么使用?
  2. 3Blue1Brown深度学习笔记 深度学习之神经网络的结构 Part 1 ver 2.0
  3. js模拟栈---进制转化。十进制转任意进制进制,任意进制转十进制
  4. MATLAB基本操作(三):数据类型
  5. Bit-Z全球生态联盟暨韩国战略发布会即将开启
  6. Volatile可见性、缓存一致性协议、指令重排、内存屏障 - 手写笔记
  7. HashMap与垃圾回收
  8. 二、ceph编译源码、单机搭建调试环境
  9. python儿童入门书_一款儿童编程入门的理想工具——PythonTurtle
  10. 外媒推荐:科技创业者必看的十部经典电影
  11. ndk编译出来的executable动态库入口函数的参数错乱
  12. 冒泡、选择、快速、归并、堆排序算法 python实现
  13. OSChina 周四乱弹 ——今天家里只有我和女室友,我想……
  14. Linux云计算虚拟化-使用rancher搭建k8s集群并发布电商网站
  15. CocosCreator微信小游戏接入微信登录获取微信名、头像、经纬度等信息
  16. Linux编译之(1)C语言基础
  17. 史上最全的ubuntu服务器搭建环境教程~~~
  18. 【企业网盘】公有云和私有云的9大差异
  19. 限流对于抖音玩家来说,无异于被宣布了“死亡”。
  20. 北京的味道-胡赳赳电子书下载

热门文章

  1. vue2.0 实现锚点定位 (以外卖APP为例)
  2. php mysql自动定时备份_php中实现mysql数据库备份与linux自动定时备份代码
  3. HDUOJ 1078 FatMouse and Cheese
  4. 局部性原理——各类优化的基石
  5. linux设备连接磁带机,linux下磁带机的使用
  6. SpringBoot(使用jsp时对idea进行配置)
  7. Win10 64位系统8G内存升级到10G后,显示3.92G可用解决办法
  8. d3 制作条形图_停止错误制作条形图的5个技巧
  9. 关闭内核printk打印
  10. mmdetection3d简单安装(官方教程就是坑)