主页 > imtoken官方网站 > 玩转以太坊的测试网络

玩转以太坊的测试网络

imtoken官方网站 2023-05-28 07:05:37

创世块

众所周知,区块链是一个类似于链表的结构,每个区块都有一个唯一的Hash值,后一个区块通过记录前一个区块的Hash值来表示父子关系。 一条区块链可以无限延伸,但它必须有一个开始,一个让区块链从头开始成长的区块,这个区块的名字叫做创世区块。 创世块最显着的特点是没有父块。 通常,创世块不是由矿工开采的,而是预先生成的,并将创世块的哈希值写入钱包软件的代码中。

在以太坊钱包官方实现Geth的代码中,我们可以找到这个创世块的Hash。

源代码:params/config.go

var (
	MainnetGenesisHash = common.HexToHash("0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3") // Mainnet genesis hash to enforce below configs on
	TestnetGenesisHash = common.HexToHash("0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d") // Testnet genesis hash to enforce below configs on
)

其中0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3为创世块的Hash。 去区块链浏览器看,果然,高度为0的创世区块。

sitejianshu.com 以太坊以太经典那个好_以太坊重启pow真的吗_sitejianshu.com 以太坊以太经典

等等,下面的TestnetGenesisHash = 0x41941023680923e0fe4d74a34bdac8141f2540e3ae90623718e47d66d1ca4a2d到底是什么? 为什么在区块链浏览器中找不到?

主网和测试网

以太坊重启pow真的吗_sitejianshu.com 以太坊以太经典那个好_sitejianshu.com 以太坊以太经典

如前所述,区块链以创世块开始,也就是说创世块可以创建并代表一条区块链。 如果我们为钱包客户端设置不同的创世块,它将在不同的区块链上运行。

所有节点都在同一个区块链上工作,我们称之为网络。

大多数人使用的网络称为主网(Mainnet),用户在主网上进行交易和构建智能合约,矿工在主网上挖矿。 由于用户量大,主网非常健壮,可以抵御攻击,区块链不易被篡改。 因此,主网是功能性的,其上的以太坊是有价值的。

通常一个区块链只有一个主网,比如比特币、莱特币、以太坊,都只有一个主网。 在主网络之外可以有多个测试网络。

既然已经有了主网,为什么还要创建测试网?

让我们从一个故事开始吧。

(小王是一家软件公司的程序员,每天起得比鸡早,睡得比牛晚,可以说是兢兢业业了,最近区块链技术火了,老板想出了一个主意.)

老板:小王,你去以太坊上给我开发一个智能合约,我们也做一个ICO。 小王:好的,老大。

(小王满口答应,心里却在嘀咕,我没干过这行,没关系,工程师,我怎么学不会呢?小王一晚上就把以太坊的研究搞明白了,第二天就找到了。 老板。)

小王:老板,我需要一些以太币来测试。

(老大就是老大,大笔一挥,给了小王1000个以太币进行测试,小王信心满满的按了回车,突然,他发现程序有bug,这1000个以太币会被锁定永远不能再用了,小王垂头丧气的去找老板,求老板原谅。)

老板:什么? 1000 ETH 永远锁定? 没关系,只值200w。

(小王满心欢喜,正要感谢老板的原谅,老板诡异一笑,看了眼身后的保安。)

sitejianshu.com 以太坊以太经典那个好_sitejianshu.com 以太坊以太经典_以太坊重启pow真的吗

老板:拿他当祭品上天吧。

(今天下午,在公司门前的广场上,员工们盛装打扮,把小王绑在木桩上,点燃柴堆。大家祈祷这次ICO成功,公司兴旺,程序不会再有bug了,在以后的ICO发布会上,老板跟投资人说,他们一定会赚钱的,因为我们“杀了程序员祭天”。)

主网中的以太坊是有价值的,直接在主网上开发钱包软件或智能合约是非常危险的。 一不小心,就会失去以太坊,甚至影响整个主网的运行。 同时,由于主网用户众多,矿工数不胜数。 如果你正在开发挖矿软件,用开发该软件的笔记本电脑几乎不可能挖出一个区块,这使得测试几乎不可能。

