About this project

Fuel Core is the official Fuel client implementation, written in Rust as a full node for the Fuel v2 protocol. The repository includes the node binary, supporting crates, and tooling for building, testing, and running a Fuel node. ## Network versions The README lists versions currently used in different Fuel networks: - Fuel Ignition: 0.48.1 - Testnet: 0.48.1 - Devnet: 0.48.1 The repository also references a checkout tag of v0.45.1 for running an Ignition node from source, which may differ from the latest table version. ## Building System requirements include common build tools such as cmake, pkg-config, clang, and Rust with the `wasm32-unknown-unknown` target. Platform-specific setup commands are provided for macOS (Homebrew), Debian (apt), and Arch (pacman). Build commands: - `make build` for a release-style node binary build - `cargo xtask build` for development builds, which also regenerates the GraphQL schema ## Running a node Documentation links point to the Fuel docs for node operators to run mainnet (Ignition) or local network nodes. A node can also be launched directly with `fuel-core run`; examples show using `--db-type in-memory` for non-persistent state and `--poa-instant=false` to disable automatic block production. The default database is RocksDB, and state is persisted unless in-memory mode is used. ## Testing and contributing The project encourages contributors to run `source ci_checks.sh` before pushing changes or opening pull requests. This script runs all CI checks, including tests. There are also troubleshooting notes for publishing crates, outdated database errors (`rm -rf ~/.fuel/db`), macOS file descriptor limits, and log level configuration via `RUST_LOG` or `HUMAN_LOGGING`. ## GraphQL service The client functionality is exposed through a GraphQL service endpoint at `/v1/graphql`. The schema becomes available at `crates/client/assets/schema.sdl` after building. The service expects a `submit` mutation that accepts a Transaction in hex-encoded binary format, per the Fuel specifications. ## Docker and Kubernetes Deployment assets are included under `deployment/`, with a Dockerfile and a Kubernetes manifest. Commands show how to build the Docker image and create/delete Kubernetes volume, deployment, and service resources.