# @fuel-ts/abi-typegen 中文文档

规范地址：https://npmcn.com/package/%40fuel-ts/abi-typegen/

版本：0\.103\.0
npm 元数据更新时间：2026-01-30T18:17:55.228Z
中文译文更新时间：2026-11-15T16:09:03.659Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40fuel-ts/abi-typegen
原文对照：https://npmcn.com/package/%40fuel-ts/abi-typegen/?lang=original
项目主页：https://github.com/FuelLabs/fuels-ts#readme
源码仓库：https://github.com/FuelLabs/fuels-ts

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

- 包体积（解压后）：10 MB，176 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：^20\.0\.0 \|\| ^22\.0\.0 \|\| ^24\.0\.0
- 运行依赖：9 个
- 首次发布：2022-12-13T13:40:11.928Z
- 最新版本发布：2026-01-30T18:17:54.930Z
- 近 30 天下载量：31196（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：3022（近 12 个月 1 个）

## 中文简介

从 Sway ABI Json 文件生成打字符定义

## 安装

```sh
npm install @fuel-ts/abi-typegen
```

也可以使用：`pnpm add @fuel-ts/abi-typegen`、`yarn add @fuel-ts/abi-typegen`、`bun add @fuel-ts/abi-typegen`

## README

# `@fuel-ts/abi-typegen`

