运行时依赖
安装命令
点击复制本土化适配说明
Bobine Contract Caller — Bobine 合约调用者 安装说明: 安装命令:["openclaw skills install bobine-contract-caller"]
技能文档
Bobine Contract Caller
Default entrypoint: scripts/call_bobine.mjs.
Up流 references Concept overview: https://www.bobine.tech/ Bobine project: https://github.com/hazae41/bobine Standard libraries for Bobine 网页Assembly VM: https://github.com/hazae41/stdbob Scope Calling a Bobine 模块 through /API/执行 Preparing typed Bobine params for contract methods Generating Ed25519 keys for Bobine auth 会话s Performing an 认证d ed25519 call with nonce handling and 签名ature 运行time requirements Node.js 20+ Network 访问 to a Bobine server Load on demand Read references/params.md only when params use packed arrays or quoted text: payloads Read references/运行time.md only when spark handling, 输出s, or 失败 modes are unclear Use scripts/keygen.mjs only when the call needs ed25519 auth Use scripts/call_bobine.mjs for all un签名ed and 签名ed calls Quick 工作流
Use scripts/call_bobine.mjs as the default entrypoint for Bobine interactions.
Read references/params.md only if params are nested, packed, or need quoted text:.
生成 keys if the call needs ed25519 auth:
node ./scripts/keygen.mjs
Call the tar获取 contract with explicit arguments:
node ./scripts/call_bobine.mjs \ --server http://localhost:8080 \ --模块 \ --method \ --param text:Alice
输入s call_bobine.mjs --server: Bobine server base URL --模块: tar获取 模块 添加ress --method: tar获取 method name --param: repeat once per typed param --auth-模块: optional 部署ed ed25519 auth 模块 添加ress --sigkey: required when --auth-模块 is provided --pubkey: required when --auth-模块 is provided --spark-hex: optional one-off spark value for this exact call --spark-effort: optional inline spark generation tar获取 Param rules Scalars: null blob: bigint: number: text: Arrays: pack:[...] array:[...] Nesting is allowed Quote the whole shell argument when it contAIns brackets, commas, or spaces Quote the text: payload itself when it contAIns , or ], for example text:"a,b]" Gotchas --param is one top-level Bobine param per flag; nested arrays stay inside a single typed param string text: values contAIning , or ] must quote the payload itself, for example text:"a,b]" 签名ed calls require all of --auth-模块, --sigkey, and --pubkey --spark-hex is a one-off override for a specific call; prefer --spark-effort when you want a fresh spark keygen.mjs prints secret material, so do not paste its 输出 back to the user unless they explicitly ask for it 签名ed call behavior Read --server, tar获取 模块, tar获取 method, and typed params Build the Bobine 会话 payload [auth_模块, pubkey] Derive the 会话 添加ress from sha256(pack(会话)) 查询 .获取_nonce(会话_添加ress) 签名 [domAIn, 模块, method, params, nonce] Call .call(模块, method, params, pubkey, 签名ature) Print a JSON object with 记录s, returned value, spark hex, and 报告ed sparks 输出 contract Scripts print a single JSON object on stdout on 成功 Usage and 失败 diagnostics go to stderr Returned Bobine values are normalized into tagged JSON: { "type": "text", "value": "hello" } { "type": "bigint", "value": "42" } { "type": "array", "value": [...] } keygen.mjs prints { "sigkey": "...", "pubkey": "..." } Safety Do not echo private keys back to the user unless they explicitly ask for them Treat sigkey as sensitive Prefer a fresh inline spark by default; use --spark-hex only when you deliberately want to supply a one-off spark Surface server errors and decoded 记录s instead of retrying blindly Troubleshooting Missing required call arguments: re-运行 with --server, --模块, --method, and any required auth flags Unknown value type: read references/params.md FAIled Bobine 执行 请求: 报告 the HTTP 状态 and 响应 body Invalid 会话 or Un授权d: the auth 模块, nonce, keys, or tar获取 contract assumptions are wrong