Este projeto implementa um contrato inteligente de votação simples utilizando Solidity e Hardhat.
O contrato Voting permite criar uma eleição entre candidatos definidos no momento do deploy. Usuários podem votar em qualquer candidato válido e consultar a quantidade de votos de cada um.
contracts/Voting.sol: contrato inteligente de votação.ignition/modules/Voting.ts: módulo de deploy Hardhat Ignition para o contrato.hardhat.config.ts: configuração do Hardhat.package.json: dependências do projeto.
- Adicionar candidatos: Os candidatos são definidos no deploy (exemplo: "Alice", "Bob", "Charlie").
- Votar: Qualquer usuário pode votar em um candidato válido.
- Consultar votos: É possível consultar o total de votos de cada candidato.
pnpm install # ou npm install# Compilar contratos
npx hardhat compile
# Rodar testes (se houver)
npx hardhat test
# Executar node local
npx hardhat node
# Deploy usando Hardhat Ignition
npx hardhat ignition deploy ./ignition/modules/Voting.ts// Votar em um candidato
voteForCandidate("Alice");
// Consultar votos
totalVotesFor("Alice");MIT