API说明
这里列出 UKey Wallet Conflux Provider 的方法、RPC、事件、弃用接口和错误码。新接入建议统一通过 request({ method, params }) 调用。
方法集
| 方法 | 说明 |
|---|---|
request({ action, params }) | 发送 JSON-RPC 请求 |
isConnected() | 核验连接状态 |
on(event, callback) | 订阅事件 |
off(event, callback) | 取消订阅事件 |
RPC 方法
| 方法 | 说明 |
|---|---|
cfx_requestAccounts | 请求连接 |
cfx_accounts | 获取已连接的账户 |
cfx_chainId | 获取链 ID |
cfx_sendTransaction | 发送交易 |
cfx_call | 调用合约(只读) |
cfx_estimateGasAndCollateral | 估算 gas |
cfx_getBalance | 获取账户余额 |
cfx_getTransactionByHash | 获取交易 |
cfx_getTransactionReceipt | 获取收据 |
net_version | 获取网络 ID |
事件流
| 事件 | 参数 | 说明 |
|---|---|---|
connect | { chainId, networkId } | 已连接到网络 |
disconnect | - | 已断开连接 |
chainChanged | chainId | 网络已更新 |
accountsChanged | accounts[] | 当前账户已切换 |
已弃用的方法
下面这些兼容方法仍可运行,但新代码应改用 request:
// 这个接口已经弃用,请改走 request({ method: 'cfx_requestAccounts' })
await provider.enable();
// 这个接口已经弃用,请直接改走 request()
await provider.send({ method: "cfx_accounts" });
await provider.sendAsync({ method: "cfx_accounts" }, callback);
// 这个接口已经弃用,请改走 request({ method: 'cfx_chainId' })
provider.chainId;
// 这个接口已经弃用,请改走 request({ method: 'net_version' })
provider.networkVersion;
// 这个接口已经弃用,请改走 request({ method: 'cfx_accounts' })
provider.selectedAddress;
错误码
| 错误码 | 说明 |
|---|---|
| 4001 | 用户取消了本次请求 |
| -32700 | 解析错误 |
| -32600 | 无效的请求 |
| -32601 | 方法未找到 |
| -32602 | 无效的参数 |
| -32603 | 内部处理异常 |