Preparar para implantação na mainnet

Concluído

Antes de implantar na mainnet do Ethereum, você precisa testar e auditar totalmente seu código. Trabalhar na mainnet requer ether real, que custa dinheiro real e pode se acumular rapidamente!

Depois de desenvolver, testar e auditar o código, execute o projeto em pelo menos uma testnet e resolva os problemas. A maioria dos projetos seguem um processo abrangente antes de serem implantados na mainnet. O processo inclui auditoria, teste, segurança e governança. Esse processo minimiza os riscos e os custos de algo dar errado na mainnet.

O processo de preparação e implantação na mainnet do Ethereum envolve uma série de etapas:

  1. Auditar contratos inteligentes.
  2. Verificar o código-fonte.
  3. Gerenciar chaves.
  4. Cuidar da governança do projeto.

As seções a seguir descrevem essas etapas com detalhes.

Auditar contratos inteligentes

É fundamental auditar e avaliar a segurança dos contratos inteligentes antes de implantar em uma rede pública. Após um contrato inteligente ser implantado, qualquer pessoa na rede pode enviar uma transação diretamente para seus contratos usando qualquer conteúdo. Todo o código-fonte do contrato e o estado do contrato ficam disponíveis publicamente.

Como as transações em blockchains são imutáveis, após serem confirmadas, as transações são permanentes. As transações podem resultar em roubos de fundos e em outras atividades mal-intencionadas. Sendo assim, faça a auditoria dos contratos inteligentes antes da implantação.

Verificar o código-fonte

Imediatamente após implantar seu contrato na mainnet, verifique o código-fonte do contrato inteligente enviando o código Solidity para terceiros. Serviços públicos, como o Etherscan, compilam seu código de contrato e o verificam em relação ao assembly implantado. Esse processo permite que os usuários que exibem seu código de contrato em um explorador de blocos confirmem se o contrato corresponde ao assembly em execução nesse endereço.

Para verificar e publicar o código-fonte Solidity, primeiro insira o código-fonte do contrato. Se o código de bytes gerado corresponder ao código de bytes do endereço de criação existente, o contrato será verificado. Em seguida, o código-fonte do contrato será publicado e qualquer pessoa poderá verificá-lo publicamente.

Gerenciar chaves com segurança

É fundamental gerenciar com segurança as chaves privadas quando você implanta na mainnet. Esta etapa requer precauções sérias para que suas chaves privadas não sejam comprometidas, perdidas nem roubadas.

Chaves gerenciadas incorretamente já levaram a vários roubos e perdas importantes. As contas que você usará para implantar e interagir com contratos inteligentes têm ether verdadeiro. Elas são alvos para hackers. Maneiras comuns de armazenar chaves privadas com segurança incluem carteiras de hardware e armazenamento frio, que são computadores que nunca se conectam a nenhuma rede.

Cuidar da governança do projeto

Projetos descentralizados são gerenciados de maneiras diferentes, dependendo da comunidade e da base de usuários. Frequentemente, são criadas organizações para determinar como gerenciar atualizações e outros aspectos do sistema descentralizado em execução.

A governança do projeto pode ser gerenciada de várias maneiras. Um pequeno grupo de administradores confiáveis pode fornecer o gerenciamento ou, talvez, mediante votação pública por todos os stakeholders do projeto. Não há uma resposta correta aqui. A decisão se resume à solução que você está criando e a quem são sua comunidade e seus usuários.