3 个版本 (重大更新)
0.3.0 | 2023 年 10 月 20 日 |
---|---|
0.2.0 | 2023 年 9 月 14 日 |
0.1.0 | 2023 年 5 月 31 日 |
在 #nonce 中排名 #24
220KB
4.5K SLoC
sov-accounts
模块
sov-accounts
模块负责管理 rollup 上的账户。
账户由一个 Address
和一个 Nonce
表示。
警告
账户模块实现了 TxHooks
,必须将其连接到您的状态转换函数!请确保您的 Runtime
对 TxHooks
的实现委托给 sov-accounts.
sov-accounts
模块提供以下功能
-
当发送者发送他们的第一条消息时,
sov-accounts
模块将根据发送者的公钥创建一个新的地址。然后,模块将把公钥和地址之间的映射添加到其状态中。对于所有包含发送者公钥的后续消息,模块将从映射中检索发送者的地址,并将其与原始消息一起传递给目标模块。 -
可以使用
CallMessage::UpdatePublicKey(..)
消息更新与给定地址相关联的公钥。为此,发送者必须证明他们拥有与新的公钥相对应的私钥。 -
每处理一条消息都会增加账户的 nonce。这有助于防止双花攻击并确保交易顺序正确。
-
可以使用
get_account
方法查询sov-accounts
模块,并获取与给定公钥对应的账户。
sov-accounts
模块提供以下保证:
-
在某个时间点,发送方已经提供了证据,证明他们拥有与地址关联的公钥对应的私钥。
-
账户nonce在每条处理的消息中增加1。
依赖项
~7-22MB
~333K SLoC