Как выбрать единицы отображения монеты Cosmos

Банковский модуль может зарегистрировать у одного актива несколько обозначений и масштабов. Метаданные подсказывают, в каких единицах выводить баланс.

Прочтите набор единиц для базового номинала

Укажите в GRPC адрес TLS gRPC с reflection. Найдите значение display среди записей denomUnits и прочитайте соответствующий exponent.

grpcurl -d '{"denom":"uatom"}' "$GRPC" cosmos.bank.v1beta1.Query/DenomMetadata

Для базы uatom и отображаемой единицы со степенью 6 баланс 12003400 превратится в 12,0034 отображаемой единицы. Выделяйте дробную часть из целого числа, чтобы сохранить мелкие суммы.

Обработайте отсутствие метаданных

Без зарегистрированных метаданных можно явно показать базовый номинал и сырое число. Для изменения масштаба нужен проверенный справочник. Храните идентификатор сети и базовый номинал: одинаковые символы могут относиться к разным активам. github.com Cosmos SDK Query API