Lancer le projet en local
Les répertoires ont leurs propres dépendances. Utilisez les lockfiles du dépôt et gardez les versions de contrats, ABI, manifests et clients alignées.
Les commandes suivantes construisent ou vérifient les composants localement. Elles ne constituent pas une procédure de mise en production.
Prérequis
Le projet utilise Node.js récent, pnpm pour le dapp et les services, Foundry pour Solidity, et npm pour ce GitBook. Les services demandent Node 22 ou supérieur ; le GitBook a été préparé avec Node 24.
Les contrats fixent Solidity 0.8.26, l’EVM Cancun, le passage via IR, l’optimiseur à 10 runs, sans metadata CBOR. Ces paramètres font partie de l’identité des bytecodes à vérifier.
Après clonage, les dépendances Solidity du dépôt doivent être présentes :
git submodule update --init --recursive
Compiler et tester les contrats
Depuis contracts/ :
forge build --sizes
forge test
La configuration contient plusieurs niveaux de fuzzing et d’invariants :
FOUNDRY_PROFILE=ci forge test
FOUNDRY_PROFILE=gate forge test
Le profil gate est volontairement long. Un résultat de tests doit être attaché à la révision exacte, aux paramètres et aux sources compilées. La nouvelle implémentation multi-murs est encore en validation ; un ancien log n’est pas un résultat de ces commandes sur cette version.
Démarrer le dapp
Depuis dapp/ :
pnpm install --frozen-lockfile
pnpm typecheck
pnpm test
pnpm build
pnpm dev
Vite affiche l’URL de développement. La configuration distingue un mode simulation et les données du déploiement configuré. Utilisez les exemples et instructions du dépôt pour configurer localement un RPC, sans recopier d’identifiants d’accès dans les sources ou le bundle public.
Le fait que le frontend compile ne prouve pas que son manifeste correspond au contrat présent sur le réseau.
Maintenir les ABI
Depuis contracts/, l’export suit la compilation :
bash scripts/export-abi.sh
python3 scripts/check-abi.py
Le dapp dispose de pnpm gen-abi et les services de pnpm gen:abi. Inspectez les modifications produites pour les interfaces, événements et types concernés. La nouvelle bibliothèque de murs et les vues par ID doivent être incluses dans la synchronisation de la release.
La commande pnpm sync-deployment du dapp relit un manifeste de déploiement : elle ne doit être exécutée qu’avec les métadonnées de la version réellement vérifiée.
Vérifier les services
Depuis services/ :
pnpm install --frozen-lockfile
pnpm gen:abi
pnpm typecheck
pnpm test
Le mode dry-run du keeper se configure avec les paramètres locaux documentés dans son README. L’exploitation et les reprises de transactions ont leur page dédiée.
Démarrer ce GitBook
Depuis gitbook/ :
npm ci
npm run dev
Le site est servi sur http://localhost:4000 avec reconstruction des pages. Pour produire le dossier statique _book/ et vérifier les liens :
npm run build
npm run preview
La prévisualisation locale utilise http://localhost:4001. Les polices sont embarquées ; la recherche s’exécute dans le navigateur sur l’index du livre.
Pour vérifier les parcours navigateur de la documentation :
npm run test:install
npm run test:browser
Le README de gitbook/ décrit le choix HonKit, l’arborescence, les contrôles et la maintenance éditoriale.
Sources : contracts/foundry.toml, scripts du dépôt, dapp/package.json, services/package.json et gitbook/package.json. Aucune clé ni URL RPC authentifiée n’est nécessaire au build de cette documentation.