Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@ledgerhq/hw-app-solana

LedgerHQ100.2kApache-2.07.4.2TypeScript support: included

Ledger Hardware Wallet Solana Application API

Ledger, LedgerWallet, Solana, sol, NanoS, Blue, Hardware Wallet

readme

GitHub, Ledger Devs Discord, Developer Portal

@ledgerhq/hw-app-solana

Ledger Hardware Wallet Solana JavaScript bindings.


Are you adding Ledger support to your software wallet?

You may be using this package to communicate with the Solana Nano App.

For a smooth and quick integration:

  • See the developers’ documentation on the Developer Portal and
  • Go on Discord to chat with developer support and the developer community.

Notes

To run speculos-smoke test make sure Speculos running (apdu port 9999 and api rest endpoint http://0.0.0.0:5000) with Solana app installed on it. Then run the command from root workspace:

$ yarn run ts-node packages/hw-app-solana/tests/speculos-smoke.ts

Troubleshooting

If ledger returns error 6808 - enable blind signature in settings (not needed for unit testing).

API

Table of Contents

Solana

Solana API

Parameters

  • transport Transport a transport for sending commands to a device
  • scrambleKey string a scramble key (optional, default "solana_default_scramble_key")

Examples

import Solana from "@ledgerhq/hw-app-solana";
const solana = new Solana(transport);

getAddress

Get Solana address (public key) for a BIP32 path.

Because Solana uses Ed25519 keypairs, as per SLIP-0010 all derivation-path indexes will be promoted to hardened indexes.

Parameters
  • path string a BIP32 path
  • display boolean flag to show display (optional, default false)
Examples
solana.getAddress("44'/501'/0'").then(r => r.address)

Returns Promise<{address: Buffer}> an object with the address field

signTransaction

Sign a Solana transaction.

Parameters
  • path string a BIP32 path
  • txBuffer Buffer serialized transaction
Examples
solana.signTransaction("44'/501'/0'", txBuffer).then(r => r.signature)

Returns Promise<{signature: Buffer}> an object with the signature field

signOffchainMessage

Sign a Solana off-chain message.

Parameters
  • path string a BIP32 path
  • msgBuffer Buffer serialized off-chain message
Examples
solana.signOffchainMessage("44'/501'/0'", msgBuffer).then(r => r.signature)

Returns Promise<{signature: Buffer}> an object with the signature field

getAppConfiguration

Get application configuration.

Examples
solana.getAppConfiguration().then(r => r.version)

Returns Promise<AppConfig> application config object

getChallenge

Method returning a 4 bytes TLV challenge as an hex string

Returns Promise<string>

provideTrustedName

Provides a trusted name to be displayed during transactions in place of the token address it is associated to. It shall be run just before a transaction involving the associated address that would be displayed on the device.

Parameters
  • data string a stringified buffer of some TLV encoded data to represent the trusted name

Returns Promise<boolean> a boolean

changelog

@ledgerhq/hw-app-solana

7.4.2

Patch Changes

7.4.2-next.1

Patch Changes

7.4.2-next.0

Patch Changes

7.4.1

Patch Changes

7.4.1-next.0

Patch Changes

7.4.0

Minor Changes

7.4.0-next.0

Minor Changes

7.3.0

Minor Changes

7.3.0-next.0

Minor Changes

7.2.4

Patch Changes

7.2.4-next.1

Patch Changes

7.2.4-next.0

Patch Changes

7.2.3

Patch Changes

7.2.3-next.0

Patch Changes

7.2.2

Patch Changes

7.2.2-hotfix.0

Patch Changes

7.2.1

Patch Changes

7.2.1-next.0

Patch Changes

7.2.0

Minor Changes

Patch Changes

7.2.0-next.0

Minor Changes

Patch Changes

7.1.6

Patch Changes

7.1.6-next.0

Patch Changes

7.1.5

Patch Changes

7.1.5-next.0

Patch Changes

7.1.4

Patch Changes

7.1.4-next.0

Patch Changes

7.1.3

Patch Changes

7.1.3-next.0

Patch Changes

7.1.2

Patch Changes

7.1.2-next.0

Patch Changes

7.1.1

Patch Changes

7.1.1-next.0

Patch Changes

7.1.0

Minor Changes

Patch Changes

7.1.0-next.0

Minor Changes

Patch Changes

7.0.14

Patch Changes

7.0.14-next.0

Patch Changes

7.0.13

Patch Changes

7.0.13-next.0

Patch Changes

7.0.12

Patch Changes

7.0.12-next.0

Patch Changes

7.0.11

Patch Changes

7.0.11-next.0

Patch Changes

7.0.10

Patch Changes

7.0.10-next.0

Patch Changes

7.0.9

Patch Changes

7.0.9-next.0

Patch Changes

7.0.8

Patch Changes

7.0.8-next.0

Patch Changes

7.0.7

Patch Changes

7.0.7-next.0

Patch Changes

7.0.6

Patch Changes

7.0.6-next.0

Patch Changes

7.0.5

Patch Changes

7.0.5-next.0

Patch Changes

7.0.4

Patch Changes

7.0.4-next.0

Patch Changes

7.0.3

Patch Changes

7.0.3-next.0

Patch Changes

7.0.2

Patch Changes

7.0.2-next.0

Patch Changes

7.0.1

Patch Changes

7.0.1-next.0

Patch Changes

7.0.0

Major Changes

7.0.0-next.0

Major Changes

6.28.0

Major Changes

  • Add signOffchainMessage

6.27.6

Patch Changes

6.27.6-next.0

Patch Changes

6.27.5

Patch Changes

6.27.5-next.0

Patch Changes

6.27.4

Patch Changes

6.27.4-next.0

Patch Changes

6.27.3

Patch Changes

6.27.3-next.0

Patch Changes

6.27.2

Patch Changes

6.27.2-next.0

Patch Changes