如何在 nodejs 中本地签署 Tronix 交易?

how do I sign Tronix transaction locally in nodejs?

我一直在使用:https://github.com/cobowallet/tron-wallet

它有方法.generateTransaction(to, amount, token, latestBlock) 但是,它 return 不完全是一个对象,我可以传递给 /wallet/broadcasttransaction (参考:https://github.com/tronprotocol/Documentation/blob/master/TRX/Tron-http.md

我一直在检查示例: https://github.com/tronprotocol/wallet-cli/blob/master/src/main/java/org/tron/demo/TransactionSignDemo.java

但我似乎找不到,怎么办: transaction.getRawData().toByteArray()

因为我似乎无法解决 import org.tron.protos.Protocol.Transaction; 任何帮助将不胜感激。

cobowallet 最容易签署和生成 tronix 交易。这是一个例子:

    const parentNode = TronWallet.fromMnemonic('all all all all all all all all all all all all')
    const node = parentNode.derivePath("m/49'/195'/0'/0/0")
    const latestBlock = {
      hash: '000000000046b520515cd81609c969e5659568bf360859f7e5493ceedd6ec41d',
      number: 4633888,
      timestamp: 1543869858000
    }

    const tx = node.generateTransaction('TR2a3x6tX5trbhaTBU71Fpi1SWYj8gKEGy', 5000000, 'TRX', latestBlock)
    console.log(tx.hex)
    console.log(tx.txid)

但要确保最新的区块是最新的。您可以使用此 URL (getnowblock) 从区块链中获取最新的区块。