cordova-plugin-trezor
v0.2.0
Published
Cordova Trezor Plugin
Downloads
14
Maintainers
Readme
cordova-plugin-trezor
This plugin allows your cordova app to communicate with a Trezor device using a single API on browser and Android
(Only for devices with OTG). The browser implementation uses the latest trezor-connect
minified bundle and the Android
implementation uses trezor-android
. Unfortunately there is no trezor API for iOS.
cordova-trezor-plugin registers itself as cordovaTrezor
in window.
Although the object is in the global scope, it is not available until after the deviceready
event.
Installation
cordova plugin add cordova-plugin-trezor
Quick Example
document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady() {
cordovaTrezor.manifest({
email: '[email protected]',
appUrl: 'https://your-app-url.com'
});
cordovaTrezor.getPublicKeys({
bundle: [{path: "m/49/0'/0'"}]
}).then((result) => {
if (result.success) {
console.log(result.payload);
}
});
};
Implemented Methods
- manifest
- getPublicKeys
PRs are welcome for more api implementations.
manifest
Calling this method before any access to the device is required on browser by trezor-connect; This method has no effect on Android.
Refer to types for inputs and outputs.
Supported Platforms
- Browser
getPublicKeys
This method accepts a bundle of paths and returns a Promise
with a payload of public keys.
Refer to types for inputs and outputs.
Supported Platforms
- Browser
- Android
Important Note
The returned
path
array in Android is based on signed integer values and in browser it's based on unsigned 32 bit integer. So they are logically the same but they are different in representations. You can rely on serialized path for comparison purposes.TODO: The returned xpub value in "Android" should start with tpub for testnet and upub for bip49 testnet. But currently these are formatted as "xpub" and "ypub".
Docs
For more info about how Android implementation works you can refer to draw.io diagram