1

I am using tronlink chrome extension and trying to call balanceOf method of a smart contract. I am very new to smart contract. Unable to find any solution. Please check my code:

let contractDetail = await window.tronWeb.trx.getContract('TG7DLMkJPYeG4QTZ8Qfgk9Mu7ePM5SQpbN');
            let contract = await window.tronWeb.contract(contractDetail.abi.entrys, 'TG7DLMkJPYeG4QTZ8Qfgk9Mu7ePM5SQpbN');
            balance = contract.balanceOf.call('TNkJRejobNuZhV2LiwfGQ7wPNiLtcbDueS');
            console.log(balance)


//Error: Uncaught TypeError: Cannot read property 'call' of undefined
Haren Sarma
  • 2,267
  • 6
  • 43
  • 72
  • I'm not familiar with tronlink and have no way to check the code, so I'm not going to post it as answer. But it seems like the line should be `contract.balanceOf('
    ');` since balanceOf() is usually a function on Ethereum tokens.
    – Petr Hejda Mar 01 '21 at 18:56

2 Answers2

2

balanceOf requires one argument.

'balanceOf(address)'

Instead of

contract.balanceOf.call('TNkJRejobNuZhV2LiwfGQ7wPNiLtcbDueS');

You should pass in the address into balanceOf

contract.balanceOf('TNkJRejobNuZhV2LiwfGQ7wPNiLtcbDueS').call();
Ming
  • 729
  • 3
  • 10
-1

Use tronWeb.trx.getBalance(CONTRACT_ADDRESS);

Your code should look like

balance = await tronWeb.trx.getBalance('TNkJRejobNuZhV2LiwfGQ7wPNiLtcbDueS');