0

我正在使用 Tron Web 开发一个区块链 Web 应用程序。我已按照文档进行操作,但在使用 tronweb.trx.sign() 函数时出现以下错误,

未捕获(承诺)类 org.tron.core.exception.ContractValidateException:验证 TransferContract 错误,没有 OwnerAccount。

下面是我的代码,(我有 tron 链接 chrome 扩展,节点:主网)

var obj = setInterval(async () => {
            if (window.tronWeb && window.tronWeb.defaultAddress.base58) {
                clearInterval(obj)
                var tronweb = window.tronWeb
                var tx = await tronweb.transactionBuilder.sendTrx('fromaddr', 10, 'toaddr');
                var signedTx = await tronweb.trx.sign(tx);
                var broastTx = await tronweb.trx.sendRawTransaction(signedTx);
                console.log(broastTx)
            }
        }, 10)

请检查并让我知道我错过了什么

4

2 回答 2

1

这一行,第一个和第三个参数是字符串文字而不是对象。

var tx = await tronweb.transactionBuilder.sendTrx('fromaddr', 10, 'toaddr');

docs开始,第一个和第三个参数是地址。

await tronWeb.transactionBuilder.sendTrx(
      toAddress,
      amount,
      fromAddress
);

注意:Tron 地址有 Hex 和 Base 格式。要将一种格式转换为另一种格式,您可以使用tronWeb.address.toHex(address)tronWeb.address.fromHex(address)

于 2021-02-11T06:30:46.227 回答
1

你应该替换'fromaddr''toaddr'

var obj = setInterval(async () => {
            if (window.tronWeb && window.tronWeb.defaultAddress.base58) {
                clearInterval(obj)
                var tronweb = window.tronWeb
                var tx = await tronweb.transactionBuilder.sendTrx('toaddr', 10, 'fromaddr');
                var signedTx = await tronweb.trx.sign(tx);
                var broastTx = await tronweb.trx.sendRawTransaction(signedTx);
                console.log(broastTx)
            }
        }, 10)
于 2021-07-22T10:00:13.757 回答