# @aptos-labs/script-composer-pack 中文文档

规范地址：https://npmcn.com/package/%40aptos-labs/script-composer-pack/

版本：0\.2\.5
npm 元数据更新时间：2026-10-04T04:31:08.809Z
中文译文更新时间：2026-11-06T13:01:31.868Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40aptos-labs/script-composer-pack
原文对照：https://npmcn.com/package/%40aptos-labs/script-composer-pack/?lang=original
项目主页：https://github.com/aptos-labs/script-composer-pack#readme
源码仓库：https://github.com/aptos-labs/script-composer-pack

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：913 kB，9 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 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
- 首次发布：2024-11-18T18:18:36.499Z
- 最新版本发布：2026-10-04T04:31:08.499Z
- 近 30 天下载量：185360（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：23（近 12 个月 5 个）

## 中文简介

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

## 安装

```sh
npm install @aptos-labs/script-composer-pack
```

也可以使用：`pnpm add @aptos-labs/script-composer-pack`、`yarn add @aptos-labs/script-composer-pack`、`bun add @aptos-labs/script-composer-pack`

## README

# @aptos-labs/scrip-composer- pack

构建批量的 Aptos 移动脚本有效载荷 [动态交易作曲](https://github.com/aptos-labs/aptos-dynamic-transaction-composer) 与瓦斯姆号 **预捆绑和基数64-内含**,因此不获取网络或手工加载资产 运行时需要.

## 这个软件包做什么

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

**这是一个低级,零依赖性绑定.** 高级SDK交易 建筑物、签名和提交,见 [`@aptos-labs/script-composer-sdk`](https://github.com/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+.

## 安装

```bash
# 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
```

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

## 使用量

```ts
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.
```

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

```ts
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[]`。 。 。 . |

## 发展

```bash
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后 :

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

这个 [发布工作流程](https://npmcn.com/package/%40aptos-labs/script-composer-pack/.github/workflows/release.yml) 验证标签匹配 `package.json`,检查版本尚未出版,构建,发布到 npm 通过 OIDC信任出版,并创建了GitHub发行.

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

## 许可证

阿帕奇-2.0 © [Aptos 实验室](https://aptoslabs.com/)

## 常见问题

### @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 和提交记录判断。

