Package Exports
- @ledgerhq/hw-app-trx
- @ledgerhq/hw-app-trx/lib-es/Trx.js
- @ledgerhq/hw-app-trx/lib/Trx.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@ledgerhq/hw-app-trx) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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
transportTransportscrambleKey(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
pathstring a path in BIP 32 formatrawTxHexstring a raw transaction hex stringtokenSignaturesArray<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");