Автор оригинала: Teodor Malinas.
Это прокси договор, что означает, что он делегат реальная работа в другой договор, вероятно, к этому: 0x0882477E7895BDC5CEA7CB1552ED914AB157FE56, который, в свою очередь, является совместимым ERC-20. Прокси-доктор позволяет своему администратору изменять адрес контрактной фактической работы, эффективно изменяя логику Smart Contract. Подобные договоры, подобные этой, реализуются через OPCode DelegateCall, который выполняет код другого договора от имени настоящего Договора, то есть под названием Code имеет доступ к хранению и балансу вызова контракта.
async function getTokenBalance(address) { const contractABI = require(baseDir + '/bin/contracts/' + config.CONTRACT_ABI_FILE_NAME.USDC); const web3 = new Web3(new Web3.providers.HttpProvider(config.INFURA_NETWORK_URL)); const USDContractInstance = await new web3.eth.Contract(contractABI, config.CONTRACT_ADDRESS.PROXY); let balance = await USDContractInstance.methods.balanceOf(address).call(); balance = web3.utils.hexToNumber(balance) / Math.pow(10, 6); return balance; } exports.getTokenBalance = getTokenBalance;
Это даст вам баланс токенов вашего адреса вашего кошелька, например 1000. Надеюсь, это будет хорошая помощь для того, кто находит способ. Спасибо за прочтение моего поста.