Pular para o conteúdo principal

Pré-requisitos

  • Node.js 16+
  • Familiaridade com desenvolvimento Ethereum
  • Uma wallet com tokens da testnet (consulte detalhes da chain testnet)

Preparação do Contrato

O contrato de exemplo a seguir será usado ao longo deste guia:

Implantar com Foundry

Foundry é um toolkit rápido baseado em Rust para desenvolvimento Ethereum.
  1. Instale o Foundry:
    Talvez seja necessário fazer source do seu arquivo .bashrc ou .zshrc.
  2. Configure um novo projeto Foundry:
  3. Atualize foundry.toml com as configurações da Plasma testnet:
  4. Crie um arquivo .env na raiz do projeto:
  5. Carregue as variáveis de ambiente:
  6. Salve o código do contrato como src/SimpleStorage.sol e, em seguida, implante:
    O Foundry exibirá o hash da transação de implantação e o endereço do contrato:
  7. Teste seu contrato implantado usando a ferramenta cast do Foundry. Primeiro, leia os dados armazenados:
  8. Em seguida, atualize os dados e leia novamente:
    Isso deverá gerar uma saída semelhante a:

Implantar com Hardhat

Hardhat é um framework de desenvolvimento completo com rico suporte a plugins.
  1. Garanta que você tenha o seguinte:
  • Node.js 20+ (necessário para compatibilidade com versões modernas do Hardhat)
  • Familiaridade com desenvolvimento Ethereum
  • Uma wallet com tokens da testnet (consulte detalhes da chain testnet)
Node.js 18 e anteriores não são mais suportados pelo Hardhat e podem causar problemas de compatibilidade com módulos ES.
  1. Verifique a versão do Node.js:
    Se você estiver usando Node.js 18 ou anterior, atualize para Node.js 20+:
  2. Inicialize um novo projeto Hardhat:
    Se encontrar problemas de compatibilidade, consulte a documentação do Hardhat para as versões suportadas mais recentes.
    Escolha Create a JavaScript project quando solicitado.
  3. Atualize hardhat.config.js:
  4. Crie um arquivo .env na raiz do projeto:
  5. Crie o diretório scripts e o script de implantação:
  6. Crie scripts/deploy.js:
  7. Salve o código do contrato como contracts/SimpleStorage.sol e, em seguida, implante:
  8. Pronto!

Implantar com Ethers.js

Ethers.js fornece um fluxo de implantação mínimo e programático.
  1. Crie um novo projeto:
  2. Crie um arquivo .env na raiz do projeto:
  3. Crie compile.js para compilar seu contrato Solidity:
  4. Salve seu contrato como SimpleStorage.sol e, em seguida, compile:
    Isso deverá gerar:
  5. Crie deploy.js:
  6. Execute o script de implantação:
    Isso deverá gerar uma saída semelhante a:

Verifique a Implantação

Após implantar com qualquer um dos métodos acima, verifique a implantação do seu contrato.

Solução de Problemas

Problemas de Compatibilidade com Módulos ES

Se encontrar erros como Error [ERR_REQUIRE_ESM]: require() of ES Module, isso geralmente significa:
  1. Versão do Node.js muito antiga: Atualize para Node.js 20+ conforme mencionado nos pré-requisitos
  2. Incompatibilidade de versão de dependência: Se atualizar o Node.js não for possível, você pode fazer downgrade da dependência problemática:

Avisos de Versão do Node.js

Se você ver avisos sobre versões não suportadas do Node.js:
Atualize para Node.js 20+ seguindo as etapas na seção de pré-requisitos.

Fundos Insuficientes

Garanta que sua wallet tenha tokens da testnet suficientes. Visite um faucet da testnet.

Configuração de Rede Incorreta

Verifique se a configuração de rede corresponde aos detalhes da chain testnet.

Falha na Estimativa de Gas

Defina limites de gas explícitos em sua configuração de implantação: