极路由B70关闭root-(极路由b70设置)

来源:191路由网 2022-10-29 13:29:49

极路由B70关闭root (极路由b70设置)

原文链接:https://learnblockchain.cn/2019/04/08/genesis/

请前往简单的区块链主站, 获取最新内容。

作为第零块,创世区块直接或间接引用于创世区块。因此,在节点启动之初,必须载入正确的创世区块信息,不得任意修改。

以太坊允许通过创造配置文件初始化创造块,也可以使用选择使用多个内置网络环境的创造配置。以太坊主网创造配置默认使用。

创建配置文件

假如你需要建立以太坊私有链,那么了解创造配置是必要的,否则你可能不在乎创造配置。下面是一份 JSON 创造配置格式示例:

{

\\"config\\":{

\\"chainId\\": 1,

\\"homesteadBlock\\": 1150000,

\\"daoForkBlock\\": 1920000,

\\"daoForkSupport\\": true,

\\"eip150Block\\": 2463000,

\\"eip150Hash\\": \\"0x2086799aeebeae135c246c65021c82b4e15a2c451340993aacfd2751886514f0\\",

\\"eip155Block\\": 2675000,

\\"eip158Block\\": 2675000,

\\"byzantiumBlock\\": 4370000,

\\"constantinopleBlock\\": 7280000,

\\"petersburgBlock\\": 7280000,

\\"ethash\\":{}

},

\\"nonce\\": \\"0x42\\",

\\"timestamp\\": \\"0x0\\",

\\"extraData\\": \\"0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa\\",

\\"gasLimit\\": \\"0x1388\\",

\\"difficulty\\": \\"0x400000000\\",

\\"mixHash\\": \\"0x0000000000000000000000000000000000000000000000000000000000000000\\",

\\"coinbase\\": \\"0x0000000000000000000000000000000000000000\\",

\\"number\\": \\"0x0\\",

\\"gasUsed\\": \\"0x0\\",

\\"parentHash\\": \\"0x0000000000000000000000000000000000000000000000000000000000000000\\",

\\"alloc\\":{

\\"000d836201318ec6899a67540690382780743280\\":{

\\"balance\\": \\"0xad78ebc5ac6200000\\"

},

\\"001762430ea9c3a26e5749afdb70da5f78ddbb8c\\":{

\\"balance\\": \\"0xad78ebc5ac6200000\\"

}

}

}

按配置用途可分为三类:

链配置

config项目定义链配置,会影响共识协议。虽然链配置对创造影响不大,但新区块的规则取决于链配置。

创造区块头信息配置

nonce:随机数对应创世区块 Nonce 字段。

创造区块头信息配置

nonce:随机数对应创世区块 Nonce 字段。

timestamp:UTC时间戳对应创世区块 Time字段。

extraData:额外数据对应创世区块 Extra 字段。

gasLimit:必填、燃料上限对应创世区块 GasLimit 字段。

difficulty:必填、难度系数对应创世区块 Difficulty 字段。搭建私有链时,需要根据情况选择合适的难度值,以调整块。

minHash:哈希值对应创世区块MixDigest字段。和 nonce 一起证明区块上有足够的计算。

coinbase:地址对应创世区块Coinbase字段。

初始账户资产配置

alloc 项目是创世中初始账户资产配置。在世区块生成时,将数据集中的账户资产写入区块,相当于预挖矿。这对开发测试和私有链非常有用,可以直接为任何多个账户分配资产,无需挖掘。

自定义创世

如果你计划部署以太坊私有网络或独立的测试环境,你需要定制它并初始化它。为统一沟通,建议在用户根目录中创建文件夹 deepeth,作为以太坊设计与实现的电子书学习目录。

mkdir $HOME/deepeth && cd $HOME/deepeth

在创造时准备两个以太坊账户存入资产。

geth --datadir $HOME/deepeth account new

由于是学习使用,建议使用统一密码 foobar,执行两个命令,创建两个账户。这里使用 --datadir 参数指定了以太坊运行时的数据存储目录,允许每个人在本课程的学习文件夹中统一存储数据。

然后保存以下配置内容 $HOME/deepeth/genesis.json 文件,其中 alloc 项目被新创建的两个以太坊账户地址取代。

{

\\"config\\":{

\\"chainId\\": 8888,

\\"homesteadBlock\\": 0,

\\"daoForkBlock\\": 0,

\\"daoForkSupport\\": true,

\\"eip150Block\\": 0,

\\"eip155Block\\": 0,

\\"eip158Block\\": 0,

\\"byzantiumBlock\\": 0,

\\"constantinopleBlock\\": 0,

\\"petersburgBlock\\": 0,

\\"ethash\\":{}

},

\\"nonce\\": \\"0x42\\",

\\"timestamp\\": \\"0x0\\",

\\"extraData\\": \\"0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa\\",

\\"gasLimit\\": \\"0x1388\\",

\\"difficulty\\": \\"0x1\\",

\\"alloc\\":{

\\"093f59f1d91017d30d8c2caa78feb5beb0d2cfaf\\":{

\\"balance\\": \\"0xffffffffffffffff\\"

},

\\"ddf7202cbe0aaed1c2d5c4ef05e386501a054406\\":{

\\"balance\\": \\"0xffffffffffffffff\\"

}

}

}

