JSPM

@ledgerhq/hw-transport-node-speculos-http

6.29.5
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1261
  • Score
    100M100P100Q129375F
  • License Apache-2.0

Ledger Hardware Wallet communication layer with speculos Nano simulator using the http api

Package Exports

  • @ledgerhq/hw-transport-node-speculos-http
  • @ledgerhq/hw-transport-node-speculos-http/lib-es/SpeculosHttpTransport.js
  • @ledgerhq/hw-transport-node-speculos-http/lib/SpeculosHttpTransport.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@ledgerhq/hw-transport-node-speculos-http) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@ledgerhq/hw-transport-node-speculos-http

A transport for https://github.com/LedgerHQ/speculos Nano simulator using its HTTP API.

GitHub, Ledger Devs Discord, Developer Portal

Getting started

import SpeculosTransport from "@ledgerhq/hw-transport-node-speculos-http";

async function exampleSimple() {
  const transport = await SpeculosTransport.open();
  const res = await transport.send(0xE0, 0x01, 0x00, 0x00);
}

async function exampleAdvanced() {
  const transport = await SpeculosTransport.open({ baseURL: "http://localhost:5000" });
  transport.eventStream.once("data", {
    // we will click right when the display changes
    transport.button("right");
  });
  // we can also use eventStream.on and match the data buffer with the expected display before taking action
  // derivate btc address and ask for device verification
  const res = await transport.send(0xE0, 0x40, 0x01, 0x00, Buffer.from("058000002c8000000080000000000000000000000f"));
}

API

Table of Contents

SpeculosHttpTransport

Extends Transport

Speculos TCP transport implementation

Parameters

  • instance AxiosInstance
  • opts SpeculosHttpTransportOpts

Examples

import SpeculosHttpTransport from "@ledgerhq/hw-transport-node-speculos-http";
const transport = await SpeculosHttpTransport.open();
const res = await transport.send(0xE0, 0x01, 0, 0);

button

Press and release button buttons available: left, right, both

Parameters
  • but any

Returns Promise<void>