4.0.1 • Published 1 year ago

@waves/ledger v4.0.1

Weekly downloads
281
License
Apache-2.0
Repository
github
Last release
1 year ago

Waves sign data by ledger in browser

Install

$ npm install --save @waves/ledger

Usage

Create connection
const WavesLedger = require('@Waves/ledger');
const ledger = new WavesLedger();

WavesLedger can have optional arguments.

    import TransportNodeHid from '@ledgerhq/hw-transport-node-u2f';

    const options = {
        debug: true, //boolean,
        openTimeout: 3000, //number,
        listenTimeout: 30000, //number,
        exchangeTimeout: 30000, //number,
        networkCode: 87, //number,
        transport: TransportNodeHid
    };

    const ledger = new WavesLedger(options);
Where:

debug enable or not logs of the binary exchange. openTimeout is a delay number in ms for waiting connection.
listenTimeout is a delay number in ms for waiting listen request to U2F device.
exchangeTimeout is a timeout (in milliseconds) for the exchange call. Only some transport might implement it. (e.g. U2F).
networkCode is Waves network code (87 - for mainet)
transport is U2F Transport implementation. (hw-transport-u2f by default)

Read about transport

WavesLedger API

  • probeDevice
    probeDevice(): Promise. If device available and ready, Promise returned true.
      const canIUse = async () => {
          return await ledger.probeDevice();
      }
  • tryConnect

    tryConnect(): Promise<>. reconnect to Transport and init ledger libs.

      const isLedgerReady = async () => {
          try {
              return await ledger.tryConnect();
          } catch (e) {
              ///...error handlers
          }
      };
  • getUserDataById

    getUserDataById(id): Promise. Get user from ledger, where user is: { id: number, path: string, wavesAddress: string, publicKey: string }

    id - is number from 0
    path - is string in internal ledger format
    wavesAddress - is string in base58 format
    publicKey - is string in base58 format

    ledger.getUserDataById(id)
        .then(
            (user) => {...},
            (err) => {...}
        );
  • signTransaction

    Sign waves transaction bytes (ledger show detailed transaction info)

        ledger.signTransaction(userId, asset, data)

    userId - number data - Array number form 0 to 255 asset - {precision: number, ...}

    Result is Promise with signature string in base58 format

  • signSomeData

    Sign any bytes (ledger can't show detail info)

      ledger.signSomeData(userId, data)

    userId - number data - Array number form 0 to 255

    Result is Promise with signature string in base58 format

  • signRequest
    Sign any bytes (ledger can't show detail info)
      ledger.signRequest(userId, data)
    userId - number data - Array number form 0 to 255 Result is Promise with signature string in base58 format
  • signMessage

    Sign any string (ledger can't show detail info)

    ledger.signMessage(userId, data)

    userId - number data - string

    Result is Promise with signature string in base58 format

4.0.1

1 year ago

4.0.2-beta.3

3 years ago

4.0.1-beta.1

3 years ago

4.0.0

3 years ago

4.0.0-beta.2

3 years ago

3.7.0

3 years ago

4.0.0-beta.1

4 years ago

4.0.0-beta.0

4 years ago

3.6.1

4 years ago

3.5.1

5 years ago

3.5.0

5 years ago

3.4.0

5 years ago

3.3.3

5 years ago

3.3.2

5 years ago

3.3.1

5 years ago

3.3.0

5 years ago

3.2.1

5 years ago

3.2.0

5 years ago

3.1.0

5 years ago

3.0.1

5 years ago

3.0.0

5 years ago

2.0.0

5 years ago

1.0.1-beta

5 years ago

1.0.0-beta

6 years ago

0.1.5

6 years ago

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.27

6 years ago

0.0.26

6 years ago

0.0.25

6 years ago

0.0.24

6 years ago

0.0.23

6 years ago

0.0.22

6 years ago

0.0.21

6 years ago

0.0.20

6 years ago

0.0.19

6 years ago

0.0.18

6 years ago

0.0.17

6 years ago

0.0.16

6 years ago

0.0.15

6 years ago

0.0.14

6 years ago

0.0.13

6 years ago

0.0.12

6 years ago

0.0.11

6 years ago

0.0.10

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago