Conectar wallet

Sistema de votación BNB Chain


Paso 0: Conecta tu wallet


Paso 1: Adquiere el token Vote para poder votar

Cada wallet puede adquirir únicamente un token de voto. Si ya tienes un token vote, no podrás adquirir otro.




Paso 2: Votar

Una vez que poseas el token en tu wallet, podrás votar por un candidato de tu elección.



Paso 3: Ver resultado

Después de votar, podrás ver los resultados de la votación. Todo se guarda en el blockchain


Datos técnicos


Aplicación Dapp

Una manera transparente y descentralizada de realizar una votación usando blockchain, donde los resultados son auditables y públicos.

  • Framework: Vite.js para el desarrollo de la interfaz web.
  • Conexión Web3: Utiliza Wagmi para la gestión de la conexión con la blockchain.

Contrato Inteligente VoteNFT

Basado en: ERC721Enumerable, Ownable, PriceConsumerV3, ReentrancyGuard.

1 .Funcionalidad

  • Token Único: Solo se permite un NFT por wallet para la votación.
  • Gestión de NFTs: Asegura que una wallet no pueda tener más de un NFT; incluye funciones para acuñar, transferir y verificar posesión.
  • Votación: Permite la creación de votaciones con opciones, donde cada NFT puede votar solo una vez por opción.
  • Opciones de Votación: Las opciones y votos se gestionan mediante mapeos y listas de nombres.
  • Pausado del Contrato: Funciones para pausar y despausar el contrato.
  • Precios y Pagos: Configuración del precio del NFT en USD, conversión a BNB, y manejo de pagos y retiros de BNB y tokens ERC20.
  • Retractación de Votos: Permite la consulta del resultado de las votaciones y el estado de cada opción.

2. Seguridad

  • Prevención de Reentradas: Implementación de ReentrancyGuard para evitar ataques de reentrada.
  • Restricción de Transferencias: No se permite la transferencia de NFTs a wallets que ya poseen uno.

3. Interacción con el Oráculo

  • Precio del NFT: Obtención del precio del NFT en BNB mediante un oráculo.

4. Funcionalidades Específicas

  • Creación y Gestión de Votaciones: Solo el propietario puede crear, finalizar y gestionar votaciones y opciones.
  • Votación y Resultados: Los usuarios votan utilizando su NFT, y los resultados pueden ser consultados públicamente.