Aptos 允许在一个包内无需许可地发布模块,并且能够对那些设置了适当兼容性策略的模块进行升级。
一个模块包含多个结构体和函数,和 Rust 很相似。
在发布包的时候,需要遵循一些约束:
结构体和公共函数签名都以不可变的形式发布。
只有在模块首次发布时(而非在升级期间),VM 才会搜索并执行 init_module(account: &signer) 函数。发布模块的账户的签名者会被传递到合约的 init_module 函数中。这个函数必须是私有的,并且不返回任何值。
注意
init_module是可选的。只有在首次发布模块时想要初始化数据才有必要。