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

如何使用Aptos CLI执行Move脚本?含文件配置与运行指引

你的Move脚本

script {
    use std::signer;
    use aptos_framework::aptos_account;
    use aptos_framework::aptos_coin;
    use aptos_framework::coin;

    fun main(src: &signer, dest: address, desired_balance: u64) {
        let src_addr = signer::address_of(src);

        let balance = coin::balance<aptos_coin::AptosCoin>(src_addr);
        if (balance < desired_balance) {
            aptos_account::transfer(src, dest, desired_balance - balance);
        };

        // 注意:此处addr需替换为自定义模块的实际发布地址
        addr::my_module::do_nothing();
    }
}

自定义Move模块

// 注意:模块名中的addr需替换为你的账户地址(如0x1234...)
module addr::my_module {
    public entry fun do_nothing() { }
}
文件存放位置

按照标准Aptos Move项目结构存放即可:

  • 创建项目根目录(比如aptos-top-up-project)
  • 根目录下新建sources文件夹,将自定义模块my_module.move放入其中
  • 根目录下新建scripts文件夹,将Move脚本放入其中(比如命名为top_up_balance.move)
是否需要配置Move.toml?

需要,Move.toml是Aptos项目的核心配置文件,用于声明依赖、项目信息等。在项目根目录创建Move.toml,内容示例如下:

[package]
name = "AptosTopUpScript"
version = "0.0.1"

[dependencies]
AptosFramework = { git = "https://github.com/aptos-labs/aptos-core", subdir = "aptos-move/framework/aptos-framework", rev = "main" }
Stdlib = { git = "https://github.com/aptos-labs/aptos-core", subdir = "aptos-move/framework/aptos-stdlib", rev = "main" }

[addresses]
# 替换为你的账户地址,需与自定义模块中的addr保持一致
my_addr = "0x123456789abcdef"

提示:rev字段可指定与你的CLI版本匹配的aptos-core提交或标签,避免版本兼容问题。

通过Aptos CLI运行脚本的步骤

1. 发布自定义模块到链上

脚本需调用链上已部署的模块,因此先执行发布命令:

aptos move publish --package-dir ./ --named-addresses my_addr=<你的账户地址> --profile default

说明:--profile default使用你通过aptos init配置的默认账户,若使用其他配置文件,替换为对应profile名称即可。

2. 运行Move脚本

模块发布完成后,执行以下命令运行脚本,替换对应的参数值:

aptos move run-script --script-path ./scripts/top_up_balance.move --args address:<目标账户地址> u64:<期望余额数值> --profile default

示例:若要给地址0xabc补足到1000000000000 APT,命令为:

aptos move run-script --script-path ./scripts/top_up_balance.move --args address:0xabc u64:1000000000000 --profile default

注意:--args的参数顺序需与脚本main函数的参数对应,签名者src由--profile指定的账户自动传入。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:15:33