因此,出于测试和学习的目的,会有少量节点使用不同于主网的创世块开辟一条全新的区块链,并在其上进行挖矿和测试。 这是测试网络(Testnet)。

以太坊的测试网络

以太坊可以建立一个私人测试网络。 但是,由于以太坊是一个去中心化的平台,需要众多节点协同工作才能获得理想的测试结果。 所以不建议自己搭建测试网。

以太坊共有 4 个公共测试网络,其中 3 个仍在运行。 每个网络都有自己的创世块和名称,按照开始运行的时间顺序如下:

Morden是以太坊官方提供的测试网络,自2015年7月开始运行。到2016年11月,由于难度炸弹严重影响了出块速度,不得不退役,开始新的区块链。 Morden 的共识机制是 PoW。

Ropsten 也是以太坊官方提供的测试网络。 是为解决现代难度炸弹问题而重启的区块链。 它仍在运行,共识机制是 PoW。 测试网上的以太坊没有实际价值,所以 Ropsten 的挖矿难度很低,目前在 755M 左右,只有主网的 0.07%。 一方面,如此低的难度使得普通笔记本电脑的CPU可以在测试网络上挖出区块并获得以太坊,方便开发者测试软件,但无法防止攻击。

PoW 共识机制需要足够的算力来保证任何人都不能随意出块。 这种共识机制只会在具有实际价值的主网上有效。 测试网上的以太坊没有价值,不会有强大的算力投入来维护测试网络的安全,导致测试网络挖矿难度低。 就算是几块普通的显卡也够用一次。 51%攻击,或用垃圾交易封锁区块链,攻击成本极低。

2017年2月,Ropsten利用测试网的低难度被攻击。 攻击者发送了数千万的垃圾交易,逐渐将区块 Gas limit 从正常的 4,700,000 提高到 90,000,000,000。 ,影响测试网络的运行。 攻击者发起这些攻击,并不是为了获取利益,而只是为了测试、炫耀,或者只是为了好玩。

为了解决测试网中PoW共识机制的问题,以太坊钱包Parity的开发团队推出了全新的测试网Kovan。 Kovan 使用 Proof-of-Authority 共识机制,简称 PoA。

PoW 使用工作量来获得产生区块的权利。 在完成一定数量的计算后,才能找到令人满意的拼图答案,才能生成有效区块。

以太坊重启pow真的吗_sitejianshu.com 以太坊以太经典那个好_sitejianshu.com 以太坊以太经典

PoA由几个权威节点产生,其他节点无权出块,不再需要挖矿。 由于测试网络上的以太币一文不值以太坊重启pow真的吗,权威节点只是为了防止随机出块,造成测试网络拥堵。 完全是义务劳动,没有作恶的动机。 因此,该机制在测试网上是可行的。

Kovan 和主网采用不同的共识机制,只影响谁有权产生区块,以及验证区块是否有效的方式。 权威节点可以根据开发者的申请生成以太坊,不影响开发者的测试智能。 合同和其他功能。

Kovan 仍在运行,但只有 Parity 钱包客户端可以使用此测试网络。

Rinkeby也是以太坊官方提供的测试网络,采用PoA共识机制。 与 Kovan 不同的是,以太坊团队提供了 Rinkeby 的 PoA 共识机制文档。 理论上,根据该文档以太坊重启pow真的吗,任何以太坊钱包都可以支持 Rinkeby 测试网络。 Rinkeby 已经开始运行了。

连接到测试网络

目前最受开发人员欢迎的测试网是 Rinkeby,我将演示连接和使用 Rinkeby 的最简单方法之一。

下载以太坊钱包:ethereum/mist

根据使用的操作系统,在下图红框中选择合适的版本,下载并解压。

sitejianshu.com 以太坊以太经典_sitejianshu.com 以太坊以太经典那个好_以太坊重启pow真的吗

MIST其实只是以太坊钱包的图形界面。 后台依旧是官方的Geth,但是可以图形化的方式操作,减少了出错的几率,降低了使用门槛。 MIST是使用Electron开发的,具有跨平台的能力,所以在各个系统上的界面和操作应该是基本一致的。

第一次启动时,记得选择测试网络。

