Почему один перевод токенов может иметь «сырое» количество и «количеством в интерфейсе»?

Раньше я думал, что у перевода токенов есть одно количество: то, что записано в блокчейне.

Но BEP-677 добавляет еще один уровень: «сырое» количество и количество в интерфейсе могут не совпадать.

Так какое число я вижу?

«Сырое» количество — это количество на уровне блокчейна.

«Количество в интерфейсе» — это представление для пользователя, вычисляемое с помощью UI-множителя:

«сырое количество» × UI-множитель ÷ 1e18 = UI-количество

Например, множитель 2.0× может заставить 100 «сырых» единиц выглядеть как 200 UI-единиц — при этом не меняя «сырой» баланс.

И BEP-677 идет еще дальше.

Он определяет TransferWithUIAmount, который передает и «сырое» количество, и «количество в интерфейсе», скорректированное под UI, вместе с обычным событием перевода BEP-20.

Это может звучать как небольшая техническая деталь.

Но это решает реальную проблему для токенизированных RWA: экономическое представление актива может нуждаться в изменении без перемещения токенов в ончейне.

Именно поэтому это привлекло мое внимание, когда я смотрел на bStocks.

Binance описывает bStocks как токены BEP-20 в BNB Smart Chain и говорит, что они интегрируют BEP-677 / Scaled UI Amount для сценариев использования RWA.

То есть есть действительно два слоя, на которые стоит смотреть:

что записывает блокчейн

vs.

что пользователь должен видеть.

Когда вы смотрите на баланс токенов — какой слой вы на самом деле видите?

#bstockscis @BinanceCIS