bitexchange-link-node
v0.2.110
Published
BitExchange Link for node
Downloads
2
Readme
bitexchange-link
Library for low-level communication with BitExchange Hardware Wallet.
Intended as a "building block" for other packages - it is used in bitexchange.js and chrome extension.
You probably don't want to use this package directly. For communication with BitExchange with a more high-level API, use bitexchange.js.
Packages
We have three different npm packages for different usecases, unfortunately.
require('bitexchange-link')
for browserrequire('bitexchange-link-node')
for node.js (and electron apps)require('bitexchange-link-browser-extension')
for browser extensions
How to use
Use like this (in node):
var Link = require('bitexchange-link-node');
var LowlevelTransport = Link.Lowlevel;
var NodeHidPlugin = Link.NodeHid;
var link = new LowlevelTransport(new NodeHidPlugin());
// for simple config load; you can also load by file API from a disk without node-fetch
var fetch = require('node-fetch');
var config = fetch('https://wallet.mytrezor.com/data/config_signed.bin').then(function (response) {
if (response.ok) {
return response.text();
} else {
throw new Error(`Fetch error ${response.status}`);
}
});
return link.init().then(function () {
return config.then(function (configData) {
return link.configure(configData);
});
}).then(function () {
return link.enumerate();
}).then(function (devices) {
return link.acquire(devices[0].path);
}).then(function (session) {
return link.call(session, 'GetFeatures', {}).then(function (features) {
console.log(features);
return link.release(session);
});
}).catch(function (error) {
console.error(error);
});
Notes
Source is annotated with Flow types, so it's more obvious what is going on from source code.
Flow
If you want to use flow for typechecking, just include the file as normally, it will automatically use the included flow file. However, you need to add flowtype/*.js
to your [libs]
(or copy it yourself from flow-typed repository), and probably libs from flowconfig.
License
LGPLv3
- (C) 2015 Karel Bilek (SatoshiLabs) [email protected]
- (C) 2014 Mike Tsao [email protected]
- (C) 2014 Liz Fong-Jones [email protected]
- (C) 2015 William Wolf [email protected]