发布Move(语言)模块时出现错误MODULE_ADDRESS_DOES_NOT_MATCH_SENDER



我发布了一个模块。它具有发布另一个模块的功能。当我尝试调用此函数时,事务提交时出现错误MODULE_ADDRESS_DOES_NOT_MATCH_SENDER

我的代码使用account::create_resource_account创建未来的模块所有者帐户,使用Aptos框架的aptos_framework::code::publish_package_txn(owner: &signer, metadata_serialized: vector<u8>, code: vector<vector<u8>>)发布模块。

我通过运行以下命令来检索元数据和代码:hexdump -ve '1/1 "%02x"' ./mymodue/build/mymodue/package-metadata.bcshexdump -ve '1/1 "%02x"' ./mymodue/build/mymodule/bytecode_modules/mymodulesource.mv

这里,据说VM在发布模块时会这样做:

  • 检查模块地址和发件人地址是否相同:此检查验证发布者是否是最终持有模块的帐户。如果两个地址不匹配,则返回StatusCode::MODULE_ADDRESS_DOES_NOT_MATCH_SENDER错误

是否检查Move.toml以确保部署模块的命名地址与您创建的资源帐户的地址匹配?

相关内容

  • 没有找到相关文章

最新更新