Как выбрать единицы отображения монеты 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