3 个版本 (重大更新)

0.3.0 2023 年 10 月 20 日
0.2.0 2023 年 9 月 14 日
0.1.0 2023 年 5 月 31 日

#nonce 中排名 #24

MIT/Apache

220KB
4.5K SLoC

sov-accounts 模块

sov-accounts 模块负责管理 rollup 上的账户。

账户由一个 Address 和一个 Nonce 表示。

警告

账户模块实现了 TxHooks,必须将其连接到您的状态转换函数!请确保您的 RuntimeTxHooks 的实现委托给 sov-accounts.

sov-accounts 模块提供以下功能

  1. 当发送者发送他们的第一条消息时,sov-accounts 模块将根据发送者的公钥创建一个新的地址。然后,模块将把公钥和地址之间的映射添加到其状态中。对于所有包含发送者公钥的后续消息,模块将从映射中检索发送者的地址,并将其与原始消息一起传递给目标模块。

  2. 可以使用 CallMessage::UpdatePublicKey(..) 消息更新与给定地址相关联的公钥。为此,发送者必须证明他们拥有与新的公钥相对应的私钥。

  3. 每处理一条消息都会增加账户的 nonce。这有助于防止双花攻击并确保交易顺序正确。

  4. 可以使用 get_account 方法查询 sov-accounts 模块,并获取与给定公钥对应的账户。

sov-accounts 模块提供以下保证:

  1. 在某个时间点,发送方已经提供了证据,证明他们拥有与地址关联的公钥对应的私钥。

  2. 账户nonce在每条处理的消息中增加1。

依赖项

~7-22MB
~333K SLoC