Security News
PyPI Introduces Digital Attestations to Strengthen Python Package Security
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
trezor-link
Advanced tools
DO NOT USE THIS YET - IT IS STILL IN DEVELOPMENT AND THE API IS CHANGING RAPIDLY
A library for communication with TREZOR via various means.
Trezor-link only works on a "low level"; it only sends messages to TREZOR and receives messages back, and parses them from and to JSON.
For more "high-level" access, you should use trezor.js.
The long-term plan is to merge trezor.js and trezor-link, so that we don't have two distinct libraries. But so far, we have trezor-link for "low-level" access and trezor.js for "high level" access.
trezor-link uses plugins for various transports. So far, we have two transports - one for communicating via Chrome HID API in extensions, and one for communicating via node-hid in Node.js environment (for use in Electron apps, or regular node apps).
We are transpiling to JS that runs on chrome >= 49 and node >= 5, since it doesn't run anywhere else anyway and there is no need to transpile to the other environments. If you have a reason why to transpile to anything else (older node / other browser), just write a github issue!
Use like this (in node):
var Link = require('trezor-link');
var nodeTransport = require('trezor-link-node-hid'); // in npm
// 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}`);
}
});
var link = new Link(hidTransport);
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);
});
Similarly with chrome and its module; no need to use node-fetch replacement in Chrome though, since it's built-in there.
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/bitcoinjs-libs.js to your [libs]
(or copy it yourself from flow-typed repository), and probably other libs from
I myself recommend 100% using Flow, but it can be a pain to set up, so it's on you.
LGPLv3
FAQs
Trezor Link for browser
The npm package trezor-link receives a total of 91 weekly downloads. As such, trezor-link popularity was classified as not popular.
We found that trezor-link demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports digital attestations, enhancing security and trust by allowing package maintainers to verify the authenticity of Python packages.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.