sitejianshu.com 以太坊以太经典_sitejianshu.com 以太坊以太经典那个好_以太坊重启pow真的吗

在测试网络上创建钱包地址,并为钱包添加密码。

sitejianshu.com 以太坊以太经典那个好_以太坊重启pow真的吗_sitejianshu.com 以太坊以太经典

以太坊重启pow真的吗_sitejianshu.com 以太坊以太经典_sitejianshu.com 以太坊以太经典那个好

一段时间后,创建了一个钱包地址,每个人的地址都不一样。 由于是测试网,地址不用保密,就不打马赛克了。

sitejianshu.com 以太坊以太经典_sitejianshu.com 以太坊以太经典那个好_以太坊重启pow真的吗

然后单击“启动应用程序!” 下面进入主界面。

注意:确保左下角有一个红色的 Rinkeby 字样,这意味着你在 Rinkeby 测试网络上。

点击右边的红框,可以看到你钱包地址的余额,现在应该是0 ETH。

sitejianshu.com 以太坊以太经典_sitejianshu.com 以太坊以太经典那个好_以太坊重启pow真的吗

第一次启动的时候,需要同步区块链,这需要一段时间,大概1个小时左右。

在测试网上获取以太币

Rinkeby测试网采用PoA共识机制,我们无法通过挖矿获得以太坊。

如果你想获得 Rinkeby 测试网络中的以太坊,你需要申请。 这种申请 Rinkeby 以太坊的功能被称为水龙头。 真的很形象,水龙头会源源不断的产生以太币,由权威节点控制,保证不被滥用。

转到此水龙头的网站:Rinkeby:GitHub Faucet

sitejianshu.com 以太坊以太经典那个好_sitejianshu.com 以太坊以太经典_以太坊重启pow真的吗

以太坊重启pow真的吗_sitejianshu.com 以太坊以太经典_sitejianshu.com 以太坊以太经典那个好

为了保证没有人滥用水龙头无限生成Rinkeby ETH,水龙头需要使用github账号来确定申请者的身份和额度。 没有Github账号的朋友记得注册一个,然后登陆。

进入gist.github.com/,粘贴测试钱包地址,点击“Create public gist”,如下图。

sitejianshu.com 以太坊以太经典那个好_以太坊重启pow真的吗_sitejianshu.com 以太坊以太经典

点击后,复制浏览器上方的地址,粘贴到水龙头页面的输入框中。 然后点击“Give me Ether”,一共有三个选项,前面是获得的Ether数量,后面是冷却时间,冷却时间过后,可以进行下一次Ether申请。

sitejianshu.com 以太坊以太经典_以太坊重启pow真的吗_sitejianshu.com 以太坊以太经典那个好

如果一切顺利,您会看到您的钱包地址中的 ETH 数量超过请求数量。 我申请了 3 ETH。

sitejianshu.com 以太坊以太经典_sitejianshu.com 以太坊以太经典那个好_以太坊重启pow真的吗

去Rinkeby的区块链浏览器查看,也可以找到我的钱包地址0xA54BF5C1059D24ac1943F332851a2F0779EDD026。

sitejianshu.com 以太坊以太经典_以太坊重启pow真的吗_sitejianshu.com 以太坊以太经典那个好

如果申请人数较多,则需要排队等待一段时间。 在使用过程中,我最多等半个小时。 申请的以太币数量越大,通常到账时间越长。

为什么申请测试网的以太坊这么麻烦?

以太坊在以太坊平台的设计功能是支付EVM中执行指令所消耗的Gas。 如果可以无限生成,就会有恶意用户用无限的以太坊换取无限的Limit Gas,在EVM中执行过多的指令,逐渐提高区块Gas上限。 EVM 中的指令必须在每个以太坊节点中执行。 一旦发生此类攻击,将对网络造成很大的影响。 因此,必须限制每个开发人员在测试网络中的以太坊供应。 但是这个限制几乎不会影响正常的开发和测试。

如果你看到了这个,并成功在电脑上运行了钱包,连接上了测试网络,申请了以太坊,那么恭喜你,你已经准备好进一步学习和了解以太坊了。 在下一篇文章中,我将介绍如何编写智能合约,这是以太坊最重要的功能,敬请期待。