Skip to content

tensor-hq/ledger-solana-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ledger-solana-sdk

NodeJS SDK for signing Solana txs with Ledger.

Installation

npm i '@tensor-oss/ledger-solana-sdk'
yarn add '@tensor-oss/ledger-solana-sdk'

Usage

import { PublicKey, Transaction } from "@solana/web3.js";
import {
    solanaDerivationPath,
    solanaLedgerSignTx,
    Transport,
} from "@tensor-oss/ledger-solana-sdk";

// Lookup addresses corresponding to account + change index
const change = undefined; // most wallets leave this as undefined.
const transport = await Transport.default.open(undefined);
for (let account = 0; account < 10; account++) {
  const deriv = solanaDerivationPath(account, change);
  const pubkey = new PublicKey(solanaLedgerGetPubkey(transport, deriv));
  console.log(`pubkey for account ${account}: ${pubkey.toBase58()}`);
}

// Sign tx
const tx = new Transaction().add(...);
const ledgerAddr = new PublicKey("...");
const ledgerAcc = ...; // From above
const ledgerChange = ...; // From above
await solanaLedgerSignTx({
    tx,
    signer: ledgerAddr,
    account: ledgerAcc,
    change: ledgerChange
});

About

NodeJS SDK to sign Solana txs with Ledger.

Resources

Stars

Watchers

Forks

Packages

No packages published