Reputation: 460
I am developing a block chain web application using Tron Web. I have followed the document but getting below error while using tronweb.trx.sign() function,
Uncaught (in promise) class org.tron.core.exception.ContractValidateException : Validate TransferContract error, no OwnerAccount.
Below is my code, (I have tron link chrome extension, Node: 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)
Kindly check and let me know what am i missing
Upvotes: 0
Views: 6587
Reputation: 1403
You should replace 'fromaddr'
with '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)
Upvotes: 1
Reputation: 775
This line, the first and third argument are string literals and not object.
var tx = await tronweb.transactionBuilder.sendTrx('fromaddr', 10, 'toaddr');
From the docs , first and third argument are addresses.
await tronWeb.transactionBuilder.sendTrx(
toAddress,
amount,
fromAddress
);
Note: Tron addresses are available in Hex and and Base format. To convert one format to one another you can use tronWeb.address.toHex(address)
or tronWeb.address.fromHex(address)
Upvotes: 0