Как понять на сколько пополнился баланс 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 токенов
Так вот вопрос, как отличать сколько пришло на самом деле?
Ответы (1 шт):
Понял как считать баланс по косвенным признакам:
У нас есть changeAmount, в котором лежит сумма на которую произошло пополнение, и по количеству символов можно считать сумму пополнения. В нашем случае 399000000000(399) имеет 12 символов. Число 1615949999990(1615) имеет 13 символов.
Легко догадаться, что если пополнение произойдет на 55 монет, число символов будет 11.
Исходя из этих данных преобразуем 399000000000 в 399