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 兼容性。
安装
环境要求
- TypeScript
- Python
- Node.js 18 或更高版本
- 推荐 TypeScript 5.x
基础设置
KaleidoClient.create() 在两个 SDK 中都是同步方法。创建客户端时不要使用 await。配置
TypeScript
KaleidoClient.create() 接收一个 KaleidoConfig 对象:
baseUrl?:Maker API 基础 URL,默认为https://api.signet.kaleidoswap.comnodeUrl?:RGB Lightning Node 地址apiKey?:可选的 API keynodeApiKey?:可选的 bearer token,用于需要认证的 RLN 节点请求timeout?:请求超时时间(秒)logLevel?:SDK 日志级别logger?:自定义日志实现
Python
KaleidoClient.create() 接收关键字参数:
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。