所以我开始一个链的目的是它会有固定数量的代币,我这样做的方式是配置一个endowed_account
:Alice
在创世配置中使用一定数量的代币。Alice
所以恰好也是唯一的验证者,她也是唯一运行该节点的人。当我尝试从 Alice 向 Bob 发送一些代币,比如 10 个单位时,Bob 得到了全部金额,但总发行量下降,大概是费用金额。就像 Alice 最初有 100 个,然后将 10 个发送给 Bob,块浏览器中的总发行量显示为 99.999 个单位。
我的直觉是,pub type TotalIssuance<T: Config<I>, I: 'static = ()> = StorageValue<_, T::Balance, ValueQuery>;
计算存在存款之上的所有账户的免费余额和保留余额的总和,然后存储该值,这就是为什么我们看不到其中考虑了“费用”,而“费用”被有效地烧掉了. 然而,这是我的猜测,我不确定。我最初会认为是TotalIssuance
流通中代币数量的硬上限,但真的是这样吗?
除此之外,我不明白,既然 Alice 是这条链中唯一的一个验证者和区块生产者,那么费用应该是她的权利,因为通常区块奖励会流向区块生产者?然而,事实并非如此。
我对转帐功能的第二个疑问是,文件说如果转帐电话使余额低于存在存款,则该帐户将被“收割”。这意味着什么?他们还提供了另transfer_keep_alive
一种引用:
工作方式与 相同
transfer
,但有一个额外的检查,即转移不会杀死原始帐户。
我无法理解这些术语,因为我之前读过的内容说所有有效的 pub/private 密钥对都是有效的“帐户”。那么在这种情况下,杀戮和收获意味着什么?