@ledgerhq/hw-app-trx
v6.29.4
Published
Ledger Hardware Wallet Tron Application API
Downloads
58,434
Readme
GitHub, Ledger Devs Discord, Developer Portal
@ledgerhq/hw-app-trx
Ledger Hardware Wallet TRX JavaScript bindings.
Are you adding Ledger support to your software wallet?
You may be using this package to communicate with the TRX 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.
API
Table of Contents
Trx
Tron API
Parameters
transport
TransportscrambleKey
(optional, default"TRX"
)
Examples
import Trx from "@ledgerhq/hw-app-trx";
const trx = new Trx(transport)
getAddress
get Tron address for a given BIP 32 path.
Parameters
Examples
const address = await tron.getAddress("44'/195'/0'/0/0").then(o => o.address)
Returns Promise<{publicKey: string, address: string}> an object with a publicKey and address
signTransaction
sign a Tron transaction with a given BIP 32 path and Token Names
Parameters
path
string a path in BIP 32 formatrawTxHex
string a raw transaction hex stringtokenSignatures
Array<string> Tokens Signatures array
Examples
const signature = await tron.signTransaction("44'/195'/0'/0/0", "0a02f5942208704dda506d59dceb40f0f4978f802e5a69080112650a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412340a1541978dbd103cfe59c35e753d09dd44ae1ae64621c7121541e2ae49db6a70b9b4757d2137a43b69b24a445780188ef8b5ba0470cbb5948f802e", [], 105);
Returns Promise<string> a signature as hex string
signTransactionHash
sign a Tron transaction hash with a given BIP 32 path
Parameters
Examples
const signature = await tron.signTransactionHash("44'/195'/0'/0/0", "25b18a55f86afb10e7aca38d0073d04c80397c6636069193953fdefaea0b8369");
Returns Promise<string> a signature as hex string
getAppConfiguration
get the version of the Tron app installed on the hardware device
Examples
const result = await tron.getAppConfiguration();
{
"version": "0.1.5",
"versionN": "105".
"allowData": false,
"allowContract": false,
"truncateAddress": false,
"signByHash": false
}
Returns Promise<{allowContract: boolean, truncateAddress: boolean, allowData: boolean, signByHash: boolean, version: string, versionN: number}> an object with a version
signPersonalMessage
sign a Tron Message with a given BIP 32 path
Parameters
Examples
const signature = await tron.signPersonalMessage("44'/195'/0'/0/0", "43727970746f436861696e2d54726f6e5352204c6564676572205472616e73616374696f6e73205465737473");
Returns Promise<string> a signature as hex string
signTIP712HashedMessage
Sign a typed data. The host computes the domain separator and hashStruct(message)
Parameters
Examples
const signature = await tronApp.signTIP712HashedMessage("44'/195'/0'/0/0",Buffer.from( "0101010101010101010101010101010101010101010101010101010101010101").toString("hex"), Buffer.from("0202020202020202020202020202020202020202020202020202020202020202").toString("hex"));
getECDHPairKey
get Tron address for a given BIP 32 path.
Parameters
Examples
const signature = await tron.getECDHPairKey("44'/195'/0'/0/0", "04ff21f8e64d3a3c0198edfbb7afdc79be959432e92e2f8a1984bb436a414b8edcec0345aad0c1bf7da04fd036dd7f9f617e30669224283d950fab9dd84831dc83");