6.27.17 • Published 10 months ago

hw-transport-node-speculos-http v6.27.17

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
10 months ago

@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\