- 由于参数众多,所有接口的参数都需要以
{}
的形式传递。- [param] 表示参数是可选的。
这个 package 是整个 SDK 的核心模块,推荐使用的导出模块如下:
export { helper, Decimal }
export * from './interface'
export * from './const'
export * from './error'
export * from './RPCNode'
export * from './ConsoleLogger'
# 接口
详见 interface.ts
# 常量
# Level
日志等级
enum Level { Trace, Debug, Info, Warn, Error }
# 错误
# OneChainError
此类错误包含了 One Chain CKB
的内部执行错误,大多数是可以修复的,极少数是链或依赖库限制导致无法修复的。
# ParamError
此类错误是在调用 One Chain CKB
接口时参数存在的错误,都是可以修复的,或需要用户重新输入的。
# RPCError
此类错误是在和 RPC 节点通信成功后,由 RPC 节点返回的错误,能否修复视情况而定。
# NetworkError
此类错误发生在网络通信失败时,是程序上不可修复的,需要用户自己解决网络环境存在的问题。
# Class RPCNode
# constructor
创建 RPCNode
对象,后续用于 SDK 的初始化。
# PARAM
- chainId:
string
,由于 CKB 还不存在约定的 chain ID ,这里使用的是 SDK 自定义的mainnet
,testnet
。 - chainType:
string
,固定是ckb
。 - baseUrl:
string
,JSON RPC 的接入点。
# RETURN
object: IRPCNode
详见 interface.ts。
# Example
const rpcnode = new RPCNode({
chainId: 'mainnet',
chainType: 'ckb',
baseUrl: 'https://ckb.abcwallet.com/api',
})
# Class ConsoleLogger
# constructor
这是一个内置的 ILogger
实现,主要是为了方便调试 SDK 相关的调用,在较为复杂的工程中更加推荐实现自己的 ILogger
类。
# PARAM
- name:
string
,logger 的名字,请随意。 - level:
Level
,必须是枚举类型Level
。
# RETURN
object: ILogger
详见 interface.ts。
# Example
const logger = new ConsoleLogger({
name: 'main',
level: Level.Trace,
})