const TronWeb = require('tronweb');
const HttpProvider = TronWeb.providers.HttpProvider;
tronWeb = new TronWeb({ fullHost: new HttpProvider(TRON_NODE_MAINNET_URL), headers: { "TRON-PRO-API-KEY": TRON_PRO_API_KEY }, privateKey:PRIVATE_KEY });
//通过 tronweb 获取待签名 tron obj
const trxobj = tronWeb.transactionBuilder.sendTrx("TVDGpn4hCSzJ5nkHPLetk8KQBtwaTppnkr", 100, "TNPeeaaFB7K9cmo4uQpcU32zGK8G1NYqeL");
//获取签名 trxObj
let signTransaction = await tronWeb.trx.sign(trxobj);
//将trxObj 转换成trx PB raw
let transactionRawHex = getTransactionRaw(signTransaction);
//将tron json to pb raw
public getTransactionRaw(trxobj: any): string {
const transactionPb = TronWeb.utils.transaction.txJsonToPb(trxobj);
trxobj["signature"].forEach((signature: string) => {
transactionPb.addSignature(TronWeb.utils.code.base64EncodeToString(TronWeb.utils.code.hexStr2byteArray(signature)))
});
return TronWeb.utils.bytes.byteArray2hexStr(transactionPb.serializeBinary());
}
如何通过tron json 转换成 tron pb raw
于 2023-05-06 11:35:17 首次发布