Github,
Ledger Devs Slack
@ledgerhq/hw-app-solana
Ledger Hardware Wallet Solana JavaScript bindings.
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 devicescrambleKey
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 pathdisplay
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 pathtxBuffer
Buffer serialized transaction
Examples
solana.signTransaction("44'/501'/0'", txBuffer).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