Avançar para o conteúdo principal

Implementar no Celo com Hardhat

Como implantar um contrato inteligente para Celo testnet, mainnet ou uma rede local usando Hardhat.


Introdução ao Hardhat

Hardhat é um ambiente de desenvolvimento para compilar, implantar, testar e depurar o seu software Ethereum ou Celo. Ele ajuda os desenvolvedores a gerenciar e automatizar as tarefas recorrentes inerentes ao processo de construção de contratos inteligentes e dApps, Além de introduzir facilmente mais funcionalidades em torno deste fluxo de trabalho. Isso significa compilar, executar e testar contratos inteligentes em um mesmo lugar.

Pré-requisitos

Para implantar no Celo usando Hardhat, você deve ter Celo configurado em seu ambiente local. Se você prefere fazer deploy sem um ambiente local, você pode implantar usando Remix ou Replit.

Criar Projeto Hardhat

Escolha um dos seguintes itens para preparar um dApp para implantar no Celo.

Atualizar o arquivo hardhat.config.js

Abra hardhat.config.js em um editor de texto e substitua seu conteúdo por este código de configuração do Celo. Este código é semelhante às configurações de Hardhat, com algumas atualizações de configuração necessárias para implantar a uma rede Celo. Você precisará criar um arquivo .env no diretório raiz do projeto e instalar dotenv com npm ou yarn para ler o process.env.MNEMONIC variável no arquivo de configuração.

Conectar à Rede Local

Usar o Celo Ganache CLI cria contas de teste no localhost na porta 7545. A configuração de rede privada conecta ao seu localhost nesta porta e dá acesso às suas contas no ganache-cli.

    localhost: {
url: "http://127.0.0.1:7545"
},
tip

Se você optar por Configurar uma Cadeia de Desenvolvimento Local, sua blockchain também será hospedada em uma rede privada no localhost. Essa mesma configuração pode ser usada para conectar à cadeia de desenvolvimento local.

Conectar à Testnet usando Forno

Usar o Forno permite que você se conecte ao blockchain de teste Celo sem executar um nó local. A configuração testnet usa Forno para conectá-lo ao Celo Testnet (Alfajores) usando HDWalletProvider e o mnemônico armazenado no seu arquivo .env.

   alfajores: {
url: "https://alfajores-forno.celo-testnet.org",
accounts: {
mnemonic: process.env.MNEMONIC,
path: "m/44'/52752'/0'/0"
},
chainId: 44787
}
nota

Celo usa um caminho de derivação de conta diferente do da Ethereum, então você tem que especificar "m/44'/52752'/0'/0" como caminho.

Conectar-se ao Mainnet usando Forno

Usar o Forno também permite que você se conecte ao blockchain principal do Celo sem executar um nó local. A configuração mainnet usa Forno para conectá-lo ao Celo Mainnet usando HDWalletProvider e o mnemônico armazenado no seu arquivo .env.

   celo: {
url: "https://forno.celo.org",
accounts: {
mnemonic: process.env.MNEMONIC,
path: "m/44'/52752'/0'/0"
},
chainId: 42220
}
tip

Forno é um serviço de nó hospedado pelo cLabs para interagir com a rede Celo. Isso permite que você se conecte ao Celo Blockchain sem precisar executar seu próprio nó.

Implantar no Celo

Execute o seguinte comando a partir da pasta do seu projeto raiz para implantar na rede de teste Celo Alfajors.

npx hardhat run scripts/sample-script.js --network alfajores

... ou execute esse comando para implantar no Celo mainnet.

npx hardhat run scripts/sample-script.js --network celo

Ver implantação do contrato

Copie seu endereço de contrato **** do terminal e navegue até o explorador de bloco para procurar por seu contrato implementado. Alterne entre redes para encontrar seu contrato usando a lista suspensa pela barra de pesquisa.

github

tip

Saiba mais sobre a construção e implantação de dApps usando a Documentação HardHat.

Verificar Contratos no Celo