生成类型脚本绑定 [摇摆](https://github.com/fuellabs/sway) 智能合约.

参见 ABI- spec [这里](https://github.com/FuelLabs/fuel-specs/blob/master/src/abi/json-abi-format.md)。 。 。 .

# 目录

-   [文档](https://npmcn.com/package/%40fuel-ts/abi-typegen/#readme-documentation)
-   [安装](https://npmcn.com/package/%40fuel-ts/abi-typegen/#readme-installation)
-   [帮助](https://npmcn.com/package/%40fuel-ts/abi-typegen/#readme-help)
-   [生成类型](https://npmcn.com/package/%40fuel-ts/abi-typegen/#readme-generating-types)
-   [程序化 API](https://npmcn.com/package/%40fuel-ts/abi-typegen/#readme-programmatic-api)
    -   [全部 SDK 安装](https://npmcn.com/package/%40fuel-ts/abi-typegen/#readme-full-sdk-installation)
-   [类型转换表](https://npmcn.com/package/%40fuel-ts/abi-typegen/#readme-types-conversion-table)
-   [捐款](https://npmcn.com/package/%40fuel-ts/abi-typegen/#readme-contributing)
-   [更改日志](https://npmcn.com/package/%40fuel-ts/abi-typegen/#readme-changelog)
-   [许可证](https://npmcn.com/package/%40fuel-ts/abi-typegen/#readme-license)

## 文档

见 [文档](https://docs.fuel.network/docs/fuels-ts/fuels-cli/abi-typegen/)

## 安装

```sh
pnpm add @fuel-ts/abi-typegen
# or
npm add @fuel-ts/abi-typegen
```

## 帮助

```console
$ fuels-typegen -h

Generate Typescript from Sway ABI JSON files

Usage: fuels-typegen [options]

Options:
  -V, --version                output the version number
  -i, --inputs <path|glob...>  Input paths/globals to your ABI JSON files
  -o, --output <dir>           Directory path for generated files
  -c, --contract               Generate types for Contracts [default]
  -s, --script                 Generate types for Scripts
  -p, --predicate              Generate types for Predicates
  -S, --silent                 Omit output messages
  -h, --help                   display help for command
```

## 生成类型

当以独立方式使用软件包时,其本位前缀为 `fuels-`。 。 。 .

```sh
npx fuels-typegen -i ./out/debug/*-abi.json -o ./src/contracts
```

## 程序化 API

```ts
import { ProgramTypeEnum, runTypegen } from "@fuel-ts/abi-typegen";

  const cwd = process.cwd();
  const input = './abis/**-abi.json'
  const output = './types'
  const filepaths = [ './abis/a-abi.json', './abis/b-abi.json' ]
  const programType = ProgramTypeEnum.CONTRACT;

  // using input global
  await runTypegen({ cwd, input, output, programType });

  // using filepaths' array
  await runTypegen({ cwd, filepaths, output, programType });
}
```

### 全部 SDK 安装

或者,我们建议你安装 [完整 SDK](https://github.com/FuelLabs/fuels-ts) 使用伞包:

```sh
pnpm add fuels
# or
npm add fuels
```

注意,在此例子中,我们将与 `fuels` 直接输入.

我们只需要叫它与 `typegen` 指挥,其余的也一样.

```sh
npx fuels typegen -i ./out/debug/*-abi.json -o ./src/contracts
```

## 类型转换表

下表描述了斯威类型如何从/到Typescript.

| 摇摆 | 示例 | TS: 输入 | TS:产出 |
| --: | :-- | :-: | :-: |
| **区域8** | `255` | `BigNumberish` | `number` |
| **16号** | `65535` | `BigNumberish` | `number` |
| **ư: 32** | `4294967295` | `BigNumberish` | `number` |
| **u64** | `0xFFFFFFFFFFFFFFFF` | `BigNumberish` | `BN` |
| **字符串** | `anything` | `string` | `string` |
| **嘘** | `true` | `boolean` | `boolean` |
| **b256 (韩语)** | `0x000...` | `string` | `string` |
| **b512 (中文(简体) )** | `fuel1a7r...` | `string` | `string` |
| **tu** | (单位:千美元)`MyType`, (中文(简体) ), `MyType`(中文(简体) ) | \[`MyType`, (中文(简体) ), `MyType`\[ . \] | \[`MyType`, (中文(简体) ), `MyType`\[ . \] |
| **语句** | 语句 `MyEnum` {y: (), n: ()}(})} | `MyEnum` =: `Enum`<{: \[\],n: \[\]\] | `MyEnum` =: `Enum`<{: \[\],n: \[\]\] |
| **结构** | `MyStruct` {a: u8,b: u16} (中文(简体) ) | `MyStruct` | `MyStruct` |
| **向量** | 维克 <`MyType`\> 翻译: | `MyType`\[ | `MyType`\[ |
| **选项** | 选项 <`MyType`\> 翻译: | `Option<MyType>` | `Option<MyType>` |
| **原始无类型 ptr** | `123` | `BigNumberish` | `BN` |

> 关于Sway类型的更多信息,请点击 [这里](https://docs.fuel.network/docs/sway/basics/built_in_types/)

## 捐款

为了促进 `@fuel-ts/abi-typegen`请看主 [燃料吨](https://github.com/FuelLabs/fuels-ts) 单相机.

## 更改日志

这个 `@fuel-ts/abi-typegen` 更改日志可见于 [变化](https://npmcn.com/package/%40fuel-ts/abi-typegen/CHANGELOG.md)。 。 。 .

## 许可证

主要许可证: `@fuel-ts/abi-typegen` 实值 `Apache 2.0`,参见 [自由主义](https://npmcn.com/package/%40fuel-ts/abi-typegen/LICENSE)。 。 。 .

## 常见问题

### @fuel-ts/abi-typegen 是什么？

从 Sway ABI Json 文件生成打字符定义

### 如何安装 @fuel-ts/abi-typegen？

在项目目录运行 npm install @fuel-ts/abi-typegen，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 fuels-typegen，可以用 npx fuels-typegen 直接运行。

### @fuel-ts/abi-typegen 支持 TypeScript 吗？

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

### @fuel-ts/abi-typegen 支持 ESM 还是 CommonJS？

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

### @fuel-ts/abi-typegen 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js ^20\.0\.0 \|\| ^22\.0\.0 \|\| ^24\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @fuel-ts/abi-typegen 可以商用吗？

@fuel-ts/abi-typegen 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @fuel-ts/abi-typegen 的下载量有多少？

根据 npm 官方下载统计，@fuel-ts/abi-typegen 在 2026/10/16 – 2026/11/14 这 30 天内被下载 31,196 次，日均约 1,040 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @fuel-ts/abi-typegen 还在维护吗？

最新版本 0\.103\.0 发布于 2026/01/31（9 个月前）；至今共发布 3022 个版本，其中过去 12 个月发布了 1 个；首次发布于 2022/12/13。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

