Sistema de Buy Now, Pay Later (BNPL) para NFTs de videojuegos en Solana. Compra activos digitales ahora y paga en cuotas sin intereses.
-
✅ Smart Contracts en Solana - Programas seguros en Rust/Anchor
-
✅ Pagos programados - Sistema automático de cobros
-
✅ Bloqueo de NFTs - Escrow seguro hasta completar pagos
-
✅ Multi-wallet - Soporte para Phantom, Solflare y WalletConnect
-
✅ Conversión automática - SOL ↔ USD en tiempo real
-
✅ API REST - Fácil integración para desarrolladores de juegos
-
✅ Multi-entorno - Devnet, Testnet y Mainnet
-
✅ Dashboard completo - Seguimiento de préstamos y pagos
-
El workflow
.github/workflows/matrixl.ymlasume carpetasbackend/yfrontend/con sus respectivospackage.json; hoy la pipeline fallará al no encontrarlos. -
El contrato en
programs/bnpl-contract/tiene unCargo.tomlvacío: antes de compilar o desplegar debes completarlo con elpackage.name, dependencias Anchor y versión de Rust. -
No existe configuración de entorno (
.env.example) ni migraciones de base de datos; las referencias en la sección de instalación son placeholders. -
No hay frontend/backend productivo todavía, pero ahora existe
demo-ui/, una SPA de React/Tailwind que funciona en local y se puede publicar en GitHub Pages como demo.
- Arquitectura
- Tecnologías
- Estado del repositorio y gaps actuales
- Instalación
- Uso
- Desarrollo
- Deployment
- Documentación
- Cómo probar la UI incluida (demo)
- Demo pública en GitHub Pages
- Deployment rápido a GitHub Pages (solo la demo de UI)
- Contribuir
- Licencia
┌─────────────┐ ┌─────────────┐ ┌──────────────┐
│ Frontend │ ───> │ Backend │ ───> │ Solana │
│ (React) │ <─── │ (Node.js) │ <─── │ Blockchain │
└─────────────┘ └─────────────┘ └──────────────┘
│
↓
┌─────────────┐
│ Database │
│ (PostgreSQL)│
└─────────────┘
-
Smart Contracts (Rust/Anchor)
- Gestión de préstamos BNPL
- Bloqueo/desbloqueo de NFTs
- Procesamiento de pagos
- Cálculo de intereses
-
Backend API (Node.js/TypeScript)
- API REST para integración
- Scheduler de pagos automáticos
- Conversión de precios SOL/USD
- Gestión de usuarios y préstamos
-
Frontend (React/TypeScript)
- Marketplace de NFTs
- Dashboard de préstamos
- Integración con wallets
- Simulador de cuotas
- Solana - Blockchain de alta velocidad
- Anchor - Framework para Solana
- Rust - Lenguaje de programación
- @solana/web3.js - SDK de Solana
- Node.js - Runtime JavaScript
- TypeScript - Tipado estático
- Express - Framework web
- Prisma - ORM para base de datos
- node-cron - Tareas programadas
- React 18 - Librería UI
- Vite - Build tool
- TailwindCSS - Framework CSS
- @solana/wallet-adapter - Integración wallets
- Axios - Cliente HTTP
Node.js >= 18.x
Rust >= 1.70
Solana CLI >= 1.16
Anchor CLI >= 0.28
PostgreSQL >= 14git clone https://github.com/tu-usuario/bnpl-nft-marketplace.git
cd bnpl-nft-marketplace# Instalar dependencias de todo el proyecto
npm install
# Smart Contracts
cd programs/bnpl-contract
cargo build-bpf
# Backend
cd ../../backend
npm install
# Frontend
cd ../frontend
npm install# Backend (.env)
cp backend/.env.example backend/.env
# Editar con tus valores:
# - DATABASE_URL
# - RPC_URL
# - PROGRAM_ID
# - JWT_SECRETcd backend
npx prisma migrate dev
npx prisma db seed# Terminal 1: Smart Contracts (Devnet)
anchor test
# Terminal 2: Backend API
cd backend
npm run dev
# Terminal 3: Frontend
cd frontend
npm run devAbre tu navegador en http://localhost:5173
- Instala Phantom o Solflare
- Configura tu wallet en Devnet
- Obtén SOL de prueba:
solana airdrop 2 - Conecta en la aplicación
- Navega al Marketplace
- Selecciona un NFT
- Click en "Comprar con BNPL"
- Configura tus cuotas (2-6)
- Ajusta el pago inicial (10-50%)
- Confirma la transacción
bnpl-nft-marketplace/
├── programs/ # Smart contracts
├── backend/ # API REST
├── frontend/ # React app
├── tests/ # Tests
├── scripts/ # Scripts útiles
└── docs/ # Documentación
# Compilar smart contracts
anchor build
# Ejecutar tests
anchor test
npm run test
# Lint
npm run lint
# Format code
npm run format
# Deploy a devnet
npm run deploy:devnet- Crear feature branch:
git checkout -b feature/nueva-funcionalidad - Desarrollar y hacer commits
- Push:
git push origin feature/nueva-funcionalidad - Crear Pull Request en GitHub
- Esperar review y merge
# Configurar Solana CLI para devnet
solana config set --url devnet
# Deploy smart contracts
anchor deploy
# Deploy backend (Railway)
railway up
# Deploy frontend (Vercel)
vercel --prod# Configurar para mainnet
solana config set --url mainnet-beta
# Deploy con precaución
anchor deploy --provider.cluster mainnet
# Actualizar env variables en producción
# Backend: Railway dashboard
# Frontend: Vercel dashboard- 📖 Documentación Completa
- 🔧 API Reference
- 📝 Smart Contracts
- 🎮 Guía de Integración para Juegos
- 🚀 Guía de Deployment
- 🏗️ Arquitectura
demo-ui/ ya contiene un frontend funcional con Vite + Tailwind basado en el componente BNPLNFTMarketplace. Solo necesitas Node 18+:
cd demo-ui
npm install
npm run dev -- --hostAbrir en http://localhost:5173.
Si quieres una demo sin instalar dependencias, abre directamente
docs/index.htmlo usa la publicación en GitHub Pages descrita abajo.
Características de la demo:
- Simula conexión con Phantom/Solflare (usa modo demo si no detecta la extensión).
- Calcula cuotas BNPL (down payment, cuotas, interés demo) y las refleja en el dashboard.
- No envía transacciones en cadena; todo se mantiene en memoria del navegador.
El repositorio ya puede publicarse directamente desde la carpeta /docs, sin build ni dependencias. Solo sube los cambios a la rama configurada en Pages y visita la URL.
- Asegúrate de que GitHub Pages está apuntando a
main(o la rama que uses) con la carpeta/docs. - Haz commit y push de este repositorio.
- Abre
https://<tu-usuario>.github.io/<tu-repo>/para ver la demo.
- Abre
docs/index.htmlen tu navegador, o bien:
npx serve docsLuego navega a http://localhost:3000.
- UI React (via
esm.sh) con Tailwind desde CDN, sin pasos de compilación. - Selector de wallet (Phantom, Solflare, Backpack) y botón de conexión simulado.
- Selección de NFT con precios en SOL, rareza, floor y ROI.
- Configurador BNPL: entrada, número de cuotas, cálculo de cuota y total estimado.
- Dashboard de seguimiento y alertas tipo toast en modo demo.
- Prepara el build con la ruta base de tu repo (necesaria para Pages). Si tu repositorio se llama
bnpl-nft-marketplace, ejecuta:
cd demo-ui
VITE_BASE_PATH=/bnpl-nft-marketplace/ npm run deploy-
El script genera
/demo-ui/disty publica automáticamente en la ramagh-pagesusandogh-pages. Si prefieres subir manualmente, ejecuta solonpm run buildy publicademo-ui/dist/. -
En GitHub → Settings → Pages selecciona la rama
gh-pages. La demo quedará disponible enhttps://<tu-usuario>.github.io/<tu-repo>/.
- Smart contract básico BNPL
- API REST funcional
- Frontend marketplace
- Integración con wallets
- Tests completos (>80% coverage)
- Documentación API
- Dashboard admin
- Notificaciones email/SMS
- Multi-chain (Ethereum, Polygon)
- Staking de governance token
- Liquidación de préstamos morosos
- Integración con más juegos
¡Las contribuciones son bienvenidas! Por favor lee CONTRIBUTING.md para detalles sobre nuestro código de conducta y proceso de pull requests.
- Fork el proyecto
- Crea tu feature branch (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la branch (
git push origin feature/AmazingFeature) - Abre un Pull Request
- Backend & Smart Contracts - Desarrollo de programas Solana
- Frontend - UI/UX y React
- DevOps - Infraestructura y CI/CD
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para detalles.
- Solana Foundation
- Anchor Framework
- Metaplex
- Comunidad de Solana
- Website: Pendiente
- Twitter: @JCazorla90
- Discord: Join our community
- Email: bnplnft@gmail.com
⭐ Si te gusta este proyecto, dale una estrella en GitHub!
Made with ❤️ by the BNPL NFT Team