Skip to content

iamlucasgomes/voting_smart_contract

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Voting Smart Contract

Este projeto implementa um contrato inteligente de votação simples utilizando Solidity e Hardhat.

Descrição

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.

Estrutura do Projeto

  • 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.

Como funciona o contrato

  • 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.

Instalação

pnpm install # ou npm install

Comandos úteis

# 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

Exemplo de uso do contrato

// Votar em um candidato
voteForCandidate("Alice");

// Consultar votos
totalVotesFor("Alice");

Licença

MIT

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Contributors