Retrieves BIP32 extended public derived by given BIP32 path. User is presented with a description of the requested key and asked to confirm the export.
const result = await HardwareSDK.evmGetPublicKey(connectId, deviceId, params);
path
— requiredstring | Array<number>
minimum length is3
. read moreshowOnOneKey
— optionalboolean
determines if address will be displayed on device. Default is set totrue
chainId
- optionalnumber
The ChainId in ETH is a unique identifier for a specific Ethereum network, used to distinguish different versions of the blockchain. Reference.
bundle
-Array
of Objects withpath
,coin
fields
Return public key of first ethereum account:
HardwareSDK.evmGetPublicKey(connectId, deviceId, {
path: "m/44'/60'/0'/0/0",
showOnOneKey: true,
chainId: 1
});
Return a bundle of public keys for multiple ethereum accounts:
HardwareSDK.evmGetPublicKey(connectId, deviceId, {
bundle: [
{ path: "m/44'/60'/0'/0/0", chainId: 1 }, // account 1
{ path: "m/44'/60'/0'", chainId: 1 }, // account 2
{ path: "m/44'/60'/0'/0/1", chainId: 1 } // account 3
]
});
Result with only one public key
{
success: true,
payload: {
path: Array<number>, // hardended path
xpub: string, // xpub in legacy format
publicKey: string, // BIP32 serialization format
}
}
Read more about BIP32 serialization format
Result with bundle of public keys
{
success: true,
payload: [
{ path, xpub, publicKey }, // account 1
{ path, xpub, publicKey }, // account 2
{ path, xpub, publicKey }, // account 3
]
}
Error
{
success: false,
payload: {
error: string, // error message
code: number // error code
}
}