starknode-kit is a command-line tool to help developers and node operators easily set up, manage, and maintain Ethereum and Starknet nodes.
-
Download and run the installation script:
/bin/bash -c "$(curl -sSL https://raw.githubusercontent.com/thebuidl-grid/starknode-kit/main/install.sh)" -
Or download the script first and then run it:
wget https://raw.githubusercontent.com/thebuidl-grid/starknode-kit/main/install.sh chmod +x install.sh ./install.sh
Make sure you have Go installed (version 1.24 or later). This method installs the latest version from the main branch.
go install -ldflags="-X 'github.com/thebuidl-grid/starknode-kit/pkg/versions.StarkNodeVersion=main'" github.com/thebuidl-grid/starknode-kit@latest-
Clone the repository:
git clone https://github.com/thebuidl-grid/starknode-kit.git cd starknode-kit -
Build and install:
make build sudo mv bin/starknode /usr/local/bin/
After installation, verify that starknode-kit is working:
starknode-kit --helpstarknode-kit config newTo uninstall starknode-kit, remove the binary and the configuration directory:
sudo rm /usr/local/bin/starknode-kit
rm -rf ~/.config/starknode-kitNote: This will not remove any of the client data (e.g., blockchain data). The data is stored in the locations specified in your
~/.starknode-kit/starknode.ymlfile.
| Command | Description |
|---|---|
add |
Add an Ethereum or Starknet client to the config |
completion |
Generate the autocompletion script for the specified shell |
config |
Create, show, and update your Starknet node configuration. |
help |
Display help about any command |
monitor |
Launch real-time monitoring dashboard |
remove |
Remove a specified resource |
run |
Run a specific local infrastructure service |
status |
Display status of running clients |
start |
Run the configured Ethereum clients |
stop |
Stop the configured Ethereum clients |
update |
Check for and install client updates |
validator |
Manage the Starknet validator client |
version |
Show version of starknode-kit or a specific client |
starknode-kit add --consensus-client lighthouse --execution-client gethstarknode-kit add --starknet-client junostarknode-kit remove --consensus-client lighthouse
starknode-kit remove --starknet-client junostarknode-kit config set network sepoliastarknode-kit config set el client=reth port=9000,9001starknode-kit config show --all
starknode-kit config show --elstarknode-kit version
starknode-kit version gethstarknode-kit start
β οΈ Note: Thestartcommand only launches the configured execution (EL) and consensus (CL) clients. It does not start any Starknet clients.
To run a specific client using its configured settings:
starknode-kit run juno
starknode-kit run geth
starknode-kit run lighthouseManage the Starknet validator client.
-
Get validator status:
starknode-kit validator status
-
Get validator version:
starknode-kit validator --version
-
Set Juno RPC endpoint:
starknode-kit validator --rpc <YOUR_RPC_URL>
starknode-kit completion bash > /etc/bash_completion.d/starknode-kitstarknode-kit help addMake sure the following are installed on your system before using or building starknode-kit:
-
Go: Version 1.24 or later Install from: https://go.dev/dl/
-
Rust: Recommended for building Starknet clients (e.g., Juno) Install with:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
Make: Required to build certain clients and scripts Install via package manager:
- Ubuntu/Debian:
sudo apt install make - macOS (with Homebrew):
brew install make - Windows (WSL): included or
sudo apt install make
- Ubuntu/Debian:
See this Rocket Pool Hardware Guide for a detailed breakdown of node hardware requirements.
-
CPU: Node operation doesn't require heavy CPU power. The BG Client has run well on both i3 and i5 models of the ASUS NUC 13 PRO. Be cautious if using Celeron processors, as they may have limitations.
-
RAM: At least 32 GB is recommended for good performance with overhead.
-
Storage (SSD): The most critical component. Use a 2 TB+ NVMe SSD with:
- A DRAM cache
- No Quad-Level Cell (QLC) NAND architecture See this SSD List Gist for tested options.
Contributions are welcome! Please feel free to submit a Pull Request.
Join the community to stay updated, ask questions, or contribute:
- Telegram: https://t.g/+-SCPbza9fk8dkYWI0
Whether you're a seasoned validator, hobbyist, or first-time node runner, you're welcome!
This project is licensed under the MIT License - see the LICENSE file for details.