geth配置中,genesis.json的几个问题
通过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的几个问题相关推荐
- vscode中setting.json配置详解
vscode中的setting.json配置文件配置详解 话不多说上配置文件 大家按需复制到自己的setting.json配置文件中即可 [{// 控制是否在编辑器中显示 CodeLens." ...
- 以太坊私链搭建(二)——genesis.json字段解读
genesis.json文件用于配置生成以太坊私链网络的创世区块,当我们需要去创建一个创世区块时,我们可以通过修改genesis.json文件内的初始参数将这些数据写入创世区块.下面是以太坊官方文档给 ...
- 在C语言中解析json配置文件
业务需求 在C或者C++项目中常常需要解析配置文件,我们常见的配置文件格式一般就是.ini,xml,lua或者是一般的text文件,这些格式比较恼人的一个问题就是数据格式过于冗余,或者功能不够强大,不 ...
- SpringMVC 中整合JSON、XML视图一
SpringMVC中整合了JSON.XML的视图,可以通过这些视图完成Java对象到XML.JSON的转换.转换XML提供了MarshallingView,开发者只需用注入相应的marshaller. ...
- 格式化json_在Spring Boot中格式化JSON日期
1.概述 在本教程中,我们将展示如何在Spring Boot应用程序中格式化JSON日期字段. 我们将探讨使用Jackson格式化日期的各种方法,它被Spring Boot用作默认的JSON处理器. ...
- (23/24) webpack实战技巧:如何在webpack环境中使用Json
(23/24) webpack实战技巧:如何在webpack环境中使用Json 在webpack1或者webpack2版本中,若想在webpack环境中加载Json文件,则需要加载一个json-loa ...
- castle activerecord mysql_Castle ActiveRecord配置中需要注意的地方
关于Castle 的开发可参考李会军老师的Castle 开发系列文章,里面有关于ActiveRecord学习实践系列和Castle IOC容器系列两个部分,是比较好的教程. 这里主要说明在Castle ...
- Nginx配置中的log_format用法梳理(设置详细的日志格式)
Nginx配置中的log_format用法梳理(设置详细的日志格式) nginx服务器日志相关指令主要有两条:一条是log_format,用来设置日志格式:另外一条是access_log,用来指定日志 ...
- struts2配置中Action的name 和package的name和namespace作用
2019独角兽企业重金招聘Python工程师标准>>> struts2配置中Action的name 和package的name和namespace是什么作用 在struts2 str ...
最新文章
- CopyOnWriteArrayList实现原理及源码分析
- C语言初步学习(适合与学习过C++和java的童鞋)
- 中国航发牵手阿里云共同打造:航空新引擎
- 模糊数学笔记:四、模糊矩阵与模糊关系
- 【Java数据库】使用properties资源文件,简化数据库连接
- SAP Spartacus 中的 checkout(结帐) 设计
- JavaScript中的一些特殊用法(一)
- 实例化vue之前赋值html元素导致事件失效
- (十六)java中的String
- 测试面试题集-网络基础
- ORA-01790:表达式必须具有与对应表达式相同的数据类型
- html 幻灯片原理,js幻灯片
- Linux自学:常用新建命令的使用方法
- 视频分割神器-MP4文件随意分割
- BZOJ 5336: [TJOI2018]party Dp套Dp
- 载银纳米TiO2/壳聚糖水凝胶/pH/GSH响应羧甲基壳聚糖水凝胶和纳米凝胶的制备
- 纯css实现动态渐变背景,一分钟学会
- OCR应用:名片识别
- 合租服务器禁用 fsockopen 函数,部分程序不正常的解决办法。
- c语言字符类型中int表示什么,int表示什么数据类型
热门文章
- Python之Request模块学习
- 纷享销客低代码平台:自定义函数入门
- Cosmos的里程碑2(Mile Stone 2)之RTL8139网卡芯片编程---- .net/C#开源操作系统学习系列八...
- 超百个免费api接口
- 关于RF433无线模块及应用领域分析之433胎压模块
- java模板引擎性能,内容太过真实
- 【linked-java】369.Plus One Linked List
- 魅族16支持html吗,支持MIMO技术的手机有多牛,看了魅族16手机就知道了!
- 设计模式之工厂模式(工厂方法模式、抽象工厂模式)
- 29.VUE自定义指令directive和inserted