Skip to main content
kaleido-sdk(TypeScript)和 kaleido_sdk(Python)由同一份 Maker API 与 RGB Lightning Node 规范生成,并在其上封装了手写客户端:
  • client.maker 对应 KaleidoSwap 的市场、交换和 LSPS1 接口端点
  • client.rln 对应 RGB Lightning Node 的钱包、通道、支付和交换接口端点
要确认哪个 SDK 版本对应哪个 API 版本,请参阅 Maker API 兼容性RLN API 兼容性

安装

环境要求

  • Node.js 18 或更高版本
  • 推荐 TypeScript 5.x

基础设置

KaleidoClient.create() 在两个 SDK 中都是同步方法。创建客户端时不要使用 await

配置

TypeScript

KaleidoClient.create() 接收一个 KaleidoConfig 对象:
支持的配置字段:
  • baseUrl?:Maker API 基础 URL,默认为 https://api.signet.kaleidoswap.com
  • nodeUrl?:RGB Lightning Node 地址
  • apiKey?:可选的 API key
  • nodeApiKey?:可选的 bearer token,用于需要认证的 RLN 节点请求
  • timeout?:请求超时时间(秒)
  • logLevel?:SDK 日志级别
  • logger?:自定义日志实现

Python

KaleidoClient.create() 接收关键字参数:
Python 支持相同的连接设置,并额外提供:
  • max_retries:HTTP 客户端的重试次数上限
  • cache_ttl:缓存 TTL(秒)
  • log_level:标准 Python 日志级别

环境变量

SDK 不会自动加载环境变量,但示例中使用了以下名称,作为约定也很实用:

可用环境

将 API URL 作为 baseUrl / base_url 传入即可,SDK 会自行拼接 /api/v1 路径。在测试网络上无需 API key。

子客户端架构

节点配置检查

TypeScript 提供 client.hasNode(),并且始终返回一个 rln 客户端实例。Python 提供 client.has_node(),如果缺少 node_url,访问 client.rln 会抛出 NodeNotConfiguredError

第一笔报价