evmGetPublicKey
以太坊:获取公钥
根据传入的 BIP32 路径导出扩展公钥;涉及公开账户信息时,建议让用户在设备端确认。
const result = await HardwareSDK.evmGetPublicKey(connectId, deviceId, params);
参数
导出单个公钥
path- 必需string | Array<number>,字符串数组最小长度限制为3。更多信息showOnUKey- 可选boolean,决定是否在设备上进行地址显示;默认值为true。chainId- 可选number,用于标识具体的以太坊网络,帮助区分不同链配置。参考
导出批量公钥
bundle- 数组对象Array,对象包含的字段有path、coin
示例
获取一个以太坊账户的公钥:
HardwareSDK.evmGetPublicKey(connectId, deviceId, {
path: "m/44'/60'/0'/0/1",
showOnUKey: true,
chainId: 1,
});
批量获取多个以太坊账户的公钥:
HardwareSDK.evmGetPublicKey(connectId, deviceId, {
bundle: [
{ path: "m/44'/60'/0'/0/1", chainId: 1 }, // 账户样例一
{ path: "m/44'/60'/0'/0/2", chainId: 1 }, // 账户样例二
{ path: "m/44'/60'/0'/0/3", chainId: 1 }, // 账户样例三
],
});
返回结果
只有一个公钥的示例
{
success: true,
payload: {
path: Array<number>, // 派生路径
xpub: string, // 传统格式的xpub
publicKey: string, // BIP32序列化格式
}
}
批量公钥返回示例(顺序与请求一致)
{
success: true,
payload: [
{ path, xpub, publicKey }, // 账户样例一
{ path, xpub, publicKey }, // 账户样例二
{ path, xpub, publicKey }, // 账户样例三
]
}
错误
{
success: false,
payload: {
error: string, // 错误消息
code: number // 错误码
}
}