Scripts para facilitar el lanzamiento del primer proyecto real en Mainnet.
- Stellar CLI instalado:
cargo install --locked stellar-cli --features opt - Bash shell (Linux, macOS, Git Bash en Windows)
- Variables de entorno configuradas
Calcula el hash SHA-256 de un documento para almacenar en el contrato.
Uso en Linux/macOS:
bash scripts/calcular-hash-documento.sh plan-proyecto.pdfUso en Windows (PowerShell):
# Opción 1: Usar el script (si está habilitado)
.\scripts\calcular-hash-documento.ps1 plan-proyecto.pdf
# Opción 2: Comando directo (siempre funciona)
$hash = (Get-FileHash -Path plan-proyecto.pdf -Algorithm SHA256).Hash.ToLower()
Write-Host "Hash SHA-256: $hash"
Write-Host "Para el contrato: 0x$hash"Output:
Hash SHA-256:
a1b2c3d4e5f6...
Hash para el contrato (32 bytes hex):
0xa1b2c3d4e5f6...
Siguiente paso:
# Linux/macOS
export DOC_HASH=0xa1b2c3d4e5f6...
# Windows PowerShell
$env:DOC_HASH = "0xa1b2c3d4e5f6..."Crea el proyecto piloto en Mainnet de forma interactiva.
Variables requeridas:
export CONTRACT_ID=C... # Contract ID de Mainnet
export DUENO_SECRET=S... # Secret key del dueño del proyectoUso:
bash scripts/crear-proyecto-piloto.shPrompts interactivos:
- Nombre del proyecto
- Meta en MXN (ej. 100000)
- Hash SHA-256 del documento
Output:
- ID del proyecto asignado
- TX hash de creación
- Comando para que el admin apruebe
Ejemplo completo:
# 1. Configurar variables
export CONTRACT_ID=CDFFTEQLNIG2RAUONFXSQX2YS2UTQTCBEUAPK6S42XFNIOQEYPBJVH5T
export DUENO_SECRET=SXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# 2. Ejecutar script
bash scripts/crear-proyecto-piloto.sh
# Prompts:
# Nombre del proyecto: Escuela Rural Oaxaca
# Meta en MXN: 100000
# Hash SHA-256: 0xa1b2c3d4e5f6...
# ¿Confirmar? (y/n): y
# Output:
# ✅ Proyecto creado exitosamente
# ID del proyecto: 0
# TX hash: [buscar en Explorer]Aprueba el proyecto piloto (solo admin).
Variables requeridas:
export CONTRACT_ID=C... # Contract ID de Mainnet
export ADMIN_SECRET=S... # Secret key del adminUso:
bash scripts/aprobar-proyecto-piloto.shPrompts interactivos:
- ID del proyecto a aprobar
Output:
- Confirmación de aprobación
- TX hash de aprobación
Ejemplo completo:
# 1. Configurar variables
export CONTRACT_ID=CDFFTEQLNIG2RAUONFXSQX2YS2UTQTCBEUAPK6S42XFNIOQEYPBJVH5T
export ADMIN_SECRET=SXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# 2. Ejecutar script
bash scripts/aprobar-proyecto-piloto.sh
# Prompts:
# ID del proyecto a aprobar: 0
# ¿Confirmar? (y/n): y
# Output:
# ✅ Proyecto aprobado exitosamente
# El proyecto ahora puede recibir contribuciones# Calcular hash del documento
bash scripts/calcular-hash-documento.sh plan-proyecto.pdf
# Guardar el hash
export DOC_HASH=0xa1b2c3d4e5f6...
# Subir a IPFS (Pinata o CLI)
ipfs add plan-proyecto.pdf
# Guardar el CID# Configurar variables
export CONTRACT_ID=C...
export DUENO_SECRET=S...
# Crear proyecto
bash scripts/crear-proyecto-piloto.sh
# Guardar ID del proyecto y TX hash# Configurar variables
export CONTRACT_ID=C...
export ADMIN_SECRET=S...
# Aprobar proyecto
bash scripts/aprobar-proyecto-piloto.sh
# Guardar TX hash de aprobación# Verificar en Stellar Explorer
# https://stellar.expert/explorer/public/contract/[CONTRACT_ID]
# Verificar en frontend
# https://bimex-frontend.vercel.appSolución:
cargo install --locked stellar-cli --features optSolución:
export CONTRACT_ID=CDFFTEQLNIG2RAUONFXSQX2YS2UTQTCBEUAPK6S42XFNIOQEYPBJVH5TSolución:
- Verificar que la cuenta tiene suficiente XLM para fees
- Fondear con al menos 5 XLM
Solución en Windows:
# Usar Git Bash o instalar sha256sum
# Alternativa: usar PowerShell
Get-FileHash plan-proyecto.pdf -Algorithm SHA256Solución:
- Verificar que el ID del proyecto es correcto
- Verificar que estás en la red correcta (Mainnet)
- Usar variables de entorno para secrets
- No guardar secrets en archivos de texto
- Los scripts limpian keypairs temporales automáticamente
- Verificar que
.gitignoreincluye archivos sensibles
Después de ejecutar estos scripts:
-
Actualizar
docs/proyecto-piloto-tracking.mdcon:- ID del proyecto
- TX hashes
- Dirección del dueño
- CID de IPFS
-
Publicar anuncios en redes sociales (usar templates en
docs/templates-comunicacion-piloto.md) -
Monitorear contribuciones y actualizar métricas
-
Documentar caso de éxito cuando se complete
Última actualización: 2026-04-28
Mantenedor: Equipo Bimex