Avviare il progetto in locale
Le directory hanno dipendenze proprie. Usa i lockfile del repository e mantieni allineate le versioni di contratti, ABI, manifest e client.
I comandi seguenti costruiscono o verificano i componenti in locale. Non costituiscono una procedura di messa in produzione.
Prerequisiti
Il progetto usa Node.js recente, pnpm per dapp e servizi, Foundry per Solidity e npm per questo GitBook. I servizi richiedono Node 22 o superiore; il GitBook è stato preparato con Node 24.
I contratti fissano Solidity 0.8.26, EVM Cancun, compilazione via IR, ottimizzatore a 10 runs e nessun metadato CBOR. Questi parametri fanno parte dell’identità dei bytecode da verificare.
Dopo la clonazione, le dipendenze Solidity del repository devono essere presenti:
git submodule update --init --recursive
Compilare e testare i contratti
Da contracts/:
forge build --sizes
forge test
La configurazione contiene diversi livelli di fuzzing e invarianti:
FOUNDRY_PROFILE=ci forge test
FOUNDRY_PROFILE=gate forge test
Il profilo gate è volutamente lungo. Un risultato di test deve essere associato alla revisione esatta, ai parametri e alle fonti compilate. La nuova implementazione a più muri è ancora in validazione; un vecchio log non è un risultato di questi comandi su questa versione.
Avviare la dapp
Da dapp/:
pnpm install --frozen-lockfile
pnpm typecheck
pnpm test
pnpm build
pnpm dev
Vite mostra l’URL di sviluppo. La configurazione distingue una modalità simulazione dai dati del deployment configurato. Usa gli esempi e le istruzioni del repository per configurare un RPC locale, senza copiare credenziali d’accesso nelle fonti o nel bundle pubblico.
La compilazione del frontend non prova che il suo manifest corrisponda al contratto presente sulla rete.
Mantenere le ABI
Da contracts/, l’esportazione segue la compilazione:
bash scripts/export-abi.sh
python3 scripts/check-abi.py
La dapp dispone di pnpm gen-abi e i servizi di pnpm gen:abi. Esamina le modifiche prodotte per interfacce, eventi e tipi interessati. La nuova libreria dei muri e le viste per ID vanno incluse nella sincronizzazione della release.
Il comando pnpm sync-deployment della dapp rilegge un manifest di deployment: va eseguito solo con i metadati della versione realmente verificata.
Verificare i servizi
Da services/:
pnpm install --frozen-lockfile
pnpm gen:abi
pnpm typecheck
pnpm test
La modalità dry-run del keeper si configura con i parametri locali documentati nel suo README. Esercizio e ripresa delle transazioni hanno una pagina dedicata.
Avviare questo GitBook
Da gitbook/:
npm ci
npm run dev
Il sito viene servito su http://localhost:4000 con ricostruzione delle pagine. Per produrre la directory statica _book/ e verificare i collegamenti:
npm run build
npm run preview
L’anteprima locale usa http://localhost:4001. I font sono inclusi; la ricerca viene eseguita nel browser sull’indice del libro.
Per verificare i percorsi browser della documentazione:
npm run test:install
npm run test:browser
Il README di gitbook/ descrive la scelta di HonKit, la struttura, i controlli e la manutenzione editoriale.
Fonti: contracts/foundry.toml, script del repository, dapp/package.json, services/package.json e gitbook/package.json. Per la build di questa documentazione non servono chiavi né URL RPC autenticati.