我正在尝试在特定的 Tron 合约(TYukBQZ2XXCcRCReAUguyXncCWNY9CEiDQ)上调用 balanceOf() 方法,但我得到的是Failed to execute
. 如果我不提供我得到的参数Invalid argument count provided
- 在某种程度上它适用于该合同。
有趣的是,它适用于使用 JustSwap Factory 合约创建的合约以外的合约,例如。https://tronscan.io/#/contract/TYukBQZ2XXCcRCReAUguyXncCWNY9CEiDQ/code。该代码包括标准的 TRC20 方法 - 包括 balanceOf() - 我被卡住并尝试了我身边所有可能的方法,但我们只是说我不熟悉 tronweb api。
我的代码:
export const getDataToken = async (contractAddress, account, account2) => {
try {
const instance = await window.tronWeb.contract(
[
{
constant: true,
inputs: [{ name: "owner", type: "address" }],
name: "balanceOf",
outputs: [{ name: "", type: "uint256" }],
payable: false,
stateMutability: "view",
type: "function"
}
],
contractAddress
);
console.log(instance);
if (instance.balanceOf) {
console.log("dadadad if");
const tokenBalance = await instance.balanceOf(account).call();
const tokenBalance2 = await instance.balanceOf(account2).call();
return {
tokenBalance: (tokenBalance / Math.pow(10, 18)).toString(),
tokenContract: instance,
tokenBalance2: (tokenBalance2 / Math.pow(10, 18)).toString()
};
}
} catch (message) {
console.log("error getData :" + message);
}
};
const { tokenBalance, tokenContract, tokenBalance2 } = getDataToken(
"TYukBQZ2XXCcRCReAUguyXncCWNY9CEiDQ",
"TL4HzzxGMc1LMfs3XCi4yTJikaBVubz5y4",
"TTFp171XD4JdUB33sDq2ydXJyUEEZjNhLD"
);