Saiba mais sobre as redes Ethereum públicas

Concluído

O protocolo Ethereum é composto por várias redes públicas. Redes Ethereum diferentes podem ter propriedades, usos, funcionalidades e mecanismos de consenso diferentes. Atualmente, o Ethereum conta com quatro redes de teste, chamadas testnets. Ele tem uma rede de produção, chamada mainnet.

Visão geral da mainnet

A mainnet (abreviação de "main network" ou rede principal), é o único blockchain Ethereum verdadeiramente público. Aplicativos implantados na mainnet podem trocar e usar informações e interagir entre si.

Aplicativos implantados podem exercer todas as funcionalidades do blockchain descentralizado. Não há uma autoridade centralizada. A mainnet é totalmente descentralizada.

Diferentes tipos de tokens e aplicativos podem ser implantados na mainnet. Após serem implantadas na mainnet, as transações são imutáveis e não podem ser alteradas.

Cada transação tem custos reais. Esses custos exigem a criptomoeda ether (ETH).

Você pode ver todos os blocos na mainnet do Ethereum usando o Etherscan. O Etherscan mostra os blocos e as transações minerados mais recentemente. Todos os blocos podem ser inspecionados.

Captura de tela mostrando a home page do Etherscan.

Testnets do Ethereum

O Ethereum tem quatro testnets públicas. Cada testnet tem um método e um processo de implantação diferente. As testnets preparam e testam os aplicativos em um ambiente público online antes de implantá-los na mainnet.

As testnets usam os protocolos de consenso PoW (Proof-of-Work) ou PoA (Proof-of-Authority) para determinar como adicionar novos blocos de transações à rede. Tenha uma visão geral rápida de cada protocolo:

  • PoW: um mecanismo de mineração resolve um problema de hash criptográfico para minerar um novo bloco e decidir quais transações fazem parte dele.
  • PoA: validadores de blocos verificam sua identidade em uma rede para decidir quais transações se tornam parte do próximo bloco da cadeia.

As testnets requerem ether de teste. O ether de teste é gratuito e você pode acessá-lo por meio de torneiras. Você fornece às torneiras um endereço de conta para receber uma determinada quantidade de ether de teste.

As torneiras se tornaram a principal maneira de obter ether de teste para uma testnet. A comunidade gerencia as redes de teste públicas para o benefício dos desenvolvedores e dos testes. As torneiras protegem a testnet contra ataques de spam, porque o ether é controlado por partes confiáveis.

Comparação de testnets

Vamos dar uma olhada nas testnets do Ethereum e em suas propriedades associadas.

Ropsten

Ropsten é um protocolo de consenso PoW. Ele é mais próximo à mainnet em termos de funcionalidade. O Ropsten tem o nome de uma estação de metrô sueca e existe desde 2016. Há quem diga que ele proporciona a melhor reprodução das condições na mainnet.

Mais detalhes:

  • Clientes com suporte:
  • Tempo do bloco: 30 segundos ou menos
  • Links específicos do Ropsten:

Kovan

O Kovan é uma testnet PoA que tem o nome de uma estação de metrô em Singapura. Seu ether precisa ser solicitado da torneira e é controlado por partes confiáveis. Devido a essa propriedade, o Kovan é imune a ataques de spam.

Mais detalhes:

Goerli

A testnet PoA entre clientes Goerli tem o nome de uma estação de metrô de Berlim. Essa testnet visa ser amplamente utilizável entre vários clientes. Ela é robusta o suficiente para garantir uma disponibilidade consistente. Ela teve início com a Iniciativa Goerli em 2018.

Mais detalhes:

O Ropsten é considerado a testnet mais semelhante à mainnet. Ele foi a primeira grande testnet. O Kovan, o Goerli e o Rinkeby são estáveis e são bastante utilizados. Antes de implantar na mainnet, implante e teste em várias testnets.

Clientes e APIs para implantação em testnets e na mainnet

O Ethereum foi projetado para oferecer vários clientes. Os clientes podem ser desenvolvidos por equipes diferentes e podem usar linguagens de programação diferentes. Essa variedade torna a rede mais forte e mais diversificada. A meta é ter diversidade, sem nenhum cliente dominante. Esse design reduz as chances de haver um ponto único de falha.

Clientes

Estes são alguns clientes comuns do Ethereum:

  • Cliente Geth

    O Go Ethereum (também chamado de Geth) é uma das primeiras implementações do protocolo. Esse cliente tem a maior base de usuários e é a mais comumente usada. O Geth oferece uma ampla variedade de ferramentas para desenvolvedores e usuários do blockchain.

    O cliente Geth é escrito em Go e é de software livre. Ele é licenciado sob a LGPL (Lesser General Public License) do GNU versão 3.

  • OpenEthereum

    O cliente OpenEthereum é útil para todo o trabalho com o protocolo. Ele simplifica tarefas como personalização, integração de produtos, armazenamento de dados e gerenciamento de memória. Ele visa ser o mais leve, rápido e seguro de todos os clientes Ethereum.

    O OpenEthereum é escrito na linguagem de programação Rust. Ele é licenciado sob a GLP (General Public License) do GNU versão 3.

  • Nethermind

    O Nethermind fornece o marketplace de dados P2P e o cliente .NET Core do Ethereum mais rápido do mundo. Ele oferece serviços de consultoria para desenvolvedores de soluções de blockchain Ethereum.

APIs

Estas são algumas APIs comuns do Ethereum:

  • Infura

    O pacote da API Infura fornece acesso instantâneo por HTTPS e WebSockets às redes Ethereum e IPFS. Use esta interface intuitiva para se conectar aos pontos de extremidade de todas as testnets. O Infura dá suporte ao Conjunto Truffle e ao Kit de desenvolvimento do Blockchain para Ethereum do Visual Studio Code.

  • MetaMask

    Quando você implanta em uma testnet ou na mainnet, o cliente do MetaMask fornece uma carteira e uma interface robusta que se conecta aos blockchains Ethereum e interage com eles.

    Usar o MetaMask para enviar ether e tokens em uma testnet é simples. O cliente fornece uma interface fácil para selecionar e usar diferentes redes Ethereum. Quando você precisa interagir com redes de desenvolvimento, o MetaMask simplifica a conexão com o localhost 8545 ou o RPC personalizado para que você possa se conectar com o Ganache e o Truffle. De maneira semelhante, o MetaMask tem conexões predefinidas com as testnets públicas e a mainnet.

    Se você se conectar à mainnet, tenha cuidado para proteger sua chave privada. Ether real é usado para essa conexão.