API说明
这里列出 UKey Wallet Polkadot Provider 的方法、类型和支持链。调用签名方法前,请先通过 web3Enable 完成授权,并确认账户属于目标网络。
方法集
| 方法 | 说明 |
|---|---|
web3Enable(dappName) | 为 dApp 启用扩展 |
web3Accounts(anyType?) | 获取所有账户 |
web3AccountsSubscribe(callback) | 订阅账户变更 |
web3SignPayload(payload) | 签名交易 payload |
web3SignRaw(payload) | 签名原始消息 |
web3RpcSend(request) | 发送 RPC 请求 |
web3RpcSubscribe(request, callback) | 订阅 RPC 事件 |
web3RpcUnSubscribe() | 取消所有订阅 |
web3RpcListProviders() | 列出 RPC 提供者 |
web3RpcStartProvider(key) | 启动特定提供者 |
类型集
注入账户
interface InjectedAccount {
address: string; // Substrate 账户地址
name?: string; // 账户显示名
type?: "sr25519" | "ed25519" | "ecdsa";
genesisHash?: string; // 可选的创世块限制
}
签名者 Payload JSON
interface SignerPayloadJSON {
address: string;
blockHash: string;
blockNumber: string;
era: string;
genesisHash: string;
method: string;
nonce: string;
specVersion: string;
tip: string;
transactionVersion: string;
signedExtensions: string[];
version: number;
}
签名者 Payload Raw
interface SignerPayloadRaw {
address: string;
data: string; // 用十六进制表示的数据内容
type: "bytes" | "payload";
}
签名结果
interface SignerResult {
id: number;
signature: string; // hex 形式的签名
}
链列表
| 链 | 说明 |
|---|---|
| Polkadot | 默认中继网络 |
| Kusama | 试验先行网络 |
| Acala | 偏向 DeFi 的网络 |
| Moonbeam | 兼容 EVM 的网络 |
| Astar | 侧重合约能力的网络 |
| 任意 Substrate | 用户自定义链 |