Ejecutar el proyecto en local
Los directorios tienen sus propias dependencias. Utiliza los lockfiles del repositorio y mantén alineadas las versiones de contratos, ABI, manifiestos y clientes.
Los siguientes comandos construyen o verifican los componentes localmente. No constituyen un procedimiento de puesta en producción.
Requisitos previos
El proyecto utiliza Node.js reciente, pnpm para el dapp y los servicios, Foundry para Solidity y npm para este GitBook. Los servicios requieren Node 22 o superior; el GitBook se preparó con Node 24.
Los contratos fijan Solidity 0.8.26, la EVM Cancun, compilación via IR, optimizador con 10 runs y sin metadatos CBOR. Estos parámetros forman parte de la identidad de los bytecodes que deben verificarse.
Tras clonar, las dependencias Solidity del repositorio deben estar presentes:
git submodule update --init --recursive
Compilar y probar los contratos
Desde contracts/:
forge build --sizes
forge test
La configuración contiene varios niveles de fuzzing e invariantes:
FOUNDRY_PROFILE=ci forge test
FOUNDRY_PROFILE=gate forge test
El perfil gate es intencionadamente largo. Un resultado de pruebas debe vincularse a la revisión exacta, los parámetros y las fuentes compiladas. La nueva implementación de múltiples muros sigue en validación; un log antiguo no es un resultado de estos comandos sobre esta versión.
Iniciar el dapp
Desde dapp/:
pnpm install --frozen-lockfile
pnpm typecheck
pnpm test
pnpm build
pnpm dev
Vite muestra la URL de desarrollo. La configuración distingue un modo de simulación y los datos del despliegue configurado. Utiliza los ejemplos e instrucciones del repositorio para configurar un RPC localmente, sin copiar credenciales de acceso en las fuentes ni en el bundle público.
Que el frontend compile no prueba que su manifiesto corresponda al contrato presente en la red.
Mantener las ABI
Desde contracts/, la exportación sigue a la compilación:
bash scripts/export-abi.sh
python3 scripts/check-abi.py
El dapp dispone de pnpm gen-abi y los servicios de pnpm gen:abi. Inspecciona los cambios generados para las interfaces, eventos y tipos afectados. La nueva biblioteca de muros y las vistas por ID deben incluirse en la sincronización de la versión.
El comando pnpm sync-deployment del dapp vuelve a leer un manifiesto de despliegue: solo debe ejecutarse con los metadatos de la versión realmente verificada.
Verificar los servicios
Desde services/:
pnpm install --frozen-lockfile
pnpm gen:abi
pnpm typecheck
pnpm test
El modo dry-run del keeper se configura con los parámetros locales documentados en su README. La operación y la recuperación de transacciones tienen su página dedicada.
Iniciar este GitBook
Desde gitbook/:
npm ci
npm run dev
El sitio se sirve en http://localhost:4000 con reconstrucción de páginas. Para producir el directorio estático _book/ y verificar los enlaces:
npm run build
npm run preview
La previsualización local utiliza http://localhost:4001. Las fuentes están incluidas; la búsqueda se ejecuta en el navegador sobre el índice del libro.
Para verificar los recorridos de navegador de la documentación:
npm run test:install
npm run test:browser
El README de gitbook/ describe la elección de HonKit, la estructura, los controles y el mantenimiento editorial.
Fuentes: contracts/foundry.toml, scripts del repositorio, dapp/package.json, services/package.json y gitbook/package.json. El build de esta documentación no requiere claves ni URL RPC autenticadas.