@ledgerhq/hw-app-solana
TypeScript icon, indicating that this package has built-in type declarations

7.1.6 • Public • Published

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

Package Sidebar

Install

npm i @ledgerhq/hw-app-solana

Weekly Downloads

3,027

Version

7.1.6

License

Apache-2.0

Unpacked Size

72.7 kB

Total Files

19

Last publish

Collaborators

  • thomas.coudray
  • ldg-github-ci
  • aboissiere
  • vbouzon
  • gbrahm-ledger
  • sergii-shkolin
  • phenry-ledger