然后,执行 geth 子命令 init 创造区块的初始化。

geth --datadir $HOME/deepeth init genesis.json

实施成功后,可启动私有链:

geth --maxpeers 0 --datadir $HOME/deepeth console

执行下列命令,您可以查看前面创建的两个帐户,现有资产:

eth.getBalance(eth.accounts[0])

// 18446744073709551615

eth.getBalance(eth.accounts[1])

// 18446744073709551615

至此,我们已经完成了创造定制版。

内置创新配置

以上我已经完成了自定义创造,但以太坊作为去中心平台,需要很多节点一起参与。

内置创新配置

以上我已经完成了自定义创造,但以太坊作为一个分散的平台,需要很多节点一起参与。仅仅为了测试,建立多个节点的私人链更麻烦。想和别人联调,或者需要在测试网络中测试DAPP该怎么办?以太坊测试网络可以使用。以太坊公开的测试网络有 5 个,还在运行的有 4 具体见下表。

测试网共识机制的块间隔提供了在线时间备注状态

MordenPoW由于难度炸弹,以太坊官方2015.7被迫退役stopped

RopstenPoW以太坊官方2016.1130秒取代Mordenrunning

KovanPoA4秒以太坊钱包Parity2017年3月开发团队不支持gethrunning

RinkebyPoA2017.4年以太坊官方15秒最常用,只支持gethrunning

SokolPoA5秒以太坊官方POA.network2017年12不支持团队gethrunning

G?rliPoA2018.9以太坊柏林社区15秒以太坊2.0实验场running

支持 geth 以太坊代码中内置了三个测试网络的创建配置,具体见 core/genesis.go 文件:

// DefaultTestnetGenesisBlock returns the Ropsten network genesis block.

func DefaultTestnetGenesisBlock() *Genesis{}

// DefaultRinkebyGenesisBlock returns the Rinkeby network genesis block.

func DefaultRinkebyGenesisBlock() *Genesis

// DefaultGoerliGenesisBlock returns the G?rli network genesis block.

func DefaultGoerliGenesisBlock() *Genesis{}

当然,以太坊主网的创会缺少创意配置 geth 默认配置操作。

// DefaultGenesisBlock returns the Ethereum main net genesis block.

func DefaultGenesisBlock() *Genesis{}

如果您不想为开发测试定制创建配置文件,因此,以太坊还为本地开发提供配置。

// DeveloperGenesisBlock returns the 'geth --dev' genesis block. Note, this must

// be seeded with the

func DeveloperGenesisBlock(period uint64, faucet common.Address) *Genesis

运行 geth --dev console 可临时使用。但是,如果需要长期使用这种模式,则需要指定 datadir。 {x

点击展开全文

相关阅读

极路由B70关闭root-(极路由b70设置)

极路由B70关闭root(极路由b70设置)原文链接:请前往简单的区块链主站,获取最新内容。作为第零块,创世区块直接或间接引用于创世区块。因此,在节点启动之初,必须载入正确的创世区块信息,不得任意修改。以太坊允许通过创造配置文件初始化创造块,也可以使用选...

2022-10-29

电脑怎么重装win10-(如何给电脑安装win10系统)

如何重新安装计算机win10(如何安装电脑win10系统)许多朋友想安装自己的电脑win10系统,不知道怎么操作。一般来说,我们可以使用本地在线安装方法或U盘重新安装方法,但无论我们使用哪种方法,我们都需要备份C盘和桌面数据,这将与您分享重新安装计算机win10系统的详细步骤。更多小白一键重新安装...

2022-10-29

路由器安装上为啥老断网-(路由器安装上为啥老断网呢)

为什么路由器安装时断网(为什么路由器安装时断网呢)大家好,这是@实用数码笔记,分享各种实用的数码技巧,期待您的关注。目前网络已经普及到千家万户,笔记菌所在的社区百兆宽带已经成为标准,但问题也随之而来。不知道大家有没有注意到,有时候在家看小说/刷剧/玩游戏,兴高采烈,网...

2022-10-29

翔升老主板选择u盘启动-(翔升主板怎么设置u盘启动)

升老主板选择u盘启动(翔升主板如何设置u盘启动)一个好的u盘启动盘可以提高用户安装成功率。老白菜作为一种简单实用的u盘制作工具,深受用户喜爱,但仍有一些用户不太擅长使用老白菜。让我与您分享老白菜装机版u盘启动盘制作教程。...

2022-10-29

文件经损坏怎么恢复-(文件经损坏怎么恢复原状)

如何恢复文件损坏(如何恢复文件损坏原状)----关注IT小技术,有你想要的IT干货!今天,我想和大家谈谈系统是否坏了,桌面上的文件会丢失吗?无法恢复。有三种方法可以解决这个问题。一、系统文件、软件、驱动损坏导致系统无法启动。第一种情况下,系统坏了,系统开机报错了,或者一直是蓝屏,不能正常进入系统,但可以进入安全模式,也可以启动最...

2022-10-29

191路由网 - 192.168.1.1,192.168.0.1无线路由器设置教程

版权声明:本站的文章和图片来自互联网收集,仅做分享之用如有侵权请联系站长,我们将在24小时内删除