bobine-contract-caller

Use when you need to call deployed Bobine modules with typed params or perform a signed Ed25519 call through an auth module.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "bobine-contract-caller" with this command: npx skills add ccamel/bobine-contract-caller

Bobine Contract Caller

Default entrypoint: scripts/call_bobine.mjs.

Upstream references

Scope

  • Calling a Bobine module through /api/execute
  • Preparing typed Bobine params for contract methods
  • Generating Ed25519 keys for Bobine auth sessions
  • Performing an authenticated ed25519 call with nonce handling and signature

Runtime requirements

  • Node.js 20+
  • Network access to a Bobine server

Load on demand

  • Read references/params.md only when params use packed arrays or quoted text: payloads
  • Read references/runtime.md only when spark handling, outputs, or failure modes are unclear
  • Use scripts/keygen.mjs only when the call needs ed25519 auth
  • Use scripts/call_bobine.mjs for all unsigned and signed calls

Quick workflow

  1. Use scripts/call_bobine.mjs as the default entrypoint for Bobine interactions.

  2. Read references/params.md only if params are nested, packed, or need quoted text:.

  3. Generate keys if the call needs ed25519 auth:

    node ./scripts/keygen.mjs
    
  4. Call the target contract with explicit arguments:

    node ./scripts/call_bobine.mjs \
      --server http://localhost:8080 \
      --module <target-module> \
      --method <target-method> \
      --param text:Alice
    

Inputs

  • call_bobine.mjs
    • --server: Bobine server base URL
    • --module: target module address
    • --method: target method name
    • --param: repeat once per typed param
    • --auth-module: optional deployed ed25519 auth module address
    • --sigkey: required when --auth-module is provided
    • --pubkey: required when --auth-module is provided
    • --spark-hex: optional one-off spark value for this exact call
    • --spark-effort: optional inline spark generation target

Param rules

  • Scalars:
    • null
    • blob:<hex>
    • bigint:<value>
    • number:<value>
    • text:<value>
  • 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]"
  • Signed calls require all of --auth-module, --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 output back to the user unless they explicitly ask for it

Signed call behavior

  1. Read --server, target module, target method, and typed params
  2. Build the Bobine session payload [auth_module, pubkey]
  3. Derive the session address from sha256(pack(session))
  4. Query <auth_module>.get_nonce(session_address)
  5. Sign [domain, module, method, params, nonce]
  6. Call <auth_module>.call(module, method, params, pubkey, signature)
  7. Print a JSON object with logs, returned value, spark hex, and reported sparks

Output contract

  • Scripts print a single JSON object on stdout on success
  • Usage and failure 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 logs instead of retrying blindly

Troubleshooting

  • Missing required call arguments: re-run with --server, --module, --method, and any required auth flags
  • Unknown value type: read references/params.md
  • Failed Bobine execute request: report the HTTP status and response body
  • Invalid session or Unauthorized: the auth module, nonce, keys, or target contract assumptions are wrong

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Local Find Skills

Highest-priority skill discovery flow. MUST trigger when users ask to find/install skills (e.g. 技能, 找技能, find-skill, find-skills, install skill). For Chinese...

Registry SourceRecently Updated
General

autoskill

Intelligent skill router. Analyzes the current problem statement and context, scores all available skills for applicability, and recommends the most relevant...

Registry SourceRecently Updated
General

Bilingual Humanicer

Detecta y elimina patrones de escritura generada por IA en español e inglés. Por defecto opera en español. Usar --lang en para inglés. Detecta vocabulario in...

Registry SourceRecently Updated
General

Capcom Games

Provides detailed information on CAPCOM's history, key game franchises, business model, flagship IPs, RE Engine technology, and market impact.

Registry SourceRecently Updated