Запросить баланс аккаунта на Binance Smart Chain - не удалось декодировать bech32

Я пытаюсь получить баланс публичного адреса через Binance Chain API

      account_id = "0x1f5ff990d661a4DFDC0Ff7D63Ae6A7E995475b95"
response = requests.get("https://dex.binance.org/api/v1/account/" + account_id.lower())
account = response.json()

Но я получаю следующую ошибку

      {'code': 400, 'message': 'decoding bech32 failed: failed converting data to bytes: invalid character not part of charset: 98'}

Как преобразовать публичный адрес в формат bech32? Или есть лучший способ извлечь баланс адреса?

1 ответ

В конце концов понял, что это не ты. Это API binance дает вам эту ошибку. Покопавшись, я обнаружил, что по какой-то причине API binance принимает только адреса формата Bech32 с тегом bnb:

      import requests 
account_id = "bnb1jxfh2g85q3v0tdq56fnevx6xcxtcnhtsmcu64m" # address 91937520f40458f5b414d267961b46c19789dd70

response = requests.get("https://dex.binance.org/api/v1/account/" + account_id.lower())
account = response.json()
print(account)

Но когда вы ищете / получаете адрес, он выдает его вам в обычном формате 0x

Я нашел онлайн-конвертер, который смог декодировать образец адреса в нормальный вид: https://slowli.github.io/bech32-buffer/

но по какой-то причине API все еще сообщает 404 для вашего адреса с тем же конвертером:

      import requests 
account_id = "bnb1ra0lnyxkvxjdlhq07ltr4e48ax25wku4nhunzs" # address 1f5ff990d661a4DFDC0Ff7D63Ae6A7E995475b95

response = requests.get("https://dex.binance.org/api/v1/account/" + account_id.lower())
account = response.json()
print(account)

Даже если вы используете тот же адрес, вы можете увидеть его с помощью проводника интеллектуальной цепи. https://bscscan.com/address/0x1f5ff990d661a4DFDC0Ff7D63Ae6A7E995475b95

В любом случае. Ответ на этот вопрос заключается в том, что вы предоставляете адрес API без предварительного преобразования его в формат Bech32. Теперь вам просто нужно выяснить, почему он по-прежнему возвращает 404 даже с адресом, преобразованным в bech32. Может быть, есть что поднять с самой командой binance

Другие вопросы по тегам