04 / 构建阅读需 5 分钟

在本地运行项目

各目录有独立依赖。使用仓库锁文件,保持合约、ABI、清单和客户端版本一致。

以下命令在本地构建或验证组件,不构成生产发布流程。

前置要求

项目使用近期 Node.js,dapp 和服务使用 pnpm,Solidity 使用 Foundry,本 GitBook 使用 npm。服务要求 Node 22 或以上;GitBook 使用 Node 24 准备。

合约固定 Solidity 0.8.26Cancun EVMvia IR、优化器 10 runs,无 CBOR 元数据。这些参数属于待核查字节码身份的一部分。

克隆后,须具备仓库 Solidity 依赖:

git submodule update --init --recursive

编译与测试合约

contracts/ 中:

forge build --sizes
forge test

配置包含多个模糊测试与不变量级别:

FOUNDRY_PROFILE=ci forge test
FOUNDRY_PROFILE=gate forge test

Gate 配置有意运行很久。测试结果应附精确修订、参数与编译源码。新多买墙实现仍在验证;旧日志不是此版本运行这些命令的结果。

启动 dapp

dapp/ 中:

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

Vite 显示开发 URL。配置区分模拟模式与配置部署的数据。依仓库示例和说明本地设置 RPC,不要把访问凭证写入源码或公开包。

前端编译成功不证明其清单与网络合约一致。

维护 ABI

contracts/ 中,编译后导出:

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

Dapp 提供 pnpm gen-abi,服务提供 pnpm gen:abi。检查生成的接口、事件及类型更改。发布同步必须包括新买墙库及 ID 视图。

Dapp 的 pnpm sync-deployment 重读部署清单,只应针对真正验证版本的元数据执行。

检查服务

services/ 中:

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

Keeper 的 dry-run 按 README 所述本地参数配置。运维与交易恢复见专页

启动本 GitBook

gitbook/ 中:

npm ci
npm run dev

网站在 http://localhost:4000 提供并重建页面。生成静态 _book/ 并检查链接:

npm run build
npm run preview

本地预览使用 http://localhost:4001。字体内嵌,搜索在浏览器使用书籍索引执行。

验证文档浏览器流程:

npm run test:install
npm run test:browser

gitbook/ README介绍 HonKit 选择、目录结构、检查与编辑维护。

来源: contracts/foundry.toml、仓库脚本、 dapp/package.json, services/package.json 以及 gitbook/package.json。构建本文档不需要密钥或带认证的 RPC URL。

CUBIT / 2026 年 9 月 10 日 来源与方法