什么是测试网?

测试网络(简称testnet)用于模拟以太网主网的行为。有一些公开的测试网络可以替代以太坊区块链。这些网络上的货币毫无价值,但它们仍然很有用,因为合约和协议变更的功能可以在不中断以太网主网或使用真实货币的情况下进行测试。当主网(简称mainnet)即将包含对以太坊协议的任何重大改变时,其测试主要在这些测试网络上完成。这些测试网络也被大量开发人员用于在部署到主网之前测试应用程序。

使用 Testnets

你可以连接到公共可用的测试网络或创建你自己的私人测试网络。首先,让我们使用公共测试网来更简单地起步。要使用公共测试网络,需要一些测试网络以及到该网络的连接。对于testnet ether,使用“faucet”,faucet缓慢地分配测试ether,向任何询问的人“滴送”少量ether。要连接到一个测试网络,你需要一个以太坊客户端,完整的客户端,比如geth,或者完整的客户端的网关,比如MetaMask。

获取测试以太网

由于测试网不以真正的金钱运作,矿工保护测试网的动机很弱。因此,测试网必须保护自己免受滥用和攻击。因此,为这些测试网创建了水龙头,以受控的方式向开发人员分发免费的测试ether(大多数faucet每隔几秒左右"滴注"ether)。这种以太网的受控分配可防止用户滥用链,因为提供有限的ether供应可防止他们向链中写入过多内容或执行太多交易。另外,一些testnets已经实施了认证证明(Proof of Authentication)方案,使用faucet需要具有适当社交媒体网站的认证的凭证。

连接到Testnets

Metamask

Metamask完全支持Ropsten,Kovan和Rinkeby测试网,但也可以连接到其他测试网和本地网。在Metamask中,只需单击“main network”下拉菜单,即可切换网络。MetaMask还提供了一个“buy”测试ether的选项,该选项将你引导至你可以请求免费测试以太网的faucet。如果使用Ropsten测试网,则可以从Ropsten测试faucet服务中获取ether。你可以从此页面访问此faucet。它需要Metamask扩展才能工作。https://faucet.metamask.io/

Infura

当MetaMask连接到测试网络时,它使用Infura服务提供商来访问JSON-RPC接口。Infura诞生的目的是为ConsenSys内部项目提供稳定可靠的RPC访问。除了JSON-RPC API之外,Infura还提供REST(表述性状态转移)API,IPFS(星际文件系统,即去中心化存储)API和Websockets(即流式传输)API。

Infura为Ethereum主网,Ropsten,Kovan,Rinkeby和INFURAnet(用于Infura的定制测试网络)提供网关API。

要通过MetaMask使用Infura进行较低级别的活动,你不需要账户。要直接使用API,你需要注册一个账户并使用Infura提供的API密钥。

有关Infura的更多信息,请访问:

https://infura.io/

Remix集成开发环境(IDE)

