При разработке смарт-контракта с Solidity на Remix после создания контракта я пытаюсь запросить общедоступное сопоставление:
mapping (address => uint256) public balanceOf;
но когда я звоню balanceOf
по адресу 0x9b9731b07b9b5f982289bab87097eade6a4bc25d
, он выдает следующую ошибку:
Аргументы кодирования ошибки: SyntaxError: неожиданный токен x в JSON в позиции 2
Любая идея, как я могу правильно позвонить balanceOf
?
Адрес должен быть заключен в кавычки. "0xca35b7d915458ef540ade6068dfe2f44e8fa733c" должно работать.
Адрес должен быть указан с кавычками. Как сказал Хуафу. Должны быть двойные кавычки "". Он не будет работать с одиночными квотами. В Javascript это не имеет значения, и я пытался понять, что я делаю неправильно.
Это работает: "0xca35b7d915458ef540ade6068dfe2f44e8fa733c"
Это не работает. '0xca35b7d915458ef540ade6068dfe2f44e8fa733c'
contract MyToken
mapping (address => uint256) public balances;
function balanceOf(address _owner) constant returns (uint256 balance) {
return balances[_owner];
}
...
}
Ссылка — The DAO , версия 1.0 с ошибкой на 50 миллионов долларов.
Хуан Игнасио Перес Сакристан