SuperAPI AI 工具集

walrus-sites

前端与建站

查看项目

更新于 10-16 01:33

技能介绍

用途:把 HTML/CSS/JS 静态前端部署到 Walrus,由链上 site::Site 对象记录资源路径与 blob 引用,portal 负责解析子域名、拉取资源并返回 HTTP 响应,实现无中心化服务器的去中心化前端。仅支持静态站点,无服务端渲染、请求处理或数据库,内容公开存放,不得包含密钥或私密数据。

主要能力:site-builder deploy 统一创建或更新站点(取代 publish/update);sitemap 查看资源与过期时间;list-directory 预览上传内容;update-resources 增改资源;destroy 删除站点;convert 将十六进制对象 ID 转为 Base36。ws-resources.json 控制资源头、路由、重定向、元数据与忽略文件,并在首次部署时记录站点对象 ID。redirects 定义服务端跳转(如 301/302/308,支持 * 与 */ 通配,公共 portal 跳转链最多 3 跳);routes 仅用于客户端路由。

使用方式:先构建静态产物(如 npm run build),再执行 site-builder deploy <DIR>;--epochs 为必需参数,可选 --epochs max 取最长存储(上限 53 个 epoch)。epochs 过小会导致 blob 过期、站点静默失效;--permanent 只使 blob 不可删除,不延长存储时长。测试网需自建本地 portal,wal.app 仅服务带 SuiNS 名称的主网站点,且不支持嵌套子名。CI 无 watch 模式,每次推送运行部署,并须把 ws-resources.json 纳入版本控制,否则每次会新建站点;也可用官方 GitHub Action 配置 SUI_ADDRESS 与 SUI_KEYSTORE 等认证方式自动化。

限制:SPA 需在 ws-resources.json 配置回退路由,否则深链接返回 404。通配符只能位于模式末尾,路由目标须为已部署文件,自定义头按精确路径生效。portal 的 original_package_id 必须指向 Walrus Sites 框架包而非应用 Move 包。iOS 及部分浏览器上 service worker portal 受限,PWA 支持不完整。大型 .wasm 可能因聚合器响应超时返回 503,可通过 AGGREGATOR_REQUEST_TIMEOUT_MS 或 PORTAL_IDLE_TIMEOUT_MAX_S 调整。SuiNS 域名与存储成本的具体标准暂未提供。