Skip to content

🌳 Desafio Técnico TreeToken – Token ERC-20 seguro (OpenZeppelin) + Frontend Web com Ether.js + Integração Alchemy (RPC, histórico, notificações). Inclui deploy automatizado, histórico de transações, burn, airdrop e notificações via webhook. Feito para o processo seletivo Tree.

Notifications You must be signed in to change notification settings

gbrazeth/TreeToken

Repository files navigation

TreeToken Challenge

Este projeto implementa um token ERC-20 chamado TreeToken, utilizando Solidity e OpenZeppelin, com uma interface web para interação via Ether.js e Alchemy.

Sumário

Features

  • Nome: TreeToken
  • Símbolo: TREE
  • Decimais: 18
  • Supply inicial: 1.000.000 TREE (mintado para o deployer)
  • Função de burn
  • Função de airdrop para múltiplos endereços
  • Integração com Alchemy (RPC, histórico e webhooks)

Estrutura do Projeto

/tree-token-challenge
├── contracts/TreeToken.sol
├── frontend/index.html, style.css, app.js, alchemy-history.js, ethers.umd.min.js
├── scripts/deploy.js
├── webhook-server.js
├── README.md
├── .env (NÃO subir para o repositório)

Instalação e Setup

  1. Clone o repositório e instale as dependências:

    git clone <url-do-repo>
    cd tree-token-challenge
    npm install
  2. Configuração da Alchemy API Key: Crie um arquivo .env na raiz do projeto:

    ALCHEMY_API_KEY=SEU_ALCHEMY_KEY
    WALLET_PRIVATE_KEY=SUA_PRIVATE_KEY
    
  3. Compile o contrato:

    npx hardhat compile
  4. Deploy do contrato (Hardhat):

    npx hardhat run scripts/deploy.js --network sepolia

Nota: Utilizamos a rede Sepolia como testnet, pois o suporte à Goerli foi descontinuado pelo Alchemy. Sepolia é atualmente a rede de testes padrão para novos projetos Ethereum.

Execução do Frontend

  1. Entre na pasta frontend:
    cd frontend
  2. Inicie um servidor HTTP simples:
    python3 -m http.server 5173
  3. Abra http://localhost:5173 no navegador.

Webhook de Notificações (Alchemy)

  1. Execute o servidor webhook:
    node webhook-server.js
  2. Em outro terminal, exponha a porta com ngrok:
    ngrok http 4000
  3. Use a URL pública gerada (ex: https://xxxx.ngrok-free.app/alchemy-webhook) para configurar o webhook no painel do Alchemy.

Testando

  • Conecte sua carteira MetaMask ao frontend.
  • Realize transferências, burns ou airdrops de TREE.
  • Veja o histórico de transações no painel do frontend.
  • Notificações de eventos aparecerão no terminal do webhook.

Exemplo de uso:

  • Transferir TREE para outro endereço
  • Queimar TREE do saldo próprio
  • Realizar airdrop para múltiplos endereços
  • Visualizar histórico de transações TREE

Contato

Dúvidas ou sugestões: matheus@tree.company

About

🌳 Desafio Técnico TreeToken – Token ERC-20 seguro (OpenZeppelin) + Frontend Web com Ether.js + Integração Alchemy (RPC, histórico, notificações). Inclui deploy automatizado, histórico de transações, burn, airdrop e notificações via webhook. Feito para o processo seletivo Tree.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published