Overview
Welcome to the first installment of the Help secure Starknet guide! π‘οΈ By operating your own full node, you become part of the distributed network that validates transactions, preserves blockchain history, and ensures Starknet remains decentralized and censorship-resistant. This guide will walk you through running your own full node using either Juno or Pathfinder.Prerequisites
Installing docker
The easiest option to run a Starknet full node is using Docker. To install Docker, simply visit docs.docker.com/get-started/get-docker and choose whatever OS youβre using.Exporting an Ethereum URL
Running a Starknet full node requires an Ethereum websocket RPC URL. You can get your free Ethereum websocket RPC URL by creating an account with Alchemy, Infura, or Quicknode. Afterwhich, you can export it by running:Running Juno
You can run a Juno node using several methods:You can use a snapshot to quickly synchronise your node with the network. Check out the Database Snapshots guide to get started.
Docker container
1. Get the Docker image
Juno Docker images can be found at the nethermind/juno repository on Docker Hub. Download the latest image:2. Run the Docker container
Standalone binary
Download standalone binaries from Junoβs GitHub Releases as ZIP archives for Linux (amd64 and arm64) and macOS (amd64). For macOS (arm64) or Windows users, consider running Juno using Docker.<YOUR-ETH-NODE> with your actual Ethereum node address.
If youβre using Infura, your Ethereum node address might look something like: wss://mainnet.infura.io/ws/v3/your-infura-project-id.
Make sure you are using the WebSockets URL ws/wss and not the http URL http/https.
To view logs from the Docker container, use the following command:
Building from source
You can build the Juno binary or Docker image from the source code to access the latest updates or specific versions.Prerequisites
- Golang 1.25 or later
- Rust 1.87.0 or higher.
- C compiler:
gccorclang - jemalloc
1. Clone the repository
Clone Junoβs source code from our GitHub repository:You can use
git tag -l to view specific version tags.2. Build the binary or Docker image
3. Run the binary
Locate the standalone binary in the./build/ directory:
Running Pathfinder
Running a full node involves using your local machineβs storage to maintain a full database of the blockchain, all the way from the genesis block. Database snapshots let you quickly start your node without having to download all blocks from the very beginning, and instead use a pre-made version of the database thatβs already in sync up to a certain block.Downloading a snapshot
To download Pathfinderβs snapshot, you first need to download the rclone file manager by running:This installation script can be used to install rclone on Linux/macOS/BSD systems. For other installation methods, see rclone.org/install.
$HOME/pathfinder directory, navigate into it, and use rclone to copy Pathfinderβs latest database snapshot to your local directory by running:
Using the snapshot
Now that the database snapshot is extracted, you can start your node by running:To stop the nodeβs execution, run: