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.
ES6
const result = await TrezorConnect.getPublicKey(params);
CommonJS
TrezorConnect.getPublicKey(params).then(function(result) {
});
path
— obligatorystring | Array<number>
minimum length is1
. read morecoin
- optionalstring
determines network definition specified in coins.json file. Coinshortcut
,name
orlabel
can be used. Ifcoin
is not set API will try to get network definition frompath
.crossChain
— optionalboolean
Advanced feature. Use it only if you are know what you are doing. Allows to generate address between chains. For example Bitcoin path on Litecoin network will display cross chain address in Litecoin format.
bundle
-Array
of Objects withpath
,coin
andcrossChain
fields
Return public key of fifth bitcoin account:
TrezorConnect.getPublicKey({
path: "m/49'/0'/4'",
coin: "btc"
});
Return a bundle of public keys for multiple bitcoin accounts:
TrezorConnect.getPublicKey({
bundle: [
{ path: "m/49'/0'/0'" }, // account 1
{ path: "m/49'/0'/1'" }, // account 2
{ path: "m/49'/0'/2'" } // account 3
]
});
Result with only one public key
{
success: true,
payload: {
path: Array<number>, // hardended path
serializedPath: string, // serialized 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
}
}
version 4 and below:
TrezorConnect.getXPubKey("m/49'/0'/0'", function(result) {
result.path // not changed
result.serializedPath // not changed
result.xpubkey // renamed to "xpub"
// added "xpubSegwit" field for segwit accounts
result.chainCode // not changed
result.publicKey // not changed
// added "fingerprint" field
// added "childNum" field
// added "depth" field
});
version 5
// params are key-value pairs inside Object
TrezorConnect.getPublicKey({
path: "m/49'/0'/0'"
}).then(function(result) {
...
})