juno

module
v0.15.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 22, 2025 License: Apache-2.0

README ΒΆ

Juno Logo

Juno is a golang Starknet node implementation by Nethermind with the aim of decentralising Starknet.

πŸ“š Documentation

To know everything there is to know on how to interact with Juno, please check out the documentation.

To become a Starknet Validator follow this guide.

βš™οΈ Installation

Prerequisites

  • Golang 1.25 or higher is required to build and run the project. You can find the installer on the official Golang download page.

  • Rust 1.86.0 or higher.

  • A C compiler: gcc.

  • Install some dependencies on your system:

    • macOS

      brew install jemalloc
      brew install pkg-config
      make install-deps
      
    • Ubuntu

      sudo apt-get install -y libjemalloc-dev libjemalloc2 pkg-config libbz2-dev
      make install-deps
      
  • To ensure a successful build, you either need to synchronize the tags from the upstream repository or create a new tag.

Build and Run

make juno
./build/juno

Use the --help flag for configuration information. Flags and their values can also be placed in a .yaml file that is passed in through --config.

Run with Docker

To run Juno with Docker, use the following command. Make sure to create the $HOME/juno directory on your local machine before running the command.

docker run -d \
  --name juno \
  -p 6060:6060 \
  -v $HOME/juno:/var/lib/juno \
  nethermind/juno \
  --http \
  --http-port 6060 \
  --http-host 0.0.0.0 \
  --db-path /var/lib/juno \
  --eth-node <YOUR-ETH-NODE>

You should replace <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 websocket URL ws/wss and not the http URL http/https.

To view logs from the Docker container, use the following command:

docker logs -f juno

πŸ“Έ Starknet Snapshots

To sync your node as fast as possible, use the provided snapshots service. Fresh snapshots are automatically uploaded once a week. See Database Snapshots to get instructions on how to set Juno up and running using a recent Starknet snapshot.

🌐 Interacting with Juno

Juno works as gateway into Starknet and can be queried using JSON-RPC requests. Also, it allows to subscribe to real time events happening on the network and get constant updates. Read the Interacting with Juno section for more details.

πŸ‘ Contribute

We welcome PRs from external contributors and would love to help you get up to speed. Let us know you're interested in the Discord server and we can discuss good first issues.

For more details on how to get started, check out our contributing guidelines.

There are also many other ways to contribute. Here are some ideas:

  • Run a node.
  • Add a GitHub Star to the project.
  • Tweet about Juno.
  • Add a Github issue if you find a bug, or you need or want a new feature.

πŸ“ž Contact us

For questions or feedback, please don't hesitate to reach out to us:

🀝 Partnerships

To establish a partnership with the Juno team, or if you have any suggestion or special request, feel free to reach us via email.

⚠️ License

Copyright (c) 2022-present, with the following contributors.

Juno is open-source software licensed under the Apache-2.0 License.

Directories ΒΆ

Path Synopsis
adapters
clients
cmd
juno command
db
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
p2p
trie
Package trie implements a dense Merkle Patricia Trie.
Package trie implements a dense Merkle Patricia Trie.
db
gen
Package jsonrpc implements a JSONRPC2.0 compliant server as described in https://www.jsonrpc.org/specification
Package jsonrpc implements a JSONRPC2.0 compliant server as described in https://www.jsonrpc.org/specification
l1
p2p
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
p2p
rpc
v6
v7
v8
v9

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL