Tokeniza exoplanetas descubiertos por NASA usando IA y blockchain. Proyecto para NASA Space Apps Challenge.
- Data Collection: Datos reales de NASA Exoplanet Archive (misiones Kepler/TESS)
- AI Classification: Modelo ML analiza período orbital, radio, temperatura estelar
- Image Generation: Visualización procedural del planeta basada en datos reales
- IPFS Upload: Imagen + metadata subidos a IPFS
- Token Generation: Candidatos con alta confianza se convierten en NFTs
- Rarity Assignment: Basado en zona habitable y características únicas
- Funding Mechanism: Coleccionistas financian investigación de exoplanetas específicos
- Imágenes Generadas: Visualización procedural basada en temperatura estelar y radio
- IPFS Storage: Imágenes y metadata en IPFS (Pinata)
- Filecoin Calibration: NFTs minteados en testnet de Filecoin
- NASA Data: Datos reales del Exoplanet Archive
- Rarity System: Ultra Rare, Rare, Uncommon, Common
- Funding: Sistema de financiamiento para investigación
cd space-tokens
pip install -r requirements.txt
python app.pyEdita ipfs_uploader.py:
api_key = 'TU_PINATA_API_KEY'
api_secret = 'TU_PINATA_SECRET'Obtén FIL testnet: https://faucet.calibration.fildev.network/
GET /- FrontendGET /api/tokens- Lista de exoplanetas tokenizadosPOST /api/classify- Clasifica candidato con IAPOST /api/mint- Mintea NFT con imagen generadaPOST /api/preview- Preview de imagen del planetaPOST /api/fund- Financia investigaciónGET /api/nasa/fetch- Obtiene datos frescos de NASA
- Backend: Flask + Python
- Blockchain: Web3.py + Filecoin
- Storage: IPFS (Pinata)
- Images: Pillow (generación procedural)
- Data: NASA Exoplanet Archive API
- AI: scikit-learn
{
"name": "Kepler-442b",
"description": "Exoplanet with 87% habitability score",
"image": "ipfs://QmXxx.../kepler442b.png",
"attributes": [
{"trait_type": "Habitability", "value": 87},
{"trait_type": "Rarity", "value": "Ultra Rare"},
{"trait_type": "Orbital Period", "value": "112.3 days"},
{"trait_type": "Radius", "value": "1.34 Earth radii"}
]
}Las imágenes se generan proceduralmente basadas en:
- Color: Temperatura de la estrella anfitriona
- Tamaño: Radio del planeta
- Textura: Manchas aleatorias para variación
- Atmósfera: Efecto glow según características
- Ultra Rare (>80 habitability): Zona habitable perfecta
- Rare (60-80): Candidato prometedor
- Uncommon (40-60): Interesante para estudio
- Common (<40): Datos básicos
Contrato ERC-721 en Filecoin con:
- Mint con metadata URI
- Funding mechanism
- Habitability scores on-chain
- Withdraw funds (owner only)
Ver contracts/SpaceTokens.sol
# Local
python app.py
# Producción (Heroku)
git push heroku main- NASA Exoplanet Archive: https://exoplanetarchive.ipac.caltech.edu/
- Filecoin Calibration: https://faucet.calibration.fildev.network/
- Pinata IPFS: https://pinata.cloud/
Preservando descubrimientos científicos en blockchain descentralizado 🌍🚀