Saiba mais sobre as redes Ethereum públicas
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.
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:
- Cliente com suporte: OpenEthereum
- Tempo do bloco: 4 segundos
- Links específicos do Kovan:
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 Goerli dá suporte à maioria dos clientes, incluindo estes:
- Tempo do bloco: 15 segundos em média
- Links específicos do Goerli:
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:
-
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.
-
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.
-
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:
-
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.
-
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.