Roadmap
Avançado

𝕏 (Twitter) Descentralizado

Crie um clone do twitter na blockchain

ethers
solidity
vue
tailwind
vercel
github

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:

  1. Endereço do app: https://eth-sepolia...GlW3p7Fm_7C_pq
  2. Chave privada do MetaMask: 8bfde4...ab54e

Abra o projeto x-smart-contracts, acesse o arquivo hardhat.config.js e adicione o seguinte código:

hardhat.config.js
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
    },
  }
};
Clique aqui para expandir

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:

Opa, calma aí!

Parece que você não está logado, caso tenha interesse em salvar seu progresso de estudo faça login agora.