0.3.5 • Published 2 years ago

@wavesenterprise/west-ledger v0.3.5

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

West-ledger v0.3.1

Ledger hardware wallet support for Waves Enterprise blockchain

Install

$ npm install --save @wavesenterprise/west-ledger

Usage

Initiate connection
const { WestHID } = require('@wavesenterprise/west-ledger');
const { default: TransportNodeHid } = require('@ledgerhq/hw-transport-node-hid');
const ledger = new WestHID(TransportNodeHid, chainId, 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).
chainId is Waves Enterprise network code (86 - for mainet)
transport is HID Transport implementation. (hw-transport-webhid by default)

Read about transport

Connect to ledger
await ledger.connect()
Call some methods
const appName = await ledger.api.getAppName()

West Ledger API

  • getVersion
    Get app version
  • getAppName
    Get app name
  • getAddressDataById

    getAddressDataById(id): Promise<IAddressData & IPathInfo>. Get address info from ledger, where info is:

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

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

    Sign transfer transaction bytes (ledger shows detailed transaction info)

      const signature = await ledger.api.signTransferTx(userId, {
        type: 4, version: 2,
        data: Buffer.from(bytes)
      }, bs58encode);

    userId - number type - number version - number data - Buffer with bytes to sign bs58encode - bool, encode result to base58 or keep as bytes

    Returns Promise with signature string in base58 format or bytes

  • sign bytes with configurable display

    Sign transaction bytes (ledger shows configured fields on display)

      const signature = await ledger.api.sign(
        userId, 
        data,
        display,
        bs58encode
      );

    userId - number data - Buffer with bytes to sign display - Object { [key: string]: string } with key-value pairs to display bs58encode - bool, encode result to base58 or keep as bytes

    Returns Promise with signature string in base58 format or bytes

0.3.5

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.2

2 years ago

0.3.0

2 years ago

0.3.1

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.4

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago