Icon HelpCircleForumIcon Link

⌘K

Icon HelpCircleForumIcon Link
Launching a Test Node

Icon LinkLaunching a Test Node

To simplify testing in isolation, we provide a utility called launchTestNode.

It allows you to spin up a short-lived fuel-core node, set up a custom provider, wallets, deploy contracts, and much more in one go.

Icon LinkExplicit Resource Management

We support explicit resource management Icon Link, introduced in TypeScript 5.2, which automatically calls a cleanup function after a variable instantiated with the using keyword goes out of block scope:

// #import { launchTestNode };
 
using launched = await launchTestNode();
 
/*
  The method `launched.cleanup()` will be automatically
  called when the variable `launched` goes out of block scope.
*/
 

Icon LinkConfiguring Typescript

To use explicit resource management Icon Link, you must:

  1. Set your TypeScript version to 5.2 or above
  2. Set the compilation target to es2022 or below
  3. Configure your lib setting to either include esnext or esnext.disposable
{
  "compilerOptions": {
    "target": "es2022",
    "lib": ["es2022", "esnext.disposable"]
  }
}

Icon LinkStandard API

If you don't want, or can't use explicit resource management Icon Link, you can use const as usual.

In this case, remember you must call .cleanup() to dispose of the node.

// #import { launchTestNode };
 
const launched = await launchTestNode();
 
/*
  Do your things, run your tests, and then call
  `launched.cleanup()` to dispose of everything.
*/
 
launched.cleanup();