Правильный способ получения информации о токенах Ethereum ERC-20 - PullRequest
0 голосов
/ 08 мая 2018

Может кто-нибудь сказать мне правильный способ получить информацию (количество десятичных знаков, имя и символ) токена ERC-20 из блокчейна Ethereum? Я предположил, что это можно сделать через вызовы соответствующих функций decimals (), name (), symbol () к адресу контракта точного токена через конструкцию ABI (если пользовательская библиотека web3js). И во многих случаях это можно сделать таким образом. Но, к сожалению, это не для всех случаев. Например, есть токен с адресом: 0xb5a5f22694352c15b00323844ad545abb2b11028 Если мы прочтем информацию о контракте об этом токене на веб-странице etherscan, в открытых переменных контракта name, symbol и decimals не будет никакой информации: https://etherscan.io/address/0xb5a5f22694352c15b00323844ad545abb2b11028#readContract Но etherscan знает имя и символ этого токена (ICON (ICX)). Кроме того, есть другой веб-сайт, который может получить информацию о количестве десятичных знаков для этого токена: https://api.ethplorer.io/getTokenInfo/0xb5a5f22694352c15b00323844ad545abb2b11028?apiKey=freekey Поэтому возникает вопрос: существует ли какой-либо универсальный способ получения десятичных знаков, имени и символа для точного токена (например, 0xb5a5f22694352c15b00323844ad545abb2b11028) с помощью вызовов цепочки блоков или нет? И как сайт etherscan и ethplorer.io может обрабатывать такие расчеты? Надеюсь, кто-нибудь может помочь с моим вопросом. Заранее спасибо!

1 Ответ

0 голосов
/ 08 мая 2018

Спецификация интерфейса провайдера токенов говорит, что эти 3 метода являются необязательными. Это означает, что вы не можете ожидать, что каждый контракт с токеном выполнит их. Я предполагаю, что у вас должны быть обходные пути для тех контрактов, которые не совместимы со стандартом.

Для https://etherscan.io/address/0xb5a5f22694352c15b00323844ad545abb2b11028#readContract, если вы посмотрите на исходный код, название контракта - contract IcxToken, это как минимум один из способов его идентификации.

...