ledger-stellar-sdk
JavaScript Ledger Stellar SDK
Ledger Hardware Wallet Stellar JavaScript bindings.
Installation
npm install ledger-stellar-sdk
API Documentation
Classes
StellarLedger Hardware Wallet Stellar JavaScript bindings.
Typedefs
Signature :object
PublicKey : object
AppConfiguration : object
Stellar
Ledger Hardware Wallet Stellar JavaScript bindings.
Kind: global class
new Stellar(transport, [scrambleKey])
| Param | Type | Default | Description |
|---|---|---|---|
| transport | Transport |
The Ledger transport to use | |
| [scrambleKey] | string |
"w0w" |
A string that will be used to scramble the device communication |
Example
import TransportWebUSB from "@ledgerhq/hw-transport-webusb";
import LedgerStellarApi from "ledger-stellar-sdk";
const transport = await TransportWebUSB.create();
const stellar = new LedgerStellarApi(transport);
stellar.getPublicKey(accountIndex, [display]) ⇒ PublicKey
Get Stellar public key for a given account index.
Kind: instance method of Stellar
Returns: PublicKey - an object with a publicKey and rawPublicKey.
| Param | Type | Default | Description |
|---|---|---|---|
| accountIndex | number |
It is part of key derivation path: m/44'/148'/accountIndex' |
|
| [display] | boolean |
false |
If set to "true", the public key will be displayed on the Ledger device and the user will be asked to confirm, otherwise it will not |
Example
const response = stellar.getPublicKey(0, true)
stellar.signTransaction(accountIndex, transaction) ⇒ Signature
Sign the given transaction.
Kind: instance method of Stellar
Returns: Signature - the signature
| Param | Type | Description |
|---|---|---|
| accountIndex | number |
It is part of key derivation path: m/44'/148'/accountIndex' |
| transaction | Buffer |
The transaction to sign. It consists of network id and transaction envelope, if you are using stellar-sdk, you can use transaction.signatureBase() to get the value |
stellar.signHash(accountIndex, hash) ⇒ Signature
Sign the given hash.
It is intended for signing transactions not supported by the Ledger Stellar app and should be avoided as much as possible.
Kind: instance method of Stellar
Returns: Signature - the signature
| Param | Type | Description |
|---|---|---|
| accountIndex | number |
It is part of key derivation path: m/44'/148'/accountIndex' |
| hash | string | Buffer |
The hash to sign |
Example
const response = stellar.signHash(0, "4b480b455a7ee154c33651819e3ce2ceb6bcd9dda78887777c4d2718c5cd04cd")
stellar.getAppConfiguration() ⇒ AppConfiguration
Get the configuration of the Ledger Stellar app installed on the hardware device.
Kind: instance method of Stellar
Returns: AppConfiguration - an object with the version and the flag to indicate whether hash signing is enabled
Example
const response = await stellar.getAppConfiguration();
Signature : object
Kind: global typedef Properties
| Name | Type | Description |
|---|---|---|
| signature | Buffer |
The signature |
PublicKey : object
Kind: global typedef Properties
| Name | Type | Description |
|---|---|---|
| publicKey | string |
Encoded public key |
| rawPublicKey | Buffer |
Raw public key |
AppConfiguration : object
Kind: global typedef Properties
| Name | Type | Description |
|---|---|---|
| version | string |
The version of the Stellar app installed on the device |
| hashSigningEnabled | boolean |
Whether hash signing is enabled |