用途:此技能针对 Vara.eth 合约已经存在之后的阶段,起点是已构建的构件、IDL、code id、program id、Router/Mirror 地址或集成需求;合约编写交给 vara-eth-contract-writer。
主要能力:提供三条可选流程——直接 CLI 生命周期(参考 playbooks/vara-eth-ethexe-cli-workflow.md)、脚本化 TypeScript 生命周期(playbooks/vara-eth-ts-api-workflow.md)、Solidity ABI 接口生命周期(playbooks/vara-eth-abi-interface.md);Solidity 合约适配器或回调处理改用 vara-eth-solidity-integrator/SKILL.md。可借助 references/source-map.md 核对实现细节,用 references/flow-checks.md 做部署与交互示例的最终检查。
使用方式:部署与交互流程需显式使用 ethexe 二进制,可通过克隆 https://github.com/gear-tech/gear.git 后从源码构建,或从 https://get.gear.rs/#vara-eth 下载。CLI 流程先用 ethexe key keyring import --private-key .... 导入发送方密钥,再以共享参数 --ethereum-rpc、--ethereum-router、--sender 使用 ethexe tx,upload --watch 上传代码并以批准作为验证关卡,获取 code_id 后用 create 或 create-with-abi 创建程序,按需充值可执行余额、初始化程序,再查询状态或发消息验证回复。TypeScript 示例应使用小脚本,采用 createVaraEthApi(...)、getMirrorClient({ address, publicClient, signer })、sails-js/parser 的 SailsProgram 与 SailsIdlParser,先 program.setProgramId(...) 再编解码与调用,仅在使用 SailsProgram 自带 @gear-js/api 调用时 program.setApi(gearApi),不要传入 @vara-eth/api 对象;IDL v2 使用经核实的 sails-js 发布包(如 https://github.com/gear-tech/sails/releases/download/js/v1.0.0-beta.1/sails-js.tgz),不要用旧的独立 sails-js-parser。ABI 流程需从 Sails IDL 生成 Solidity ABI 接口、部署该接口合约、用 createProgramWithAbiInterface(...) 创建程序,再经 ABI 面向的以太坊工具初始化与调用。回复码 0x00000000 为成功自动回复,0x00010000 为成功手动回复。
适用场景与限制:适用于已有 Vara.eth 合约的部署、交互与集成示例编写与验证。需明确占位符(私钥、发送方地址、Router 地址、RPC 端点、salt、code id、program id、ABI 接口地址),示例中不得打印真实私钥;区分当前行为与计划/未来行为,并说明使用 Router、Mirror、直接 Sails 载荷、生成式 Solidity ABI 还是 TypeScript 助手。注意 wVARA 有 12 位小数,1 WVARA = 1000000000000;区分自有余额、可执行余额、原生值与 wVARA。消息处理即使程序创建成功也可能需要充值可执行余额。联网流程要验证可观察结果而非仅交易已提交;以太坊交易回执可能先于 Vara.eth 状态可读,需轮询或重复读取。Solidity 调用需视为异步,保存 messageId,仅通过可信回调完成本地状态。按账户查询时需区分 20 字节以太坊地址与 32 字节 ActorId。命名 API、命令、事件、字段或标志前需按 contracts/src、cli/src、rpc/src、runtime、sdk/src 等区域核实实现,ethexe 之外的 TypeScript SDK 行为须在其自身仓库核实。示例应包含所需输入与环境变量、确切命令或调用、预期成功信号与输出字段、已知失败模式,以及已验证与未验证部分。