Skip to content

能力索引 ​

所有方法都由 KeymasterConnectClient 提供。 除 connect.login 和 connect.launch 外,请求都必须属于已有 connectSessionId。

方法中文用途
connect.login用户选择 Owner 后创建持久会话
connect.resume为已有会话恢复短期解锁环境
connect.logout撤销会话及其订阅和授权
connect.launch使用 appView 一次性令牌建立会话
identity.get返回有有效期、接收方和签名的身份断言
intent.sign在明确用户意图下签署 App 提供的字节
cipher.encrypt / cipher.decrypt在当前 Owner 和精确 origin 下加解密二进制内容
p2pkh.transfer请求受控 P2PKH 转账;assetId 缺省 bsv-mainnet,bsv-testnet 需用户在 Keymaster 设置里开启
channel.publish向精确频道发布已签名 JSON
channel.subscription_set替换当前会话贡献的精确订阅集合
price.get一次读取当前 BSV 展示价(金额 + 单位)
price.subscribe / price.unsubscribe订阅 / 取消 price.changed 推送
storage.list列出 App 隔离命名空间中的目录和对象
storage.directory.create/delete创建或删除目录标记
storage.put/get/delete写入、读取或删除对象
storage.upload.begin/part/complete/abort管理 multipart(分片)上传
msfile.stat查询内容所在 Supplier 和报价
msfile.seed.read / msfile.block.read读取并校验 Seed 或 Block

公共调用选项 ​

ts
const result = await keymaster.identityGet(params, {
  requestId: crypto.randomUUID(), // 本次请求编号
  timeoutMs: 30_000,              // 本地等待上限,毫秒
  signal: abortController.signal  // 取消信号
});

精确 Params(参数)、Result(结果)、常量和每个字段的中文解释以 API 页面为准。也可以使用底层 request(method, params);方法字面量会推导正确类型。

Channel 事件 ​

channel.message_received 推送已经验签的频道、发行人公钥、消息编号和 JSON 内容。 成功发布只表示 Keymaster 接受本地操作,不表示远端已经收到。

BSV 价格 ​

price.get 返回 { amount, unit, updatedAtMs }:金额、单位与快照时间。价格由 Keymaster 的 BSV 价格设置决定(服务器、交易所、交易对),App 看不到这些细节。 价格只作显示参考,不用于业务判断;未就绪(未配置、未收到快照或订阅出错)时 amount 为 "0.00",不会返回错误。

调用 price.subscribe 后才会收到 price.changed;price.unsubscribe 或 connect.logout 停止推送。

身份要求 ​

Storage 和 MSFile 需要已验证 App 身份及相应 requirement(所需能力声明)。App 不能指定 Supplier、桶、物理路径、凭据、私钥或付款额度。

使用能力,不托管私钥。