命令
fuels
CLI 包含几个命令。
fuels init
console
npx fuels@ help init
console
选项:
-w, --workspace <路径> Forc 工作空间的相对目录路径
-c, --contracts <路径|全局> 合约的相对路径/全局路径
-s, --scripts <路径|全局> 脚本的相对路径/全局路径
-p, --predicates <路径|全局> 谓词的相对路径/全局路径
-o, --output <路径> 生成 TypeScript 的相对目录路径
创建一个示例 fuel.config.ts
文件:
console
npx fuels@ init --contracts ./my-contracts/* --output ./src/sway-contracts-api
使用Forc 工作空间?尝试这个:
console
npx fuels@ init --workspace ./sway-programs --output ./src/sway-programs-api
这将为您提供一个最小配置:
ts
import { createConfig } from 'fuels';
export default createConfig({
workspace: './sway-programs', // forc workspace
output: './src/sway-programs-api',
});
简而言之:
sh
.
├── sway-programs # <— forc 工作空间
├── src
│ └── sway-programs-api # <— 输出
├── fuels.config.ts
└── package.json
查看更多
fuels build
console
npx fuels@ help build
console
选项:
-p, --path <路径> 项目根目录路径 (默认: "/Users/anderson/Code/fuel/fuels-ts/apps/docs")
-d, --deploy 构建后部署合约 (如有需要自动启动 `fuel-core` 节点)
-h, --help 显示帮助信息
示例:
console
npx fuels@ build
console
npx fuels@ build --deploy
使用 --deploy
标志还会额外执行以下操作:
- 如 需要 ,自动启动短暂的
fuel-core
节点 (文档) - 在该节点上运行
deploy
在与合约一起工作时这很有用,因为合约的 ID 仅在部署时生成。
fuels deploy
console
npx fuels@ deploy
注意
我们建议仅在将合约部署到本地节点时使用 fuels deploy
命令。 如果您要将合约部署到像测试网这样的实时网络,我们建议使用 forc deploy
命令。
fuels deploy
命令执行两项操作:
- 部署
workspace
下的所有 Sway 合约。 - 将它们的部署 ID 保存到:
./src/sway-programs-api/contract-ids.json
json
{
"myContract1": "0x..",
"myContract2": "0x.."
}
在实例化合约时使用它:
ts
import { SampleAbi__factory } from './sway-programs-api';
import contractsIds from './sway-programs-api/contract-ids.json';
/**
* Get IDs using:
* contractsIds.<my-contract-name>
*/
const wallet = new Wallet.fromPrivateKey(process.env.PRIVATE_KEY);
const contract = SampleAbi__factory.connect(contractsIds.sample, wallet);
const { value } = await contract.functions.return_input(1337).dryRun();
expect(value.toHex()).toEqual(toHex(1337));
完整示例,请参阅:
fuels dev
console
npx fuels@ dev
fuels dev
命令执行三项操作:
- 自动启动短暂的
fuel-core
节点 (文档) - 在启动时运行
build
和deploy
- 监视您的 Forc 工作空间,并在每次更改时重复上一步
在
dev
模式下,每当您在 Forcworkspace
上更新合约时,我们都会重新生成类型定义和工厂类,并根据您预先配置的output
目录进行操作。如果它是另一个以开发模式运行的构建系统的一部分(即next dev
),则可以期望重新构建/自动重新加载。
fuels typegen
从 ABI JSON 文件手动生成类型定义和工厂类。
console
npx fuels@ help typegen
console
选项:
-i, --inputs <路径|glob...> ABI JSON 文件的输入路径/全局路径
-o, --output <目录> 生成文件的目录路径
-c, --contract 为合约生成类型 [默认]
-s, --script 为脚本生成类型
-p, --predicate 为谓词生成类型
-S, --silent 省略输出消息
更多信息,请查看:
fuels versions
检查您的 Fuel 工具链 组件版本之间的不兼容性,将其与您拥有的 Typescript SDK 版本支持的版本进行匹配。
console
npx fuels@ versions
您拥有所有正确的版本! ⚡
┌───────────┬───────────┬─────────────────┐
│ │ 支持的 │ 您的 / 系统 │
├───────────┼───────────┼─────────────────
┤
│ Forc │ 0.30.0 │ 0.30.0 │
├───────────┼───────────┼─────────────────┤
│ Fuel-Core │ 0.14.0 │ 0.14.0 │
└───────────┴───────────┴─────────────────┘
fuels forc
forc
二进制文件的简单包装器。
也请查看:
fuels core
fuel-core
二进制文件的简单包装器。
也请查看: