starknode-kit is a command-line tool to help developers and node operators easily set up, manage, and maintain Ethereum, Starknet, and Stellar 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 |
stellar |
Manage a Stellar Core validator node |
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 addstarknode-kit includes a dedicated CLI runner for Stellar Core (stellar-core) validator nodes. All Stellar commands live under the stellar sub-command.
| Sub-command | Description |
|---|---|
stellar install |
Install stellar-core via apt (Ubuntu/Debian) or Homebrew (macOS) |
stellar init-db |
Initialise the stellar-core database (run once before first start) |
stellar start |
Start stellar-core in the background |
stellar status |
Show live node status via the info HTTP command |
stellar http-command <cmd> |
Send any admin HTTP command to the running node |
stellar version |
Print the installed stellar-core version |
stellar remove |
Remove the managed stellar-core installation |
| Flag | Default | Description |
|---|---|---|
--network |
pubnet |
Network to join: pubnet (mainnet) or testnet |
--conf |
managed | Path to a custom stellar-core.cfg |
--http-port |
11626 |
stellar-core local HTTP admin port |
1. Install stellar-core
starknode-kit stellar install2. Place your stellar-core.cfg
Put a valid configuration file at the managed path (printed during install), or pass --conf /path/to/your/stellar-core.cfg to each command.
Reference: https://developers.stellar.org/docs/validators/admin-guide/configuring
3. Initialise the database
starknode-kit stellar init-db4. Start the node
# Mainnet (pubnet)
starknode-kit stellar start --network pubnet
# Testnet
starknode-kit stellar start --network testnet5. Check node status
starknode-kit stellar status6. Send admin HTTP commands
# Node info
starknode-kit stellar http-command info
# Connected peers
starknode-kit stellar http-command peers
# Quorum health
starknode-kit stellar http-command quorum
# SCP state
starknode-kit stellar http-command scpAll managed Stellar data lives under:
~/.config/starknode-kit/stellar_clients/stellar-core/
βββ stellar-core β symlink to the installed binary
βββ stellar-core.cfg β default config location
βββ logs/ β timestamped log files
βββ database/ β ledger database
Make 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.