fuels
CLI 包含几个命令。
fuels init
npx fuels@0.89.1 help init
Options:
-w, --workspace <path> Forc 工作区的相对目录路径
-c, --contracts <path|global> 智能合约的相对路径/全局路径
-s, --scripts <path|global> 脚本的相对路径/全局路径
-p, --predicates <path|global> 断言的相对路径/全局路径
-o, --output <path> 生成 TypeScript 的相对目录路径
创建一个示例 fuel.config.ts
文件:
npx fuels@0.89.1 init --contracts ./my-contracts/* --output ./src/sway-contracts-api
使用 Forc 工作区 ?请尝试以下操作:
npx fuels@0.89.1 init --workspace ./sway-programs --output ./src/sway-programs-api
这将为您提供一个最小的配置:
import { createConfig } from 'fuels';
export default createConfig({
workspace: './sway-programs', // forc workspace
output: './src/sway-programs-api',
});
简而言之:
.
├── sway-programs # <— forc 工作区
├── src
│ └── sway-programs-api # <— 输出
├── fuels.config.ts
└── package.json
fuels build
npx fuels@0.89.1 help build
Options:
-p, --path <path> 项目根目录路径 (默认值: "/Users/anderson/Code/fuel/fuels-ts/apps/docs")
-d, --deploy 构建后部署合约(如果需要,会自动启动 `fuel-core` 节点)
-h, --help 显示帮助信息
示例:
npx fuels@0.89.1 build
npx fuels@0.89.1 build --deploy
使用 --deploy
标志还会额外执行以下操作:
fuel-core
节点(文档 ) deploy
在与合约一起工作时,此选项非常有用,因为合约的 ID 仅在部署时生成。
fuels deploy
npx fuels@0.89.1 deploy
[!NOTE] 注意 我们建议仅在将合约部署到本地节点时使用
fuels deploy
命令。 如果要将合约部署到像测试网这样的真实网络,建议改用forc deploy
命令。
fuels deploy
命令执行两个操作:
./src/sway-programs-api/contract-ids.json
{
"myContract1": "0x..",
"myContract2": "0x.."
}
在实例化您的合约时使用它:
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
npx fuels@0.89.1 dev
fuels dev
命令执行三个操作:
fuel-core
节点(文档 ) build
和 deploy
一次 在
dev
模式下,每次您更新 Forcworkspace
上的合约时,我们会重新生成类型定义和工厂类,并将其保存到您预先配置的output
目录中。如果它是在另一个以开发模式运行的构建系统中(例如next dev
),您可以期望它重新构建 / 自动重新加载。
fuels node
npx fuels@0.89.1 node
fuels node
命令启动一个短暂的 fuel-core
节点(文档 )。
fuels typegen
从 ABI JSON 文件手动生成类型定义和工厂类。
npx fuels@0.89.1 help typegen
Options:
-i, --inputs <path|glob...> Abi JSON 文件的输入路径/全局路径
-o, --output <dir> 生成文件的目录路径
-c, --contract 为合约生成类型 [默认]
-s, --script 为脚本生成类型
-p, --predicate 为断言生成类型
-S, --silent 省略输出消息
了解更多信息,请查看:
fuels versions
检查您的 Fuel Toolchain 组件版本之间的版本不兼容性,将它们与您使用的 Typescript SDK 版本支持的版本进行匹配。
npx fuels@0.89.1 versions
┌───────────┬───────────┬────────────────┬─────────────┐
│ │ Supported │ Yours / System │ System Path │
├───────────┼───────────┼────────────────┼─────────────┤
│ Forc │ 0.60.0 │ 0.60.0 │ forc │
├───────────┼───────────┼────────────────┼─────────────┤
│ Fuel-Core │ 0.27.0 │ 0.27.0 │ fuel-core │
└───────────┴───────────┴────────────────┴─────────────┘
You have all the right versions! ⚡