用途:为已构建的 Gear/Vara Sails 合约搭建或扩展 React/TypeScript 前端,优先走类型化 Sails 路径(生成的 lib.ts 加 @gear-js/react-hooks),仅在 Sails 栈无法干净覆盖时回退到 @gear-js/api。
主要能力:用 create-vara-app 脚手架生成 Vite + React + TypeScript 前端,包含基于 IDL 的类型化查询/交易封装、钱包集成(SubWallet、Polkadot.js、Talisman)、事件订阅、输入校验和调试面板。标准路径以程序 .idl 为前端事实来源,围绕 TanStack Query 与 Gear providers 组合应用根,使用 useProgram、useProgramQuery、useProgramEvent、usePrepareProgramTransaction、useSendProgramTransaction 等钩子。
使用方式:合约需先构建以生成 .idl。最小路径执行 npx create-vara-app my-dapp --idl path/to/service.idl,然后 cd my-dapp && npm install && npm run dev。合约变更后若存在 scripts/scaffold-client.ts,运行 npx tsx scripts/scaffold-client.ts 重新生成;否则使用 sails-js-cli。Next.js App Router 需将相关包加入 transpilePackages 并标记 'use client',必要时回退到 sails-js + @gear-js/api 并显式添加 @polkadot/util 与 @polkadot/util-crypto。
适用场景:Vara 上的 React/Vite/TypeScript dApp、钱包连接与交易签名、Sails 查询/命令/事件接线、程序 ID 与端点环境变量、加载与错误状态处理。
限制与注意:交易构建方法为 signAndSend() 而非 sendAndWait(),参数为位置参数;依赖版本须从项目与包元数据解析,不可凭记忆固定;不得在前端代码中放置助记词或私钥;仅在确有需要时启用实时订阅;交付前需完成查询、签名交易状态、表单校验、构建通过等检查。部分参考文档细节暂未提供。