Este proyecto es una Aplicación Descentralizada (dApp) basada en tecnología Blockchain (EVM) y diseñada para ser desplegada en redes de la familia Ethereum (como Mainnet, Sepolia o Polygon). Su propósito es gestionar la logística, el inventario y la cadena de custodia en el combate de Incendios Forestales y la ejecución de Quemas Controladas preventivas.
Antes de comenzar, asegúrese de tener instalado:
- Node.js (v18 o superior)
- NPM (v9 o superior)
- Foundry (Forge, Anvil, Cast) - Instrucciones de instalación
- jq (Herramienta para procesar JSON en scripts) -
sudo apt install jq(en Linux/WSL)
Siga estos pasos para poner en marcha el sistema en su máquina local:
# Instalar dependencias del core y herramientas
npm install
# Instalar dependencias del frontend
cd frontend
npm install
cd ..# Crear el archivo .env a partir del ejemplo
cp .env.example .envNota: El archivo .env ya viene pre-configurado para funcionar en localhost (127.0.0.1).
Abra una nueva terminal y ejecute:
npm run start-anvilEste comando inicia Anvil con 20 cuentas predeterminadas y persistencia de estado.
En la terminal principal, ejecute el script de inicialización automática:
npm run bootstrapEste script automatiza:
- Despliegue del Smart Contract.
- Sincronización de la dirección del contrato en el
.envy el Frontend. - Sincronización de ABIs.
- Carga inicial de Inventario y Roles (Alice, Bob, Sung, etc.).
cd frontend
npm run devAcceda a http://localhost:5173 en su navegador.
Si dispone de tmux instalado, puede arrancar todo el ecosistema (Anvil + Bootstrap + Frontend + Logs) en una sola terminal unificada:
npm run monitorEste comando divide su pantalla en 4 paneles operativos para un monitoreo en tiempo real de la blockchain y la red.
Para interactuar con la dApp, importe las siguientes cuentas predeterminadas de Anvil en Metamask:
| Actor | Cuenta # | Dirección | Rol en Sistema |
|---|---|---|---|
| Administrador | 0 | 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 |
Gestión Global / Auditor |
| Base Operativa | 1 | 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 |
Alice Liang - Logística / Devoluciones |
| Jefe de Escena | 4 | 0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65 |
Aura Frasier (Cmdte Incidentes) |
| Brigadista | 7 | 0x14dC79964da2C08b23698B3D3cc7Ca32193d9955 |
Sung Jin-woo (Personal Campo) |
Clave Privada General (Cta #0): 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
Desarrollado por: CBT Propósito: PFM Ethereum para CodeCrypto Academy.