Una criptomoneda blockchain completa construida desde cero en Python
ColCript es una criptomoneda funcional con tecnología blockchain, construida completamente en Python. Implementa conceptos fundamentales de criptomonedas como Bitcoin, incluyendo Proof of Work, transacciones firmadas digitalmente, sistema de fees, y más.
- Proof of Work (PoW) con SHA-256
- Ajuste automático de dificultad cada 10 bloques
- Validación completa de cadena y bloques
- Persistencia en JSON con auto-guardado
- Explorador de bloques integrado
- Firmadas digitalmente con ECDSA (secp256k1)
- Sistema de fees dinámico
- Priorización por fee
- Pool de transacciones pendientes
- Historial completo por wallet
- Generación segura de claves públicas/privadas
- Múltiples wallets simultáneas
- Balance en tiempo real
- Exportar/importar wallets
- Historial de transacciones
- Script Engine stack-based (inspirado en Bitcoin Script)
- 30+ opcodes implementados
- 3 tipos de contratos:
- ⏰ Timelock: Desbloqueo por altura de bloque
- ✍️ Multisig: Firmas múltiples (2-of-3, etc)
- 🤝 Escrow: Arbitraje de terceros
- Sistema de Gas para ejecución
- Persistencia de contratos
- Nodos independientes y descentralizados
- Descubrimiento automático de peers
- Sincronización de blockchain
- Propagación de transacciones y bloques
- Consenso por cadena más larga
- Estadísticas de red en tiempo real
- 5 CLC gratis cada 24 horas
- Control anti-abuso por dirección
- Cooldown automático
- Integrado en CLI, API y Web
- 19 opciones de menú
- Gestión completa de blockchain y wallets
- Smart Contracts y Red P2P
- Explorador y estadísticas
- 50+ endpoints funcionales
- Documentación integrada en
/api/docs - CORS habilitado
- Respuestas JSON estandarizadas
- 8 páginas interactivas
- Dashboard con gráficas
- Gestión visual de wallets
- Minería en tiempo real
- Explorador de bloques
- Smart Contracts UI
- Red P2P management
- Estadísticas detalladas de wallet (balance, transacciones, fees, net flow)
- Contact Management - Gestión de contactos con notas
- Address Labels - Etiquetado de direcciones para organización
- Transaction History - Análisis completo del historial
- Data Export - Exportación a JSON y CSV
- Real-Time Network Status - Estado de la red en vivo
- Top Holders Analysis - Ranking de wallets
- Miner Ranking - Top mineros por bloques
- Network Activity Charts - Visualización de actividad
- Transaction Search - Búsqueda avanzada
- Python 3.12+
- pip
- Termux (para Android) o cualquier sistema Unix/Linux
(bash) cd ~/ mkdir ColCript cd ColCript Paso 2: Instalar dependencias pip install ecdsa requests flask flask-cors Paso 3: Configuración inicial El archivo config.json se genera automáticamente con valores por defecto. 🚀 Uso Rápido
- CLI (Interfaz de Línea de Comandos) python colcript.py Flujo básico: Crear blockchain (opción 1) Crear wallet (opción 4) Minar bloques (opción 12) Enviar CLC (opción 11)
- API REST python api/server.py El servidor inicia en http://localhost:5000 Endpoints principales: GET /api/info - Información de la blockchain GET /api/blockchain - Ver cadena completa POST /api/transaction - Crear transacción POST /api/mine - Minar bloque GET /api/docs - Documentación completa
- Interfaz Web Con el servidor API corriendo, abre en tu navegador: http://localhost:5000 📚 Documentación Completa Arquitectura - Diseño técnico del sistema API Reference - Documentación de endpoints Smart Contracts - Guía de contratos Red P2P - Sistema de red descentralizada Instalación - Guía detallada de instalación Uso - Guía de uso completa 🎯 Ejemplos Crear y enviar una transacción (CLI)
python colcript.py
Opción 4
Opción 10
Opción 11
Crear un contrato Timelock (API)
curl -X POST http://localhost:5000/api/contracts/timelock/create
-H "Content-Type: application/json"
-d '{
"creator": "tu_direccion",
"unlock_block": 100,
"amount": 50,
"recipient": "direccion_destinatario"
}'
Conectar nodos P2P
python api/server.py
curl -X POST http://localhost:5000/api/network/peer/add
-H "Content-Type: application/json"
-d '{"host": "127.0.0.1", "port": 5001}'
🏗️ Arquitectura
ColCript/
├── blockchain/ # Core blockchain
│ ├── blockchain.py # Clase principal
│ ├── block.py # Bloques
│ ├── transaction.py # Transacciones
│ ├── wallet.py # Wallets
│ ├── difficulty.py # Ajuste de dificultad
│ └── storage.py # Persistencia
├── contracts/ # Smart Contracts
│ ├── opcodes.py # Script Engine
│ └── smart_contract.py # Contratos
├── network/ # Red P2P
│ └── node.py # Nodos
├── api/ # API REST
│ └── server.py # Servidor Flask
├── web/ # Interfaz Web
│ ├── index.html
│ ├── css/
│ └── js/
├── utils/ # Utilidades
│ ├── faucet.py
│ └── helpers.py
├── data/ # Datos persistentes
├── config.json # Configuración
└── colcript.py # CLI principal
🔬 Comparación con Otras Criptomonedas
Característica
Bitcoin
Ethereum
Cardano
ColCript
Blockchain PoW
✅
❌
❌
✅
Smart Contracts
❌
✅
✅
✅
API REST
❌
✅
✅
✅
Interfaz Web
❌
❌
❌
✅
CLI Completa
✅
✅
✅
✅
Faucet Integrado
❌
❌
❌
✅
Red P2P
✅
✅
✅
✅
Todo en Python
❌
❌
❌
✅
📊 Estadísticas del Proyecto
~9,500 líneas de código
30+ archivos Python/JS/CSS/HTML
50+ endpoints API
30+ opcodes de contratos
85+ funcionalidades implementadas
3 interfaces completas (CLI, API, Web)
🤝 Contribuir
Este es un proyecto educativo. Si encuentras bugs o quieres agregar características:
Fork el proyecto
Crea una rama (git checkout -b feature/NuevaCaracteristica)
Commit tus cambios (git commit -m 'Agregar nueva característica')
Push a la rama (git push origin feature/NuevaCaracteristica)
Abre un Pull Request
📝 Licencia
Este proyecto está bajo la Licencia MIT. Ver archivo LICENSE para más detalles.
👨💻 Autor
Guillo - Proyecto educativo de criptomoneda completa
🙏 Agradecimientos
Inspirado en Bitcoin, Ethereum y el whitepaper de Satoshi Nakamoto
Comunidad de Python y blockchain
Stack Overflow y la comunidad open source
🔗 Enlaces Útiles
Bitcoin Whitepaper
Ethereum Documentation
ECDSA Python
Flask Documentation
⭐ Si te gustó este proyecto, dale una estrella!