Я использую метод «Получить список «обычных» транзакций по адресу» из API Etherscan.io. Проблема в том, что результаты API отличаются от результатов «Загрузить экспорт CSV», которые вы получаете на этой странице.
https://etherscan.io/address/0xCeB4d0CA821420Cf2553b9e244F6B52364613F94
Ссылка на API: https://etherscan.io/apis#accounts
Для этого адреса:
0xCeB4d0CA821420Cf2553b9e244F6B52364613F94
Запрос на получение API:
Проблема в том, что «значение» не соответствует «Value_IN (ETH)» при загрузке данных в виде файла .csv.
В файле .csv результаты выглядят так:
Txhash: 0x1f55419fa826e9d9b5487ce745f22c0d6066cf8da8e02bb84a105f6fcf34f8e2
Значение_IN (ETH): 0,0500459770509325
Файл .csv правильный. Вот что случилось с этим кошельком.
Однако в объекте .json, возвращенном из вызова API, я получаю следующие результаты:
хэш: '0x1f55419fa826e9d9b5487ce745f22c0d6066cf8da8e02bb84a105f6fcf34f8e2'
значение: '50045977050932511'
Я не понимаю, почему эти значения разные. Это что-то в кодировке, что мне не хватает?
«значение» возвращается в Wei, базовой единице Ethereum.
В одном Эфире 10^18 Вэй. Итак, чтобы преобразовать вей в эфир, просто разделите его на 10^18.
def convert_wei_to_ether(amount_wei):
amount_ether = float(amount_wei) / math.pow(10, 18)
return amount_ether