Una aplicación web que permite crear smart contracts de Stellar usando bloques visuales, diseñada para que sea fácil como un juego de niños.
- Node.js >= 16.0.0
- npm >= 8.0.0
- Rust y Cargo (para compilación de smart contracts)
- Stellar CLI (opcional, para deployment automático)
- Los servicios cloud manejan Node.js automáticamente
- La compilación de smart contracts puede estar limitada en algunos servicios
git clone <tu-repo-url>
cd tralalerocontracts-appnpm install
# o usar el script de setup
npm run setup# Instalar Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
# Agregar target para WebAssembly
rustup target add wasm32-unknown-unknown
# Instalar Stellar CLI (opcional)
cargo install soroban-clinpm run dev
# o
npm startLa aplicación estará disponible en http://localhost:3000
-
Conectar con GitHub:
- Ve a vercel.com
- Conecta tu repositorio de GitHub
- Vercel detectará automáticamente la configuración
-
Variables de entorno (opcional):
NODE_ENV=production STELLAR_NETWORK=TESTNET -
Limitaciones en Vercel:
⚠️ La compilación de smart contracts puede fallar- Solo funciona la creación de tokens simples (sin compilación Rust)
-
Crear nuevo Web Service:
- Ve a render.com
- Conecta tu repositorio
- Usa estas configuraciones:
Build Command: npm install Start Command: npm start
-
Variables de entorno:
NODE_ENV=production PORT=(auto-asignado) -
Ventajas de Render:
- ✅ Permite instalación de Rust/Cargo
- ✅ Compilación completa de smart contracts
- ✅ Persistent filesystem para archivos temporales
-
Deploy directo:
npm install -g @railway/cli railway login railway init railway up
-
Configuración automática: Railway detecta Node.js automáticamente
- Setup:
heroku create tu-app-name heroku buildpacks:add heroku/nodejs heroku buildpacks:add https://github.com/emk/heroku-buildpack-rust git push heroku main
- Render - Mejor opción
- Railway - Buena alternativa
- Heroku - Con buildpack de Rust
- DigitalOcean App Platform
- VPS tradicional (Ubuntu/CentOS)
- Vercel - Solo tokens simples, sin smart contracts compilados
- Netlify Functions - Limitaciones similares a Vercel
- AWS Lambda - Requiere configuración especial
tralalerocontracts-app/
├── public/ # Frontend (HTML, CSS, JS)
│ ├── index.html # Página principal
│ ├── client.js # Lógica de Blockly
│ ├── stepper-client.js # Lógica del stepper
│ └── style.css # Estilos
├── server.js # Servidor Express
├── package.json # Dependencias Node.js
├── vercel.json # Configuración Vercel
├── render.yaml # Configuración Render
├── Dockerfile # Para containerización
└── tralala/ # Smart contracts Rust
├── contracts/ # Templates de contratos
├── dynamic-contracts/# Contratos generados
└── compiled/ # Contratos compilados
- Causa: Rust no está instalado en el servidor
- Solución: Usar Render o Railway que permiten buildpacks personalizados
- Causa: Servicios serverless no permiten escritura
- Solución: La app funcionará sin compilación, solo tokens simples
- Causa: Puerto 3000 hardcodeado en desarrollo
- Solución: Ya solucionado con
process.env.PORT || 3000
- Causa: HTTPS requerido en producción para wallets
- Solución: Todos los servicios mencionados usan HTTPS automáticamente
- ✅ No se almacenan claves privadas
- ✅ Los usuarios firman transacciones en su wallet
- ✅ Solo se usa red TESTNET
- ✅ No hay variables de entorno sensibles
| Servicio | Tokens Simples | Smart Contracts | Rust Compilation | Costo |
|---|---|---|---|---|
| Vercel | ✅ | ❌ | Gratis | |
| Render | ✅ | ✅ | ✅ | Gratis |
| Railway | ✅ | ✅ | ✅ | Gratis |
| Heroku | ✅ | ✅ | ✅ (con buildpack) | Gratis |
Si tienes problemas:
- Revisa los logs del servicio de deployment
- Verifica que las dependencias estén instaladas
- Confirma que el puerto esté configurado correctamente
- Para smart contracts, asegúrate de que Rust esté disponible
- Deploy en Render (recomendado)
- Configurar dominio personalizado
- Agregar monitoreo con logs
- Implementar caché para compilaciones
- Agregar tests automatizados