FuelLabs /fuel-core

Rust full node implementation of the Fuel v2 protocol.

★ 56,761⑂ 2,874👁 221⑃ 2,098● 1,168▤ 132◈ 5
RustApache-2.0Created 2020-08-27
56,761
stars
+-1+-13+-45
2,874
forks
221
watchers
2,098
prs
1,168
issues
132
releases
5
discussions

README

Fuel Client








Fuel client implementation.

 Versions currently used in networks

| Network  | Version |
|----------|---------|
| Fuel Ignition | 0.48.1 |
| Testnet | 0.48.1 |
| Devnet | 0.48.1 |

 Contributing

If you are interested in contributing to Fuel, see our CONTRIBUTING.md guidelines for coding standards and review process.

Before pushing any changes or creating pull request please run source ci_checks.sh.

 Building

If you plan to use already pre-compiled binaries you can directly go to Running a Ignition node.

 System Requirements

There are several system requirements including clang.

 MacOS

bash
brew update
brew install cmake


 Debian

bash
apt update
apt install -y cmake pkg-config build-essential git clang libclang-dev


 Arch

bash
pacman -Syu --needed --noconfirm cmake gcc pkgconf git clang


 Rust setup

You'll need wasm32-unknown-unknown target installed.

bash
rustup target add wasm32-unknown-unknown



 Running a Ignition node

If you want to participate in the Ignition network with your own node you can launch it following these simple commands.

 From pre-compiled binaries

Follow : https://docs.fuel.network/docs/node-operator/fuel-ignition/mainnet-node/

 From source

Clone the fuel-core repository : 

git clone https://github.com/FuelLabs/fuel-core.git


Go to the latest release tag for ignition on the fuel-core repository :

git checkout v0.45.1


Build your node binary:
bash
make build


To run the node follow : https://docs.fuel.network/docs/node-operator/fuel-ignition/mainnet-node/

 Running a Local network from source

Clone the fuel-core repository : 

git clone https://github.com/FuelLabs/fuel-core.git


Build your node binary:
bash
make build


To run the node follow : https://docs.fuel.network/docs/node-operator/fuel-ignition/local-node/

 Setup to make contributions

 Compiling

We recommend using xtask to build fuel-core for development:

sh
cargo xtask build


This will run cargo build as well as any other custom build processes we have such as re-generating a GraphQL schema for the client.

 Testing

The ci_checks.sh script file can be used to run all CI checks,
including the running of tests.

shell
source ci_checks.sh


The script requires pre-installed tools. For more information run:

shell
cat ci_checks.sh


 Running

The service can be launched by executing fuel-core run. The list of options for running can be accessed via the help option:

console
$ ./target/debug/fuel-core run --help

USAGE:
    fuel-core run [OPTIONS]

OPTIONS:
        --snapshot 
          Snapshot from which to do (re)genesis. Defaults to local testnet configuration

          [env: SNAPSHOT=]
        ...


For many development purposes it is useful to have a state that won't persist and the db-type option can be set to in-memory as in the following example.

 Example

console
$ ./target/debug/fuel-core run --db-type in-memory
2023-06-13T12:45:22.860536Z  INFO fuel_core::cli::run: 230: Block production mode: Instant
2023

Top issues

Discussions

Latest release

v0.48.4 v0.48.4 2026-11-06
Breaking
- 3357: Raise the minimum supported Rust version to 1.95 across the workspace, including the node, client, and types crates, alongside the patched Wasmtime 48 LTS runtime. Downstream SDKs, tooling, and other Rust consumers adopting this release must use Rust 1.95 or newer. The accepted Wasm feature set and STF version 34 are unchanged; no on-chain executor upgrade is required for this release.

 Added
- 3344: Compress GraphQL HTTP responses with gzip when the client sends Accept-Encoding: gzip, and make FuelClient request and decode gzip responses. SSE subscription streams are not com

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON