Criando um app na Alchemy
Agora que subimos o projeto vue para produção, nós vamos fazer o mesmo com os contratos inteligentes.
Para isso, utilizaremos uma plataforma Web3 que facilita o processo de deploy dos nossos contratos. Entre as várias opções disponíveis no mercado, eu tive uma experiência mais positiva com a Alchemy, e é essa que escolheremos aqui.
O primeiro passo é criar uma conta clicando aqui.
Após isso, clique em "Apps" e depois "Create a new app", conforme mostrado na imagem abaixo:
Agora, escolha a chain Ethereum e a network Ethereum Sepolia, e preencha o restante como na imagem abaixo:
Estamos optando pela rede Ethereum Sepolia porque esta é a rede de teste padrão da Ethereum. Isso significa tudo que todos os contratos inteligentes de teste e tokens Ethereum são de teste.
Solicitando Ethereums de teste nas páginas de faucet
Antes de conseguirmos subir os contratos inteligentes para o nosso app que acabamos de criar, precisamos adicionar os Ethereums de teste na nossa carteira no MetaMask.
Para isso, abra o Sepolia Faucet clicando aqui, copie o seu endereço do MetaMask como na imagem abaixo:
Cole esse endereço no site, marque o check de "Não sou um robô" e clique em "Send me ETH". Após isso, deverá aparecer algo assim na sua tela:
Pronto, você mandou demais!! Agora você já tem Ethereum de teste na sua carteira MetaMask.
Subindo os contratos inteligentes no app do Alchemy
Em seguida, abra o app que criou no Alchemy, clique no botão "API Key" e copie o seguinte campo:
Pronto! Esse é o endereço do seu app criado Alchemy, salve ele em algum lugar.
Agora, copie a sua chave privada da carteira MetaMask como é ensinado nesse link.
Agora, você terá dois dados importantes semelhantes que adicionaremos no projeto do contrato inteligente:
- Endereço do app:
https://eth-sepolia...GlW3p7Fm_7C_pq
- Chave privada do MetaMask:
8bfde4...ab54e
Abra o projeto x-smart-contracts
, acesse o arquivo hardhat.config.js
e adicione o seguinte código:
require("@nomicfoundation/hardhat-toolbox");
/** @type import('hardhat/config').HardhatUserConfig */
module.exports = {
solidity: "0.8.19",
networks: {
staging: {
url: "", //COLE O ENDEREÇO DO APP DENTRO DAS ASPAS
accounts: [""], //COLE SUA CHAVE PRIVADA DENTRO DAS ASPAS
},
}
};
Importante: em hipótese alguma compartilhe sua chave privada da sua carteira MetaMask. Não envie para ninguém e não salve no GitHub. Se quiser salvar o projeto no GitHub, deixe o projeto privado ou aprenda a usar variáveis de ambiente.
Para finalizar, rode o comando npx hardhat run scripts/deploy.js --network staging
e perceba algo semelhante a imagem abaixo no seu terminal: