Setting Up a Custom Chain

Icon Link设置自定义链

launchNodeAndGetWallets 方法允许您使用各种自定义启动本地 Fuel 节点。

在下面的代码片段中,我们提供了一个包含几个文件的快照目录:

  • chainConfig.json
  • stateCondig.json
  • metadata.json

您可以使用自定义快照来自定义诸如链的共识参数或为链指定一些初始状态等内容。

以下是一些示例:

const snapshotDir = path.join(cwd(), '.fuel-core/configs');
 
const { stop, provider } = await launchNodeAndGetWallets({
  launchNodeOptions: {
    args: ['--snapshot', snapshotDir],
    loggingEnabled: false,
  },
});
 
const {
  consensusParameters: {
    feeParameters: { gasPerByte },
  },
} = provider.getChain();
 
const expectedGasPerByte = 63;
 
expect(gasPerByte.toNumber()).toEqual(expectedGasPerByte);
 
stop();

Icon Link自定义选项

正如您在上一个代码片段中看到的,您可以选择向 launchNodeAndGetWallets 方法传递 walletCount 和一些 launchNodeOptions

walletCount 选项允许您指定要生成的钱包数量。默认值为 10。

launchNodeOptions 选项允许您为节点指定一些附加选项。可用的选项包括:

/**
 * Launches a fuel-core node.
 * @param ip - the ip to bind to. (optional, defaults to 0.0.0.0)
 * @param port - the port to bind to. (optional, defaults to 4000 or the next available port)
 * @param args - additional arguments to pass to fuel-core.
 * @param fuelCorePath - the path to the fuel-core binary. (optional, defaults to 'fuel-core')
 * @param loggingEnabled - whether the node should output logs. (optional, defaults to true)
 * @param debugEnabled - whether the node should log debug messages. (optional, defaults to false)
 * @param basePath - the base path to use for the temporary folder. (optional, defaults to os.tmpdir())
 * */
Icon InfoCircle

注意:您可以通过运行 pnpm fuels core run -h 查看所有可用的 fuel-core 参数。