Задать вопрос
@Corn385

Как понять на сколько пополнился баланс solscan?

Из Solscan API получаю данные об транзакции в виде json файла:

{'_id': '633d66883a279e9cfd11862c', 'address': 'HVaM3ea8AkQVVrphJZ44xKEiRVXyzgrKVLt24B9JvkoC', 'signature': ['2MAuoBqnpvQNHBtYGzayLYGKjMeJNkXop7yFa161eUDtmVs6DF7Pi4nTkAUiHwP8RYMmmoxHMWBfAZBkTf19cFjP', 'p9tLfpJcG2rtDgAvKLYTyKKVotVyzHQNUyvZyZoERqLHCRWwZFhDjNBCsHoQT11BJgkkH14qCzDkDkPAs6uRAS1'], 'changeType': 'inc', 'changeAmount': 399000000000, 'decimals': 9, 'postBalance': '1615949999990', 'preBalance': '1216949999990', 'tokenAddress': 'EcQCUYv57C4V6RoPxkVUiDwtX1SP8y8FP5AEToYL8Az', 'owner': '8CknvSpy1mdycm9ZkyRZSMy3B4tmdLCcxqH9xJg4HsU3', 'symbol': 'WLKN', 'blockTime': 1664968292, 'slot': 153789108, 'fee': 10000}

Отсюда я могу получить signature(hash) транзакции, адрес поступления\пополнения, валюту, и баланс, но:
баланс отображается в следующем варианте: 'changeAmount': 399000000000
Ну тут можно понять, что пополнение было на 399 токенов, но разберу другой кейс:
"changeAmount":145890000000
тут вроде тоже все понятно, но на самом деле перевод был на 145.89 токенов

Так вот вопрос, как отличать сколько пришло на самом деле?
  • Вопрос задан
  • 58 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@Corn385 Автор вопроса
Понял как считать баланс по косвенным признакам: У нас есть changeAmount, в котором лежит сумма на которую произошло пополнение, и по количеству символов можно считать сумму пополнения. В нашем случае 399000000000(399) имеет 12 символов. Число 1615949999990(1615) имеет 13 символов. Легко догадаться, что если пополнение произойдет на 55 монет, число символов будет 11. Исходя из этих данных преобразуем 399000000000в 399
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
toxa82
@toxa82
У тебя есть пареметр decimals дели amount на 10 в 9ой степени, т.е. перенеси запятую в числе на 9 знаков влево.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы