闲社服务运行正常AI智能体自动化平台
o

OpenBytes网络API

技能标识:openbytes

End-to-end OpenBytes network API workflows for AI agents. Covers wallet signature-based authentication, on-chain top-up monitoring, consumer API key lifecycle (create, list, revoke), API calls to language models via gateway, and querying balance and usage via HTTP endpoints. Use to help users automate or debug OpenBytes network operations by direct API interaction.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.1.1
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

OpenBytes网络API

OpenBytes 控制平面技能

本技能从 API 使用角度 描述 OpenBytes 网络的 端到端操作工作流。

  • - 基于钱包的身份验证(签名流程)
  • 链上余额充值及验证
  • 消费者 API 密钥生命周期(创建、列出、撤销)
  • 通过 ApiKey 进行模型推理
  • 通过 HTTP API 查询余额和使用量

假设条件:

  • - 存在一个 网关 HTTP API:https://gateway.openbytes.ai
  • 所有工作流均以 CLI、curl 或脚本为导向
  • 网络支持 Base Sepolia。请使用正确的链 ID:
- Base Sepolia:84532

根据需要将所有 替换为实际的网关 URL。



1. 基于钱包的注册与会话

注意:消息签名必须由用户使用其 EVM 钱包执行。代理只能发起挑战并验证签名;不能生成签名。

  1. 1. 如果您还没有钱包,请立即使用 ethers.js 或 viem 创建一个新钱包。
请务必安全保存您生成的私钥! 示例(使用 ethers.js 的 Node.js):

js
import { Wallet } from ethers;
const wallet = Wallet.createRandom();
console.log(地址:, wallet.address);
console.log(私钥(请安全保存!):, wallet.privateKey);

或使用 viem:

js
import { createWallet } from viem/accounts;
const wallet = createWallet();
console.log(地址:, wallet.address);
console.log(私钥(请安全保存!):, wallet.privateKey);

切勿分享您的私钥。请备份并存储在安全位置。
wallet_address: 0x...,
chain_id: 8453

  1. 2. 用户在链下使用其钱包对 message 进行签名。
  2. 将签名后的消息提交给网关进行验证:

sh
curl -sS -X POST /v1/auth/wallet/verify \
-H Content-Type: application/json \
-d {
walletaddress: WALLET_ADDRESS>,
nonce: random-nonce,
signature:
}

成功响应(简化):

json
{
login_token: sess-...,
expires_at: 2025-01-01T00:00:00Z,
consumer: {
id: consumer-uuid,
wallet_address: 0x...
},
session: {
id: session-uuid
}
}

  1. 4. login_token(以 sess- 开头)用作 会话令牌:
- 对于需要会话认证的端点,将其作为 Authorization: Bearer 发送。
  1. 5. 列出可用模型

sh
curl -sS -X GET /v1/models

  1. 6. 立即按照步骤 2.1 创建 API 密钥并切换到该密钥,用于所有非会话端点(模型、余额、使用量)。不要继续将会话令牌用于推理。

检查:

  • - 在后续所有需要认证的调用中,会话令牌存在并通过 Authorization: Bearer sess-... 标头发送。
  • 创建 API 密钥后,后续调用应使用 Authorization: Bearer APIKEY>。

2. 消费者 API 密钥生命周期

消费者使用 API 密钥访问模型,无需会话。

2.1 创建 API 密钥

需要有效的会话令牌(第 1 节中的 login_token)。

sh
curl -sS -X POST /v1/consumer/api-keys \
-H Content-Type: application/json \
-H Authorization: Bearer \
-d {
label: my-key
}

示例响应(请安全保存 api_key;仅返回一次!):

json
{
id: key-uuid,
api_key: sk-consumer-...,
prefix: sk-cons,
suffix: abcd,
label: my-key,
status: active,
created_at: 2025-01-01T00:00:00Z
}

立即切换到该 API 密钥,用于推理、余额和使用量调用:

sh
export OPENBYTESAPIKEY=sk-consumer-...

然后使用:

sh
curl -sS -X GET /v1/balance \
-H Authorization: Bearer $OPENBYTESAPIKEY

