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.
- Siga as instruções de instalação e comece rapidamente para construir e implantar o seu contrato inteligente.
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"
},
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
}
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
}
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.
Saiba mais sobre a construção e implantação de dApps usando a Documentação HardHat.