Repositorio que contiene un contrato inteligente de subasta simple escrito en Solidity, con extensiones anti‑sniping y función de reembolso de depósitos.
El contrato permite crear subastas temporizadas en las que cada oferta debe superar la oferta anterior en un porcentaje definido (por ejemplo, +5%). Si una oferta llega cerca del fin de la subasta, esta se extiende automáticamente. Los participantes no ganadores pueden retirar sus fondos al finalizar.
- Solidity ^0.8.x
- Hardhat
- Ethers.js
- Registro de vendedor y activo subastado.
- Pujas con incremento porcentual mínimo.
- Extensión automática del tiempo ante ofertas tardías.
- Eventos (`NewBid`, `AuctionExtended`, `AuctionEnded`) para seguimiento.
- Función `withdraw()` para que los pujadores no ganadores recuperen sus depósitos.
- Clona el repositorio.
- Instala las dependencias: `npm ci`.
- Ejecuta los tests: `npx hardhat test`.
Usa Hardhat para desplegar el contrato en una red de prueba (Sepolia u otra) y Ethers.js/MetaMask para interactuar con él.
seller: dirección del vendedor.reservePrice: precio mínimo de venta.biddingTime: duración de la subasta (extensible).highestBidyhighestBidder: seguimiento de la mejor oferta.pendingReturns: mapping para que los pujadores no ganadores retiren sus fondos.
Para probar y desplegar el contrato: npm ci npx hardhat test npx hardhat run scripts/deploy.js --network sepolia