You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Move模块中调用Aptos链上已发布模块函数:导入与依赖配置

在自研Move模块中调用Aptos已发布模块的方法

1. 在Move模块中导入目标函数

直接在你的模块代码顶部用use语句声明要导入的模块及函数,格式为:
use <模块部署地址>::<模块名>::<目标函数/类型>;

示例代码

module my_project::my_module {
    // 导入Aptos官方0x1地址下coin模块的transfer函数
    use 0x1::coin::transfer;
    // 一次性导入多个函数/类型可以用大括号
    use 0x1::coin::{transfer, balance_of, Coin};

    public fun execute_transfer(sender: &signer, receiver: address, amount: u64) {
        // 直接调用导入的transfer函数
        transfer(sender, receiver, amount);
    }
}
  • 若调用第三方已发布模块,替换<模块部署地址>为该模块在链上的实际地址即可。
  • 如需导入整个模块的所有内容,可使用use <地址>::<模块名>::*;,但不推荐,会增加编译冗余。

2. 在Move.toml中添加依赖声明

Move编译时需要依赖模块的源码,因此必须在项目根目录的Move.toml中声明依赖,根据依赖类型分两种情况:

情况1:依赖Aptos官方框架模块

在[dependencies]区块下添加官方框架的依赖,推荐指定具体版本分支或commit哈希避免兼容性问题:

[dependencies]
AptosFramework = { 
    git = "https://github.com/aptos-labs/aptos-core", 
    subdir = "aptos-move/framework/aptos-framework", 
    rev = "main" # 可替换为具体版本号如v1.10.0
}

同时可指定模块的链上部署地址,确保与导入语句中的地址一致:

[dependencies.AptosFramework]
git = "https://github.com/aptos-labs/aptos-core"
subdir = "aptos-move/framework/aptos-framework"
rev = "main"
address = "0x1"

情况2:依赖第三方自定义模块

如果依赖的是第三方发布在Git仓库的模块,同样在[dependencies]中声明,替换为对应仓库信息:

[dependencies]
ThirdPartyModule = {
    git = "https://github.com/xxx/third-party-move-project",
    subdir = "move/modules/xxx-module", # 模块源码所在子目录
    rev = "v1.0.0" # 第三方模块的版本标签或commit
}

如果是本地开发的依赖模块,可用path代替git指定本地路径:

[dependencies]
LocalDependency = { path = "../local-move-module" }

内容的提问来源于stack exchange,提问作者Anto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 04:55:18