firefly
TypeScript icon, indicating that this package has built-in type declarations

0.1.0-beta.2 • Public • Published

Firefly Connector

This library is still heavily under construction; expect frequent breaking API changes until v1.0.0


The Firefly Connector provides high-level JavaScript API to interact with the Firefly Hardware Wallet.

/home/ricmoo> npm install firefly

Application Programming Interface (API)

Due to the platform and environment-dependent nature of the hardware serial port, the transport needs to be established in a variety of ways.

In the browser, the Serial API in Chrome can be used. When connecting, a pop-up dialog box is shown, from which you can select your Firefly.

In node on macOS/linux, you will need to know the name of the port in the /dev/ folder.

// Browser
import { DeviceEsp32c3 } from "firefly";
import { SerialPort } from "firefly/browser";
const serialPort = SerialPort.connect();
const device = new DeviceEsp32c3(serialPort)

// Node
import { DeviceEsp32c3 } from "firefly";
import { SerialPort } from "firefly/node";
const serialPort = SerialPort.connect("/dev/cu.usbmodem101");
const device = new DeviceEsp32c3(serialPort)

Once connected, you can use the various commands to operate against the firefly:

// Get the device info
await device.getDeviceInfo()
{
  packageVersion: 0,
  revision: 3,
  description: 'ESP32-C3 (revision: 3)'
}

// Update the firmware (coming soon...)
// This will require you enter you password
//await device.updateFirmware(payload, progressCallback)

// Test the REPL service (comming soon...)
//await device.send("echo: foobar")
// "foobar"

Command-Line Interface

# Get Device Info
/home/ricmoo> npx firefly info
  packageVersion: 0,
  revision: 3,
  description: 'ESP32-C3 (revision: 3)'

# Update the firmware (coming soon...)
/home/ricmoo> npx firefly update-firmware firmware.bin

# Enter the REPL mode (coming soon...)
/home/ricmoo> npx firefly repl
echo foobar
foobar

License

MIT License.

Readme

Keywords

Package Sidebar

Install

npm i firefly

Weekly Downloads

29

Version

0.1.0-beta.2

License

MIT

Unpacked Size

293 kB

Total Files

166

Last publish

Collaborators

  • ricmoo