04 / BUILD5 MIN READ

Running the project locally

Directories have their own dependencies. Use the repository lockfiles and keep contract, ABI, manifest and client versions aligned.

The following commands build or check components locally. They are not a production deployment procedure.

Prerequisites

The project uses recent Node.js, pnpm for the dapp and services, Foundry for Solidity, and npm for this GitBook. Services require Node 22 or newer; the GitBook was prepared with Node 24.

Contracts specify Solidity 0.8.26, the Cancun EVM, via IR, an optimizer with 10 runs, and no CBOR metadata. These settings are part of the bytecode identity to verify.

After cloning, the repository’s Solidity dependencies must be present:

git submodule update --init --recursive

Compiling and testing contracts

From contracts/:

forge build --sizes
forge test

The configuration contains several fuzzing and invariant levels:

FOUNDRY_PROFILE=ci forge test
FOUNDRY_PROFILE=gate forge test

The gate profile is intentionally long. Test results must be attached to the exact revision, parameters and compiled sources. The new multiple-wall implementation is still being validated; an old log is not a result of these commands on this version.

Starting the dapp

From dapp/:

pnpm install --frozen-lockfile
pnpm typecheck
pnpm test
pnpm build
pnpm dev

Vite displays the development URL. Configuration distinguishes simulation mode from data for the configured deployment. Use the repository examples and instructions to configure a local RPC, without copying access credentials into sources or the public bundle.

Successful frontend compilation does not prove that its manifest matches the contract on the network.

Maintaining ABIs

From contracts/, export follows compilation:

bash scripts/export-abi.sh
python3 scripts/check-abi.py

The dapp provides pnpm gen-abi and services provide pnpm gen:abi. Inspect the resulting changes for affected interfaces, events and types. The new wall library and views by ID must be included in release synchronization.

The dapp’s pnpm sync-deployment command rereads a deployment manifest: run it only with metadata for the version actually verified.

Checking services

From services/:

pnpm install --frozen-lockfile
pnpm gen:abi
pnpm typecheck
pnpm test

Keeper dry-run mode is configured with the local parameters documented in its README. Operations and transaction recovery have a dedicated page.

Starting this GitBook

From gitbook/:

npm ci
npm run dev

The site is served at http://localhost:4000 with page rebuilding. To produce the static _book/ directory and check links:

npm run build
npm run preview

The local preview uses http://localhost:4001. Fonts are bundled; search runs in the browser on the book’s index.

To check documentation browser workflows:

npm run test:install
npm run test:browser

The gitbook/ README describes the HonKit choice, directory structure, checks and editorial maintenance.

Sources: contracts/foundry.toml, repository scripts, dapp/package.json, services/package.json and gitbook/package.json. Building this documentation requires no key or authenticated RPC URL.

CUBIT / September 10, 2026 Sources and method