@aptos-labs/script-composer-pack

中文文档
0.2.5发布于 2026/10/04Apache-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 18.5万

自成一体的WASM捆绑用于构建分批Aptos 通过动态交易作曲器移动脚本有效载荷.

中文使用文档
文档目录8 节
  1. 这个软件包做什么
  2. 兼容性
  3. 安装
  4. 使用量
  5. API 密码
  6. 发展
  7. 释放
  8. 许可证

@aptos-labs/scrip-composer- pack

构建批量的 Aptos 移动脚本有效载荷 动态交易作曲 与瓦斯姆号 预捆绑和基数64-内含,因此不获取网络或手工加载资产 运行时需要.

这个软件包做什么

此包捆绑 @aptos-labs/aptos-dynamic-transaction-composer Web大会模块 直接输入 JavaScript, 无需运行时间 WASM 文件加载或手动 初始化。 打电话 initSync() 一次,然后使用 TransactionComposer 来作曲和序列化 将函数调用到脚本有效载荷中.

这是一个低级,零依赖性绑定. 高级SDK交易 建筑物、签名和提交,见 @aptos-labs/script-composer-sdk。 。 。 .

兼容性

同伴依赖关系支持范围
@aptos-labs/ts-sdk^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
@aptos-labs/aptos-dynamic-transaction-composer^0.1.8

需要节点.js 18+.

安装

# pnpm
pnpm add @aptos-labs/script-composer-pack \
     @aptos-labs/aptos-dynamic-transaction-composer \
     @aptos-labs/ts-sdk

# npm
npm install @aptos-labs/script-composer-pack \
            @aptos-labs/aptos-dynamic-transaction-composer \
            @aptos-labs/ts-sdk

# yarn
yarn add @aptos-labs/script-composer-pack \
         @aptos-labs/aptos-dynamic-transaction-composer \
         @aptos-labs/ts-sdk

消费者必须安装两个对等依赖.

使用量

import {
  initSync,
  wasmModule,
  TransactionComposer,
  CallArgument,
} from "@aptos-labs/script-composer-pack";
import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
import { BCS } from "@aptos-labs/ts-sdk";

// Initialize the bundled WASM once at startup — no network fetch needed.
initSync({ module: wasmModule });

// Build a batched script that calls two Move functions in sequence.
const composer = TransactionComposer.single_signer();

// First call: withdraw coins from the signer's account.
const amountBcs = BCS.bcsSerializeUint64(100_000_000n);
const [withdrawnCoin] = composer.add_batched_call(
  "0x1::coin",
  "withdraw",
  ["0x1::aptos_coin::AptosCoin"],
  [CallArgument.newSigner(0), CallArgument.newBytes(amountBcs)],
);

// Second call: deposit the returned value from the first call.
const recipientBcs = /* BCS-encoded AccountAddress */ new Uint8Array(32);
composer.add_batched_call(
  "0x1::coin",
  "deposit",
  ["0x1::aptos_coin::AptosCoin"],
  [CallArgument.newBytes(recipientBcs), withdrawnCoin],
);

// Serialize into a Move script payload (Uint8Array).
const scriptPayload = composer.generate_batched_calls(/* with_metadata */ true);

// Hand scriptPayload to @aptos-labs/ts-sdk to build and submit a script transaction.

将序列式脚本分解为函数调用(用于显示或审计):

import { generate_batched_call_payload_wasm } from "@aptos-labs/script-composer-pack";

const calls = generate_batched_call_payload_wasm(scriptPayload); // MoveFunctionCall[]

API 密码

导出说明
initSync({ module })同步初始化捆绑的WASM模块. 在其他API之前打一次电话.
wasmModule预编译 WebAssembly.Module ——直接通过 initSync。 。 。 .
TransactionComposer核心建设者. 使用 single_signer() 或者说 multi_signer(n) 构造,然后链条 add_batched_call(...) 电话,最后 generate_batched_calls(withMetadata) 连载.
CallArgument代表一个调用参数: newSigner(idx) 以物配主, newBytes(bytes) 对于一个BCS编码的值,或以前的返回值 add_batched_call。 。 。 .
MoveFunctionCall代表一个已取消序列的脚本中的单个移动函数调用 .
PreviousResult内部: 上一个值的返回 add_batched_call 可作为论据转发.
generate_batched_call_payload_wasm(script)将序列化 Uint8Array 脚本输入 MoveFunctionCall[]。 。 。 .

发展

pnpm install
pnpm build        # outputs CJS + ESM bundles to dist/

# Preview a version bump without writing
pnpm run version:bump -- patch --dry-run

# Apply a version bump
pnpm run version:bump -- patch   # or minor / major / 1.2.3

释放

通过GitHub Actions实现发布自动化. 在合并一个版本- pump PR后 :

git tag v<version>      # e.g. git tag v0.2.5
git push origin v<version>

这个 发布工作流程 验证标签匹配 package.json,检查版本尚未出版,构建,发布到 npm 通过 OIDC信任出版,并创建了GitHub发行.

先决条件: 必须在 npmjs.com 为此寄存器配置 npm 信任的出版器 在推出第一个标签之前.

许可证

阿帕奇-2.0 © Aptos 实验室

版本与发布记录

@aptos-labs/script-composer-pack 共发布 23 个版本,首次发布于 2024/11/19;过去 12 个月发布了 5 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.5latest2026/10/041 个月前
0.2.42026/05/315 个月前
0.2.32026/03/177 个月前
0.2.22026/03/177 个月前
0.2.12026/01/089 个月前
0.2.02025/10/121.1 年前

其他发布通道:beta → 0.0.10-beta.4。

关于 @aptos-labs/script-composer-pack 的常见问题

@aptos-labs/script-composer-pack 是什么?

自成一体的WASM捆绑用于构建分批Aptos 通过动态交易作曲器移动脚本有效载荷.

如何安装 @aptos-labs/script-composer-pack?

在项目目录运行 npm install @aptos-labs/script-composer-pack,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@aptos-labs/ts-sdk(^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0)、@aptos-labs/aptos-dynamic-transaction-composer(^0.1.8)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@aptos-labs/script-composer-pack 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aptos-labs/script-composer-pack 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@aptos-labs/script-composer-pack 可以商用吗?

@aptos-labs/script-composer-pack 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@aptos-labs/script-composer-pack 的下载量有多少?

根据 npm 官方下载统计,@aptos-labs/script-composer-pack 在 2026/10/07 – 2026/11/05 这 30 天内被下载 185,360 次,日均约 6,179 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aptos-labs/script-composer-pack 还在维护吗?

最新版本 0.2.5 发布于 2026/10/04(1 个月前);至今共发布 23 个版本,其中过去 12 个月发布了 5 个;首次发布于 2024/11/19。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。