🌐 Select Language / Selecione o Idioma:
📸 Quick Access / Acesso Rápido:
The StakeVerse Protocol is a decentralized, modular Web3 ecosystem developed as an MVP for the Complete Web3 Protocol Development with Testnet Deployment course (Advanced Phase — Unit 1 | Chapter 5).
The protocol addresses fragmentation and low participation in DAOs by mitigating opportunity costs through a circular and modular incentive ecosystem:
- Integrated Tokenomics: Users utilize the native utility token to lock in staking contracts and generate cyclical yields.
- Exclusive Access (NFT Pass): Staking and participation in governance layers require holding an exclusive NFT, which mitigates Sybil (impersonation) attacks and introduces programmed scarcity.
- Active Governance: Voting power is directly proportional to the staked token balance, completing the platform's utility cycle.
The protocol's security was validated using static analysis tools (Slither and Mythril), and deployment was successfully executed on the Ethereum Sepolia test network.
[ User / React Frontend ]
│
┌──────────────────────────┼──────────────────────────┐
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ StakeVerseToken │ │ StakeVerseNFT │ │ PriceOracleCons. │
│ (ERC-20) │ │ (ERC-721) │ │ (Chainlink Feed) │
└────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘
│ │ │
▼ ▼ │
┌──────────────────┐ ┌──────────────────┐ │
│StakeVerseStaking │◄──────┤ StakeVerseDAO │◄───────────────┘
│ (Fixed Rate/Time)│ │ (Voting/Actions) │ (Future Economic Extension)
└──────────────────┘ └──────────────────┘
- ERC-20 (
StakeVerseToken.sol): Chosen for the core utility and governance token due to its universal compatibility with decentralized exchanges (DEXs), AMMs, automated liquidity protocols, and market wallets (e.g., MetaMask). It allows precise fractional math required for staking rewards and voting weight distribution. - ERC-721 (
StakeVerseNFT.sol): Chosen for the membership mechanism. Since membership profiles can hold unique metadata and governance identity traits in future expansions, a non-fungible token functions perfectly as the ecosystem's cryptographic access badge.
.
├── audit/ # Automated audit reports (Slither/Mythril)
├── contracts/ # Smart Contract source code (Solidity)
│ ├── MockV3Aggregator.sol # Mock contract for local testing environment
│ ├── PriceOracleConsumer.sol
│ ├── StakeVerseDAO.sol
│ ├── StakeVerseNFT.sol
│ ├── StakeVerseStaking.sol
│ └── StakeVerseToken.sol
├── deployment/ # Testnet deployment artifacts and addresses
│ └── sepolia.json
├── frontend/ # Web Application (React + TypeScript + Vite + Tailwind)
│ ├── src/
│ │ ├── components/ # UI Components (Cards, Modals)
│ │ ├── hooks/ # useWallet.ts and useDashboard.ts
│ │ ├── services/ # Web3 provider abstraction (ethers.js v6)
│ │ └── types/ # TypeScript typings for smart contracts
├── scripts/ # Compilation and deployment scripts (Hardhat v3)
│ └── deploy.ts
└── test/ # Local unit tests (Mocha/Chai)
├── dao.test.ts
└── staking.test.ts
The core modules of the protocol are validated by a unit testing suite built using Hardhat v3, Mocha, and Chai.
- Environment Configuration: Tailored for Hardhat v3 compilation, implementing isolated network context routines via
hre.network.create()to isolate blockchain provider state across execution loops. - EVM Time Simulation: The governance test suite (
dao.test.ts) simulates live voting lifetimes by triggering low-level client JSON-RPC commands:evm_increaseTimeto advance the Unix timestamp past deadlines, andevm_mineto forge a new block, ensuring execution rules are enforced correctly.
The testing infrastructure has achieved a flawless 100% Code Coverage across all files, functions, lines, and statement branches, guaranteeing that no logical or edge-case path goes unvalidated.
----------------------------|----------|----------|----------|----------|
File | % Stmts | % Branch | % Funcs | % Lines |
----------------------------|----------|----------|----------|----------|
contracts/ | 100 | 100 | 100 | 100 |
PriceOracleConsumer.sol | 100 | 100 | 100 | 100 |
StakeVerseDAO.sol | 100 | 100 | 100 | 100 |
StakeVerseNFT.sol | 100 | 100 | 100 | 100 |
StakeVerseStaking.sol | 100 | 100 | 100 | 100 |
StakeVerseToken.sol | 100 | 100 | 100 | 100 |
----------------------------|----------|----------|----------|----------|
All files | 100 | 100 | 100 | 100 |
----------------------------|----------|----------|----------|----------|
To run unit tests locally without external dependencies or internet connection to the Sepolia network, we implemented a Mocking pattern:
- Contract Used:
MockV3Aggregator.sol(located undercontracts/). - How it Works: During local development network deployments (
hardhat), the script detects the environment and deploys this Mock contract instead of pointing to a live Chainlink registry address, perfectly mimicking Chainlink'sAggregatorV3Interface. - Objective: This allows the test suite to artificially manipulate asset prices (via the
updateAnswerfunction), verifying how the protocol handles market volatility in a 100% isolated, local, and offline manner.
The protocol was secured following smart contract development best practices, OWASP Web3 guidelines, and checked using formal symbolic execution and static analysis.
Deep Scan Symbolic Execution completed successfully with clean results:
- Integer Underflow/Overflow: PASS (Solidity 0.8.x native checked arithmetic).
- Reentrancy/State Changes: PASS (Protected by OpenZeppelin's
ReentrancyGuardonwithdrawandclaimRewardsfunctions, strictly following the Checks-Effects-Interactions pattern). - Environmental Dependence: PASS (No risky environment dependencies detected).
- Critical / High Issues: 0 Found
- Medium Issues: 1 Found (Centralization Risk /
pwnable-ownership)- Mitigation: This structure is intentional for the MVP stage. Contract ownership will be transferred completely to the
StakeVerseDAOcontract upon full production deployment to decentralize operational control.
- Mitigation: This structure is intentional for the MVP stage. Contract ownership will be transferred completely to the
- Smart Contracts: Solidity ^0.8.x, Hardhat v3, OpenZeppelin libraries, Chainlink Data Feeds.
- Frontend: React, TypeScript, Vite, Tailwind CSS, Ethers.js (v6).
- Testing & Auditing: Mocha, Chai, Slither, Mythril.
- Node.js (v18+ recommended)
- MetaMask wallet configured for the Sepolia test network
npm install
cp .env.example .envConfigure the required keys inside your .env file:
SEPOLIA_PRIVATE_KEY=your_private_key_here
SEPOLIA_RPC_URL=your_rpc_endpoint_herenpx hardhat compile
npx hardhat testcd frontend
npm install
npm run devThe contracts were successfully deployed to the Ethereum Sepolia Network (Chain ID: 11155111). Generated on-chain artifacts and addresses are mapped and stored in /deployment/sepolia.json.
- 📜 StakeVerseToken (ERC-20): 0x1695059AE16EA39f66978a63e5199E8BBa7e76C1
- 🎫 StakeVerseNFT (ERC-721): 0x499530539E80b26A573c6C5c0583e4067dcCd836
- 🥩 StakeVerseStaking: 0xbAd2743efbA270CCB844015C28213932D9e36E33
- 🏛️ StakeVerseDAO: 0xE500041A14Bbea0a1aD7AC36b59f99BdAfC80E55
- 🔮 PriceOracleConsumer: 0x0985528C81c29cb268dE13AB7D2eFAb88DCd4A02
O StakeVerse Protocol é um ecossistema Web3 descentralizado e modular desenvolvido como MVP para a disciplina de Desenvolvimento de Protocolo Web3 Completo com Deploy em Testnet (Fase 2 Avançada — Unidade 1 | Capítulo 5).
O protocolo resolve o problema da fragmentação e da baixa participação em DAOs ao mitigar o custo de oportunidade por meio de um ecossistema de incentivos circular e modular:
- Tokenomics Integrado: Usuários utilizam o token utilitário nativo para travar em contratos de staking e gerar rendimento cíclico.
- Acesso Exclusivo (NFT Pass): O staking e a participação na governança exigem a posse de um NFT exclusivo, mitigando ataques Sybil (personificação) e gerando escassez programada.
- Governança Ativa: O poder de voto é proporcional ao saldo de tokens integrados, fechando o ciclo de utilidade da plataforma.
A segurança do protocolo foi validada por ferramentas de análise estática (Slither e Mythril) e o deploy foi realizado com sucesso na rede de testes Ethereum Sepolia.
[ Usuário / Frontend React ]
│
┌──────────────────────────┼──────────────────────────┐
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ StakeVerseToken │ │ StakeVerseNFT │ │ PriceOracleCons. │
│ (ERC-20) │ │ (ERC-721) │ │ (Chainlink Feed) │
└────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘
│ │ │
▼ ▼ │
┌──────────────────┐ ┌──────────────────┐ │
│StakeVerseStaking │◄──────┤ StakeVerseDAO │◄───────────────┘
│ (Taxa Fixa/Tempo)│ │ (Votação/Ações) │ (Futura Extensão Econômica)
└──────────────────┘ └──────────────────┘
- ERC-20 (
StakeVerseToken.sol): Utilizado para o token utilitário e de governança devido à sua compatibilidade universal com exchanges descentralizadas (DEXs), AMMs e carteiras do mercado (como MetaMask). Permite o fracionamento preciso para cálculo de recompensas de staking e distribuição do peso de votos. - ERC-721 (
StakeVerseNFT.sol): Escolhido para o mecanismo de membership (participação). Como cada título de membro pode conter metadados e IDs únicos de governança em expansões futures, o padrão não-fungível atua perfeitamente como o "crachá de acesso" criptográfico do ecossistema.
.
├── audit/ # Relatórios de auditoria automatizada (Slither/Mythril)
├── contracts/ # Código-fonte dos Contratos Inteligentes (Solidity)
│ ├── MockV3Aggregator.sol # Contrato Mock para simulação local do Oráculo
│ ├── PriceOracleConsumer.sol
│ ├── StakeVerseDAO.sol
│ ├── StakeVerseNFT.sol
│ ├── StakeVerseStaking.sol
│ └── StakeVerseToken.sol
├── deployment/ # Artefatos e endereços do deploy em testnet
│ └── sepolia.json
├── frontend/ # Aplicação Web (React + TypeScript + Vite + Tailwind)
│ ├── src/
│ │ ├── components/ # Componentes visuais isolados (Cards, Modais)
│ │ ├── hooks/ # Hooks customizados (useWallet, useDashboard)
│ │ ├── services/ # Abstração do provedor Web3 via ethers.js v6
│ │ └── types/ # Tipagens TypeScript para os contratos
├── scripts/ # Scripts de compilação e deploy (Hardhat v3)
│ └── deploy.ts
└── test/ # Testes unitários locais (Mocha/Chai)
├── dao.test.ts
└── staking.test.ts
Os módulos principais do protocolo são validados por uma suíte completa de testes unitários desenvolvida em Hardhat v3, Mocha e Chai.
- Configuração de Ambiente: Adaptado para as regras de compilação do Hardhat v3, implementando rotinas isoladas de contexto de rede via
hre.network.create()para segregar o estado do provider blockchain a cada loop de execução. - Simulação de Passagem de Tempo na EVM: A suíte de testes de governança (
dao.test.ts) simula os prazos de vigência das propostas enviando comandos JSON-RPC de baixo nível ao cliente local:evm_increaseTimepara avançar o relógio Unix eevm_minepara forçar a criação de um bloco subsequente, garantindo o teste preciso das regras de expiração.
A infraestrutura de testes atingiu a marca histórica de 100% de Cobertura de Código em todas as funções, declarações, linhas e ramificações de arquivos, assegurando que nenhuma regra de negócio ou fluxo de exceção ficasse desprotegido.
----------------------------|----------|----------|----------|----------|
File | % Stmts | % Branch | % Funcs | % Lines |
----------------------------|----------|----------|----------|----------|
contracts/ | 100 | 100 | 100 | 100 |
PriceOracleConsumer.sol | 100 | 100 | 100 | 100 |
StakeVerseDAO.sol | 100 | 100 | 100 | 100 |
StakeVerseNFT.sol | 100 | 100 | 100 | 100 |
StakeVerseStaking.sol | 100 | 100 | 100 | 100 |
StakeVerseToken.sol | 100 | 100 | 100 | 100 |
----------------------------|----------|----------|----------|----------|
All files | 100 | 100 | 100 | 100 |
----------------------------|----------|----------|----------|----------|
Para que os testes unitários funcionem localmente via Hardhat sem depender de conexões externas ou internet ativa com a rede Sepolia, implementamos o padrão de Mocking:
- Contrato Utilizado:
MockV3Aggregator.sol(localizado diretamente na pastacontracts/). - Como Funciona: Durante o deploy em ambiente de desenvolvimento local (
hardhat), o script de automação detecta a rede e implanta este contrato Mock ao invés de apontar para o agregador real da rede pública, emulando perfeitamente a interfaceAggregatorV3Interfaceda Chainlink. - Objetivo: Isso permite que a suíte de testes manipule o preço do ativo artificialmente (via função
updateAnswer), testando como o protocolo reage a flutuações severas de mercado de forma 100% isolada, determinística e offline.
O protocolo foi blindado seguindo os padrões de desenvolvimento seguro, diretrizes do OWASP Web3 e verificado via execução simbólica e análise estática avançada.
A análise profunda de execução simbólica foi finalizada com sucesso e obteve parâmetros limpos:
- Integer Underflow/Overflow: PASS (Proteção nativa via verificação aritmética do Solidity 0.8.x).
- Reentrancy/Alteração de Estado: PASS (Proteção via modificadores
ReentrancyGuardda OpenZeppelin nas funções de saque e resgate de recompensas, em total conformidade com o padrão Checks-Effects-Interactions). - Dependência Ambiental: PASS (Nenhuma dependência vulnerável de variáveis previsíveis de bloco detectada).
- Problemas Críticos / Altos: 0 Encontrados
- Problemas Médios: 1 Encontrado (Centralization Risk /
pwnable-ownership)- Mitigação: Estrutura intencional para a fase de MVP. A administração (ownership) dos contratos será transferida inteiramente para o endereço do
StakeVerseDAOno deploy definitivo em produção, descentralizando as permissões operacionais.
- Mitigação: Estrutura intencional para a fase de MVP. A administração (ownership) dos contratos será transferida inteiramente para o endereço do
- Smart Contracts: Solidity ^0.8.x, Hardhat v3, OpenZeppelin, Chainlink Data Feeds.
- Frontend: React, TypeScript, Vite, Tailwind CSS, Ethers.js (v6).
- Testes & Auditoria: Mocha, Chai, Slither, Mythril.
- Node.js (v18+ recommended)
- Carteira MetaMask configurada para a rede Sepolia
npm install
cp .env.example .envConfigure as chaves necessárias no seu arquivo .env:
SEPOLIA_PRIVATE_KEY=sua_chave_privada_aqui
SEPOLIA_RPC_URL=seu_endpoint_rpc_aquinpx hardhat compile
npx hardhat testcd frontend
npm install
npm run devOs contratos foram implantados com sucesso na rede Ethereum Sepolia (Chain ID: 11155111). Os artefatos e endereços on-chain gerados foram mapeados e compartilhados publicamente no explorador.
- 📜 StakeVerseToken (ERC-20): 0x1695059AE16EA39f66978a63e5199E8BBa7e76C1
- 🎫 StakeVerseNFT (ERC-721): 0x499530539E80b26A573c6C5c0583e4067dcCd836
- 🥩 StakeVerseStaking: 0xbAd2743efbA270CCB844015C28213932D9e36E33
- 🏛️ StakeVerseDAO: 0xE500041A14Bbea0a1aD7AC36b59f99BdAfC80E55
- 🔮 PriceOracleConsumer: 0x0985528C81c29cb268dE13AB7D2eFAb88DCd4A02
- 🇺🇸 EN: Main protocol user interface, featuring decentralized wallet connection status, staking interactions (approve/deposit), real-time reward distribution tracking, and active DAO proposal mechanics.
- 🇧🇷 PT-BR: Interface principal do usuário do protocolo, apresentando status de conexão de carteira descentralizada, interações de staking (aprovação/depósito), rastreamento de distribuição de recompensas em tempo real e mecânicas de propostas ativas da DAO.
