连接到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网络,请使用命令行参数:

  1. geth --testnet

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

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

  1. geth --testnet console

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

  1. geth --testnet account list
Tip

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

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

  1. eth.getBlock("latest").number

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

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

  1. geth --rinkeby

Parity

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

  1. parity --chain ropsten

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

  1. parity --chain kovan

深入以太坊Testnets

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

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