Remix IDE可用于在主网和测试网上部署和交互智能合约,包括Ropsten,Rinkeby和Kovan(Web3提供者使用Infura地址和API密钥或通过Injected Web3使用MetaMask中选择的网络)和Ganache( Web3提供端点http://localhost:8545)

https://github.com/ethereum/remix/blob/master/docs/run_tab.rst https://medium.com/swlh/deploy-smart-contracts-on-ropsten-testnet-through-ethereum-remix-233cd1494b4b

Geth

Geth本身支持Ropsten和Rinkeby网络。要连接到Ropsten网络,请使用命令行参数:

geth --testnet

这将开始同步Ropsten区块链。名为 testnet 的新目录将在你的主Ethereum数据目录中创建。一个 keystore 目录将在 testnet 内部创建,并将存储你的testnet帐户的私钥。在撰写本文时,Ropsten区块链比以太坊主区块链小得多:大约14GB的数据。由于测试网需要的资源较少,因此首先在测试网上设置并测试你的代码会更简单。

与testnet的交互与mainnet类似。你可以使用控制台启动Geth testnet,方法是运行:

geth --testnet console

这使得执行操作成为可能,例如开设新账户,检查余额,检查其他以太坊地址的余额等。 在Geth控制台之外运行时,只需将`--testnet`参数添加到命令行指令中,就可以执行类似于在主网上执行的操作。作为列举所有可用的testnet帐户及其地址的示例,请运行:

geth --testnet account list

Tip

虽然小得多,但测试网仍需要一些时间才能完全同步。

你可以通过在geth交互式控制台中运行以下命令来检查geth是否已完成同步测试网络:

eth.getBlock("latest").number

一旦你的testnet节点完全同步,这应该返回一个非0的数字。你可以将该编号与已知的testnet区块浏览器中的最新块进行比较,例如https://ropsten.etherscan.io/

同样,要连接到Rinkeby测试网络,请使用命令行参数:

geth --rinkeby

Parity

Parity客户端支持Ropsten和Kovan测试网络。你可以用+chain+参数选择你要连接的网络。例如,要同步Ropsten测试网络:

parity --chain ropsten

同样,要同步Kovan测试网络,请使用:

parity --chain kovan

深入以太坊Testnets

在这个阶段你可能会想:“我明白我为什么要使用测试网络,但为什么会有这么多呢?”

https://www.ethnews.com/ropsten-to-kovan-to-rinkeby-ethereums-testnet-troubles

工作量证明(挖矿)Proof-of-Work (Mining) 与 权威证明(联合签名)Proof-of-Authority (Federated Signing)

https://github.com/ethereum/guide/blob/master/poa.md

Morden(原始测试网)

https://blog.ethereum.org/2016/11/20/from-morden-to-ropsten/

Ropsten

如果你想开始在Ropsten网络上测试合约,有几个faucet可以供给你Ropsten的ether。如果faucet不起作用,请尝试不同的faucet。

  • http://faucet.ropsten.be:3001/ 这个faucet提供了应该排队接收测试以太的地址的可能性。

  • bitfwd Ropsten Faucet https://faucet.bitfwd.xyz/。

  • Kyber Network Ropsten Faucet https://faucet.kyber.network/。

  • MetaMask Ropsten Faucet https://faucet.metamask.io/

  • Ropsten Testnet Mining Pool http://pool.ropsten.ethereum.org/

  • Etherscan Ropsten Pool https://ropsten.etherscan.io/

Rinkeby

Rinkeby水龙头位于https://faucet.rinkeby.io/。 要请求测试ether,有必要在Twitter,Google Plus或Facebook上发布公开信息。https://www.rinkeby.io/ https://rinkeby.etherscan.io/

Kovan

Kovan testnet支持各种方法来请求测试ether。 更多信息可以在 https://github.com/kovan-testnet/faucet/blob/master/README.md 找到。

https://medium.com/@Digix/announcing-kovan-a-stable-ethereum-public-testnet-10ac7cb6c85f

https://kovan-testnet.github.io/website/

https://kovan.etherscan.io/

以太坊经典Testnets

Morden

以太坊经典目前运行着Morden测试网的一个变体,与以太坊经典活跃网络保持功能相同。你可以通过gastracker RPC或者为`geth`或`parity`提供一个标志来连接它.

Faucet: http://testnet.epool.io/

Gastracker RPC: https://web3.gastracker.io/morden

Block Explorer: http://mordenexplorer.ethertrack.io/home

Geth flag: geth --chain=morden

Parity flag: parity --chain=classic-testnet

以太坊测试网的历史

Olympic, Morden to Ropsten, Kovan, Rinkeby

Olympic testnet (Network ID: 0) 是Frontier首个公共测试网(简称Ethereum 0.9)。它于2015年初推出,2015年中期被Morden取代时弃用。

Ethereum’s Morden testnet (Network ID: 2) 与Frontier一起发布,从2015年7月开始运行,直到2016年11月不再使用。虽然任何使用以太坊的人都可以创建测试网,但Morden是第一个“官方”公共测试网,取代了Olympic测试网。由于臃肿区块链的长同步时间以及Geth和Parity客户端之间的共识问题,测试网络重新启动并重新生成为Ropsten。

Ropsten (Network ID: 3) 是一个针对Homestead的公共跨客户端测试网,于2016年晚些时候推出,并作为公共测试网顺利运行至2017年2月底。根据Ethereum的核心开发人员PéterSzilágyi的说法,二月的时候,“恶意行为者决定滥用低PoW,并逐步将gas限制提高到90亿(从普通的470万),发送巨大交易损害了整个网络”。Ropsten在2017年3月被恢复。https://github.com/ethereum/ropsten

Kovan (Network ID: 42) 是由Parity的权威证明(PoA)共识算法驱动的Homestead的公共Parity测试网络。该测试网不受垃圾邮件攻击的影响,因为ether供应由可信方控制。这些值得信赖的各方是在Ethereum上积极开发的公司。 尽管看起来这应该是以太坊测试网问题的解决方案,但在以太坊社区内似乎存在关于Kovan测试网的共识问题。https://github.com/kovan-testnet/proposal

Rinkeby (Network ID: 4) 是由Ethereum团队于2017年4月开始的Homestead发布的Geth测试网络,并使用PoA共识协议。以斯德哥尔摩的地铁站命名,它几乎不受垃圾邮件攻击的影响(因为以太网供应由受信任方控制)。请参阅EIP 225:https://github.com/ethereum/EIPs/issues/225

工作量证明(挖矿)Proof-of-Work (Mining) 与 权威证明(联合签名)Proof-of-Authority (Federated Signing)

https://github.com/ethereum/guide/blob/master/poa.md

Proof-of-Work 是一种协议,必须执行挖矿(昂贵的计算机计算)以在区块链(分布式账本)上创建新的区块(去信任的交易)。 缺点:能源消耗。集中的哈希算力与集中的采矿农场,不是真正的分布式。挖掘新块体所需的大量计算能力对环境有影响。

Proof-of-Authority 是一种协议,它只将造币的负载分配给授权和可信的签名者,他们可以根据自己的判断并随时以发币频率分发新的区块。https://github.com/ethereum/EIPs/issues/225 优点:具有最显赫的身份的区块链参与者通过算法选择来验证块来交付交易。

https://www.deepdotweb.com/2017/05/21/generalized-proof-activity-poa-forking-free-hybrid-consensus/

运行本地测试网

Ganache: 以太坊开发的个人区块链

你可以使用Ganache部署合约,开发应用程序并运行测试。它可用作Windows,Mac和Linux的桌面应用程序。

网站: http://truffleframework.com/ganache

Ganache CLI: Ganache 作为命令行工具。

这个工具以前称为“ethereumJS TestRPC”。

https://github.com/trufflesuite/ganache-cli/

$ npm install -g ganache-cli

让我们开始以太坊区块链协议的节点模拟。 * []检查`--networkId`和`--port`标志值是否与truffle.js中的配置相匹配 * []检查`--gasLimit`标志值是否与https://ethstats.net上显示的最新主网gas极限(即8000000 gas)相匹配,以避免不必要地遇到`gas’异常。请注意,4000000000的“--gasPrice”代表4 gwei的gas价格。 * []可以输入一个`--mnemonic’标志值来恢复以前的高清钱包和相关地址

$ ganache-cli \--networkId=3 \--port="8545" \--verbose \--gasLimit=8000000 \--gasPrice=4000000000;

04以太坊测试网(Testnets)相关推荐

  1. 七种方法教你如何获取以太坊测试网Token

    七种方法教你如何获取以太坊测试网Token 在使用以太坊测试网时,我们通常都需要获取一些测试币,这里就以MetaMask为例介绍一下怎么获取以太坊测试币. 首先介绍一种最权威且一直可以用的方法,以Ro ...

  2. 【资讯】Raiden发布新产品:以太坊测试网将出现更简单的微支付

    点击上方 "蓝色字" 可关注我们! 暴走时评: Raiden网络的开发人员推出了一个新产品,可以在以太坊测试网上实现用户之间直接的微支付.虽然这款产品比较简单,但开发人员认为它具有 ...

  3. ConsenSys:速览以太坊测试网简史

    转载原文链接:http://www.btcwbo.com/5649.html 测试网络是模拟区块链主网络的替代网络.其目的是测试和测试主网络区块链的功能,以减少实际运行中的错误,如实际资本损失.这些区 ...

  4. Cover团队在Kovan以太坊测试网部署xCOVER智能合约

    Cover联合创始人Alan通过推特发布Kovan以太坊测试网上的交易哈希,交易哈希显示Cover团队已经建立了新的智能合约(xCOVER).在评论中有推特用户称:xCOVER来了,我们将能够质押CO ...

  5. 使用remix和matemask部署智能合约到以太坊测试网络

    目录 1. 平台准备 1.1 网页版remix 1.2 Chrome浏览器插件metamask 2. 部署智能合约 1. 平台准备 1.1 网页版remix 进入网址 https://remix.et ...

  6. 【钱包·RPC搭建】以太坊主网节点搭建

    01. 搭建节点需要什么配置 推荐配置: CPU: 8 core 内存: 16G 硬盘: 500G SSD (固态硬盘) 网络: 5M+ 最低配置: CPU: 4 core 内存: 8G 硬盘: 50 ...

  7. LEARNING_CRYPTO|搭建个人以太坊测试网络+测试Solidity部署(Ganache+truffle)

    前言: 最近在看这本书:<精通以太坊:开发智能合约和去中心化应用> 在看书和找资料的过程中发现了一个问题,我的这本书代码有点旧,C语言可能二三十年之前的书都可以看,这本书出版才没几年,So ...

  8. 机构借贷平台 Maple 将上线以太坊主网并开启流动性挖矿

    据官方消息,去中心化机构借贷平台 Maple Protocol 将于 5 月 14 日上线以太坊主网,主网启动后将建立上限为 1500 万美元的流动性资金池,向机构借款人提供贷款.首批流动性提供者可参 ...

  9. 以太坊主网同步问题(Looking for peers)

    Looking for peers 问题 开启以太坊主网同步后,后台一直显示 INFO [07-03|10:11:38.701] Looking for peers peercount=0 tried ...

最新文章

  1. 2014家电盘点:求变与创新
  2. 数据库创建表的时候长度的介绍
  3. abap中利用se95还原程序到原始版本
  4. rooibos茶中单宁酸研究
  5. AttributeError: 'Bunch' object has no attribute 'data'
  6. mysql 显示重叠_一句话实现MySQL库中的重叠分组
  7. 深度学习自学(二十九):上下文感知和对规模不敏感的动作重复计数
  8. UnitOfWork实战
  9. 加班熬夜一个月,终于把所有Python库整理齐了,祝你早日学成
  10. Flutter报setState() or markNeedsBuild() called during build.错误解决办法
  11. (计算机组成原理)第七章输入和输出系统-第三节3:I/O方式之DMA方式
  12. Golang 定时任务 github/robfig/cron/v3 使用与源码解析
  13. Win10系统怎么卸载软件
  14. fgets和gets的区别
  15. 拉氏变换差分方程 c语言,怎么求解含零阶保持器拉氏变换的Z变换
  16. 谷粒商城--SPU和SKU(属性分组、规格参数、销售属性)
  17. oim-server-web打包测试环境不起作用问题 vue+typeScript
  18. sinh函数_sinh()函数以及C ++中的示例
  19. GTA4侠盗猎车手4:自由城之章 Mac
  20. 究极聚合,效率翻倍——CSDN浏览器助手体验测评

热门文章

  1. 什么是脏读?不可重复读?幻读?如何解决?
  2. 使用 OpenCV-Python 识别答题卡判卷
  3. 直方图均衡化、自适应直方图均衡化
  4. OVN 流表基础 -- 基于 kubeOVN (一)
  5. 怎么批量新建文件夹并命名?
  6. spo2数据集_氧仪主要测量指标分别为脉率、血氧饱和度、灌注指数(PI)
  7. 支付宝小程引入 SJS
  8. hiredis——Redis的C++库(使用教程
  9. undefined local variable or method `daemonize‘ for puma
  10. 中级前端工程师应该具备什么技术