Skip to Content
硬件接入
本页目录

evmGetPublicKey

以太坊:获取公钥

返回指定路径派生的公钥。可通过 showOnOneKey 请求用户在设备上确认。

const result = await HardwareSDK.evmGetPublicKey(connectId, deviceId, params);

参数

可选通用参数

导出单个公钥

  • path - 必需 string | Array<number> SDK 校验的最小长度为 3。 路径格式
  • showOnOneKey - 可选 boolean。是否在设备上显示公钥,默认为 true。
  • chainId - 可选 number ETH 中的 ChainId 是特定以太坊网络的唯一标识符,用于区分不同版本的区块链。参考 

导出批量公钥

  • bundle - 对象数组,每个对象包含 path、chainId、showOnOneKey 字段。

示例

返回第一个 以太坊 账户的公钥:

HardwareSDK.evmGetPublicKey(connectId, deviceId, { path: "m/44'/60'/0'/0/0", showOnOneKey: true, chainId: 1 });

批量返回多个 以太坊 账户的公钥:

HardwareSDK.evmGetPublicKey(connectId, deviceId, { bundle: [ { path: "m/44'/60'/0'/0/0", chainId: 1 }, // account 1 { path: "m/44'/60'/1'/0/0", chainId: 1 }, // account 2 { path: "m/44'/60'/2'/0/0", chainId: 1 } // account 3 ] });

返回结果

单个公钥响应

{ success: true, payload: { path: string, // serialized BIP32 path xpub?: string, // xpub in legacy format pub: string, // hexadecimal public key publicKey: string, // alias of pub } }

了解更多关于 BIP32 序列化格式 

批量公钥响应

{ success: true, payload: [ { path, xpub, pub }, // account 1 { path, xpub, pub }, // account 2 { path, xpub, pub }, // account 3 ] }

错误

{ success: false, payload: { error: string, // error message code?: string | number // error code } }

bundle 请求开启 useBatch: true 且走受支持的批量路径时,返回 { path, pub, publicKey },没有 xpub 或 node。普通路径会返回扩展公钥和 node;不要在批量响应中强制依赖它们。

最后更新于