Tron Web - 验证 TransferContract 错误,没有 OwnerAccountTron 链接

问题描述

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

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

下面是我的代码,(我有 tron link chrome 扩展,节点:Mainnet)

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)

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

解决方法

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

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)

,

您应该将 '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','fromaddr');
                var signedTx = await tronweb.trx.sign(tx);
                var broastTx = await tronweb.trx.sendRawTransaction(signedTx);
                console.log(broastTx)
            }
        },10)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...