trezor.js
Javascript API for Bitcoin TREZOR.
Use this library if you want deeper integration of TREZOR into your node app, including electron.
If you are including the library in web app, try trezor.js
package.
Install with npm
npm install --save trezor.js
We use some ES6 methods (Array.find etc), that aren't in all browsers as of now, so if you are targetting older browsers/mobile browsers, you have to add babel polyfill. See https://www.npmjs.com/package/babel-polyfill and https://babeljs.io/docs/usage/polyfill/
Examples
Example of usage is on example-browser/
, example-node/
and example-electron-webpack/
on github.
Flow
trezor.js is annotated with Flow types; if you want to use Flow and use the previous setup, it will use the right types. Note that you might have to set up .flowconfig
to include all the modules and interface files in our flowconfig
to run flow use make flow
Build
to build production bundle run make build
eslint
make eslint
Using trezor.js in a web app
If you are using trezor.js in a web app, the end user has to install one of our transport layers. Also, the web app's URL has to be whitelisted specifically by SatoshiLabs.
Transport layers
We have two transport layers. The user needs to install one of them.
One is TREZOR Chrome extension for the users that have Chrome and want an easier, one-click installation.
Other is TREZOR bridge (or trezord
) that works cross-browser.
Whitelisting
You cannot connect to transport layers from anywhere on the internet. Your URL needs to be specifically whitelisted by SatoshiLabs.
localhost
is specifically whitelisted, so you can experiment on http://localhost/*
. If you want to add your url in order to make a TREZOR web application, make a pull request to this file.
trezor.js API
API is explained in API.md