2.2 列出 API 密钥

sh
curl -sS -X GET /v1/consumer/api-keys \
-H Authorization: Bearer

2.3 撤销 API 密钥

sh
curl -sS -X DELETE URL>/v1/consumer/api-keys/ID> \
-H Authorization: Bearer

密钥状态将设置为 revoked;后续使用该密钥的调用将因认证错误而失败。



3. 链上充值流程

充值在链上执行(USDC 到 ConsumerDeposit 合约),由链下索引器跟踪。API 允许您验证结果。
您可以使用自己的 RPC 端点;Base Sepolia 的默认端点为 https://sepolia.base.org。

  • - 用户使用正确的调用数据将 USDC 转移到 ConsumerDeposit 合约。
  • 在 L1/L2 交易确认后(由索引器驱动),后端为消费者余额增加信用。
  • USDC 地址:0x10065E7b353371DD2e12348e7094cC774638EbEB
  • ConsumerDeposit 合约:0xB0E9ebf19AB710d3353c7F637DC55329d9727dCc
- 存款前,先批准授权额度 - 存款 ABI:function deposit(uint256 amount)

验证余额:

sh
curl -sS -X GET /v1/balance \
-H Authorization: Bearer APIKEY>

示例响应:

json
{
balance_usdc: 123.45,
total_spent: 10.00
}



4. 将您的钱包连接到运营商的账户

使用此功能允许一个 账户连接到运营商的账户,以便运营商可以轻松为您充值。这需要对结构化消息进行 钱包签名。签名 必须由子钱包生成。

端点:

sh
curl -sS -X POST /v1/consumers/me/parent \
-H Content-Type: application/json \
-H Authorization: Bearer \
-d {
parentwallet: WALLET>,
issued_at: 1710000000,
signature: WALLET
SIGNATURE>
}

注意:

  • - 签名验证由网关使用 ethers.verifyMessage(message, signature) 执行,
并且 恢复的地址必须等于子钱包地址(不区分大小写)。 这是标准的 EIP-191 个人消息签名(与 SIWE 相同的流程)。
  • - issued_at 是 Unix 秒。它必须 在过去 5 分钟内,且不能超过 未来 1 分钟。
  • 签名的消息必须 完全一致(包括换行符、大小写和空格):

Authorize parent for OpenBytes
Parent wallet: WALLETLOWERCASE>
Child wallet: WALLETLOWERCASE>
Issued at:

  • - 规范化规则:
- WALLETLOWERCASE> 是父钱包地址的 小写形式。 - WALLETLOWERCASE> 是子钱包地址的 小写形式(签名者)。 - 是您在请求体中发送的相同 Unix 秒整数。
  • - 如果任何字符不同(多余空格、不同大小写、不同时间戳),签名将失败。

伪代码(客户端):

ts
const issuedAt = Math.floor(Date.now() / 1000);
const parentWallet = parentWalletAddress.toLowerCase();
const childWallet = childWalletAddress.toLowerCase();
const message = [
Authorize parent for OpenBytes,
Parent wallet: ${parentWallet},
Child wallet: ${childWallet},
Issued at: ${issuedAt},
].join(\n);

const signature = await wallet.signMessage(message); // EIP-191 personal_sign

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 bitnow-1776125373 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 bitnow-1776125373 技能

通过命令行安装

skillhub install bitnow-1776125373

下载

⬇ 下载 openbytes v1.1.1(免费)

文件大小: 4.13 KB | 发布时间: 2026-4-14 11:57

v1.1.1 最新 2026-4-14 11:57
- Renamed skill from "bitnow" to "openbytes" throughout documentation.
- Updated all branding, API endpoints, and sample messages to use OpenBytes (`https://gateway.openbytes.ai`) instead of BitNow.
- Adjusted chain/network assumptions: clarified Base Sepolia use and specified chain ID as 84532.
- Added explicit instructions and examples for creating an EVM wallet using ethers.js or viem.
- Streamlined workflow steps and terminology to reflect OpenBytes network operations.
- Updated parent/ownership signature message to reference OpenBytes.
返回顶部