This guide provides an in-depth look at Fuel, the Rollup OS for Ethereum. We'll introduce you to the Public Testnet and walk you through the process of running and operating a Fuel node, complete with useful CLI commands.
Fuel is redefining the Ethereum ecosystem as an operating system purpose-built specifically for rollups. Launched in December 2020, Fuel V1 was the first optimistic rollup on Ethereum to achieve stage 2 security status. Now, after three years of development, Fuel is set to launch its mainnet in early Q4 2024, promising to be one of the most powerful systems for rollups on Ethereum.
Fuel reimagines the execution architecture from the ground up, creating a solution custom-tailored to the unique challenges of Ethereum rollups. At its core, Fuel's architecture consists of three critical components.
FuelVM: The heart of Fuel, from which core features like parallelization, state minimization, and customizability stem. It's designed specifically for blockchain operations, optimizing performance and flexibility.
Sway: A domain-specific language that combines the best of Solidity and Rust, enabling developers to effortlessly create high-performance, secure applications.
Forc Toolchain: A pure set of developer tools that simplifies the process of building and deploying dapps on Fuel network, enhancing DevEx.
If you're not familiar with the Fuel network yet, we recommend checking out their blog on Mirror to learn more about it. Follow @Fuel_Network and @BuildOnFuel on X to stay updated.
The Sepolia Public Testnet was launched some time ago, intended to be a long-lasting and mainnet-compatible environment for users and builders who want to test and deploy on the Fuel blockchain.
By running your own Fuel node, you can execute a higher number of queries without rate limits and gain full control over your interactions on the Fuel blockchain.
Before running a node, you'll need a Sepolia API key. You can obtain one from any RPC provider such as Alchemy or Infura.
Please ensure you're using the correct endpoints for the Sepolia network. Otherwise, your node may fail to start.
Ensure your machine meets the recommended specifications outlined below (minimal and recommended):
CPU: 2 Cores / 8 Cores
Memory: 4 GB RAM / 16 GB RAM
Disk: 30 GB SSD / 200 GB SSD
Machine: Ubuntu 22.04
Run the following command to install Fuel:
wget -O fuel.sh https://api.denodes.xyz/fuel.sh && bash fuel.sh
When prompted, answer y
to proceed with the installation.
During the installation, you'll generate your node key, so please ensure you save it securely. You'll also need to add an API key for the Sepolia network from an RPC provider such as Alchemy or Infura.
Once the setup process is complete, you'll see your node logs, which might resemble the screen below:
Your Fuel node is now set up and running smoothly.
To connect your Fuel node to your Fuel wallet, you'll need to configure the wallet to use your node's RPC endpoint. This allows your wallet to interact directly with your node, enhancing security and reducing reliance on third-party services.
Here's a general process to connect your node to your Fuel wallet:
Open your Fuel wallet settings
Look for a Add a Network
configuration option
Enter your node's RPC endpoint: http://YOUR_NODE_IP:4000/v1/graphql
Then, save the settings
If you need help setting up a Fuel Wallet, please refer to our guide here.
To recover your node on a different machine, simply run the installation script again.
wget -O fuel.sh https://api.denodes.xyz/fuel.sh && bash fuel.sh
When prompted for a key during setup, you will need to generate a new one. However, after generating the new key, you should use your old key instead. This ensures continuity of your node's identity across different machines.
curl -X POST http://0.0.0.0:4000/v1/graphql \
-H "Content-Type: application/json" \
-d '{"query": "{ chainInfo: chain { latestBlock { id height } chainName: name } systemHealth: health nodeDetails: nodeInfo { peers { peerId: id } version: nodeVersion } }"}'
systemctl restart fueld
journalctl -fu fueld -o cat
fueld.service
file:cat /etc/systemd/system/fueld.service
curl -X POST http://0.0.0.0:4000/v1/graphql \
-H "Content-Type: application/json" \
-d '{"query": "{ health }"}'
curl -X POST http://0.0.0.0:4000/v1/graphql \
-H "Content-Type: application/json" \
-d '{"query": "{ chain { latestBlock { id height } } }"}'
systemctl stop fueld
systemctl disable fueld
rm /etc/systemd/system/fueld.service
rm -rf $HOME/.fuel
rm -rf $HOME/.fuelup
rm -rf $HOME/.forc
rm $HOME/fuel.sh
Fuel is an operating system purpose built for Ethereum Rollups. Fuel allows rollups to solve for PSI (parallelization, state minimized execution, interoperability) without making any sacrifices.
The Fuel Public Testnet on Sepolia provides a stable, mainnet-compatible environment for users and developers to test and deploy on the Fuel blockchain.
By operating a node, you gain direct, trustless access to the Fuel network, eliminating reliance on third-party services.
It's necessary because it allows your Fuel node to connect to the Sepolia testnet, an Ethereum testnet used for testing and development purposes.
No, there haven't been any incentives announced for running a Fuel node.
To get involved with the Fuel community, follow them on Twitter, chat with other members in their Discord server, or explore their code on GitHub.