问题描述
许多底层加密货币包含引用 DOLlars
、CENTS
和 MILLICENTS
的代码,例如:
pub const UNITS: Balance = 10_000_000_000;
pub const DOLlars: Balance = UNITS; // 10_000_000_000
pub const CENTS: Balance = DOLlars / 100; // 100_000_000
pub const MILLICENTS: Balance = CENTS / 1_000; // 100_000
(见: kusama, polkadot, rococo, westend)
我正在努力理解这些术语的含义。
-
因为
DOLlars
最初设置为UNITS
的常量值(例如:polkadot 为 100 亿),我的推断是该术语旨在描述创世时的总供应量。那是对的吗?如果是这样,那就引出了一个问题,为什么不将DOLlars
常量命名为TOTAL_SUPPLY_AT_GEnesIS
以避免所选术语的歧义。也许我误解了该术语所指的内容。 -
我完全无法推断出
CENTS
和MILLICENTS
应该代表什么。由于它们在法定货币中的传统含义,我最初假设它们指的是小数货币单位,但是,大多数基础货币为CENTS
和MILLICENTS
分配一个值,这不为该推断提供逻辑支持。例如对于 polkadot:pub const CENTS: Balance = DOLlars / 100; // 100_000_000
或草间弥生:
pub const CENTS: Balance = UNITS / 30_000;
我发现很遗憾,由于在基板代码库中以这种方式使用 cents
从词源上看,“cent”一词源自拉丁语 centum,意思是“百”
(wikipedia:Cent) 并且不要让我开始
MILLICENTS
。
我非常感谢您对这些术语在基材上下文中的含义进行澄清。
解决方法
我的推断是该术语旨在描述创世时的总供应量。对吗?
我认为美元从来都不是创世时的代币总量。
据我所知,美元只是代币数量的一个单位,与任何其他名为美元的特定货币无关。
polkadot 中的美分是 DOLLARS/100,所以这是逻辑。
在 kusama 中,CENTS 是 UNITS/30_000,恕我直言,在这种情况下,CENTS 指的是未命名的代币单位的价值:UNITS/300,但我同意这个单位没有命名有点奇怪。