btcGetPublicKey
Bitcoin: get public key
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.btcGetPublicKey(connectId, deviceId, params);Params
Exporting single public key
path— requiredstring | Array<number>minimum length is1. read moreshowOnOneKey— optionalbooleandetermines if address will be displayed on device. Default is set totruecoin- optionalstringdetermines network definition specified in coins.json file. Coinshortcut,nameorlabelcan be used. Ifcoinis not set API will try to get network definition frompath.scriptType- optional InputScriptType, address script type
Exporting bundle of public keys
bundle-Arrayof Objects withpath,coinfields
Example
Return public key of fifth bitcoin account:
HardwareSDK.btcGetPublicKey(connectId, deviceId, {
path: "m/49'/0'/4'",
coin: "btc"
});Return a bundle of public keys for multiple bitcoin accounts:
HardwareSDK.btcGetPublicKey(connectId, deviceId, {
bundle: [
{ path: "m/49'/0'/0'" }, // account 1
{ path: "m/49'/0'/1'" }, // account 2
{ path: "m/49'/0'/2'" } // account 3
]
});Result
Result with only one public key
{
success: true,
payload: {
path: Array<number>, // hardended path
xpub: string, // xpub in legacy format
xpubSegwit?: string, // optional for segwit accounts: xpub in segwit format
chainCode: string, // BIP32 serialization format
childNum: number, // BIP32 serialization format
publicKey: string, // BIP32 serialization format
fingerprint: number, // BIP32 serialization format
depth: number, // BIP32 serialization format
}
}Read more about BIP32 serialization format
Result with bundle of public keys
{
success: true,
payload: [
{ path, serializedPath, xpub, xpubSegwit?, chainCode, childNum, publicKey, fingerprint, depth }, // account 1
{ path, serializedPath, xpub, xpubSegwit?, chainCode, childNum, publicKey, fingerprint, depth }, // account 2
{ path, serializedPath, xpub, xpubSegwit?, chainCode, childNum, publicKey, fingerprint, depth } // account 3
]
}Error
{
success: false,
payload: {
error: string, // error message
code: number // error code
}
}Last updated
Was this helpful?