Как получить баланс смарт-контракта tron

Я использую расширение tronlink chrome и пытаюсь вызвать метод balanceOf смарт-контракта. Я новичок в смарт-контрактах. Невозможно найти решение. Пожалуйста, проверьте мой код:

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

person Haren Sarma    schedule 01.03.2021    source источник
comment
Я не знаком с tronlink и у меня нет возможности проверить код, поэтому я не собираюсь публиковать его в качестве ответа. Но похоже, что строка должна быть contract.balanceOf('<address>');, поскольку balanceOf () обычно является функцией токенов Ethereum.   -  person Petr Hejda    schedule 01.03.2021


Ответы (1)


balanceOf требует одного аргумента.

'balanceOf(address)'

Вместо

contract.balanceOf.call('TNkJRejobNuZhV2LiwfGQ7wPNiLtcbDueS');

Вы должны передать адрес в balanceOf

contract.balanceOf('TNkJRejobNuZhV2LiwfGQ7wPNiLtcbDueS').call();
person Ming    schedule 06.03.2021