juno

module
v0.17.0-rc.0 Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2026 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

There are multiple ways of running Juno:

  • Docker container
  • Standalone binary
  • From source

See Running Juno for the detailed instructions on how to install and run Juno on your machine.

πŸ“Έ 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
adaptfeeder
Package adaptfeeder adapts feeder gateway responses to core types.
Package adaptfeeder adapts feeder gateway responses to core types.
adaptfeeder/adaptfeedertest
Package adaptfeedertest loads feeder gateway fixtures as core types for tests.
Package adaptfeedertest loads feeder gateway fixtures as core types for tests.
bench
clients
timeout
timeouts.go implements adaptive timeout management for HTTP requests to Starknet nodes.
timeouts.go implements adaptive timeout management for HTTP requests to Starknet nodes.
cmd
juno command
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
p2p
propeller
Package propeller implements an erasure-coding based message broadcast protocol for Byzantine fault-tolerant consensus.
Package propeller implements an erasure-coding based message broadcast protocol for Byzantine fault-tolerant consensus.
propeller/merkle
Package merkle implements Merkle tree construction and verification using a SHA-256 tagging scheme.
Package merkle implements Merkle tree construction and verification using a SHA-256 tagging scheme.
deprecatedstate
Deprecated: superseded by core/state; only migrations and the old state backend should use it.
Deprecated: superseded by core/state; only migrations and the old state backend should use it.
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
eth
eth/abi
Package abi decodes the non-indexed data section of specific Ethereum event logs the juno node consumes.
Package abi decodes the non-indexed data section of specific Ethereum event logs the juno node consumes.
p2p
blocktransactions/txlayout
Package txlayout is a frozen copy of the transaction layout logic that was originally defined as core.TransactionLayout, introduced in https://github.com/NethermindEth/juno/pull/3304.
Package txlayout is a frozen copy of the transaction layout logic that was originally defined as core.TransactionLayout, introduced in https://github.com/NethermindEth/juno/pull/3304.
statedifflength
Package statedifflength backfills BlockCommitments.StateDiffLength for blocks stored before that field existed.
Package statedifflength backfills BlockCommitments.StateDiffLength for blocks stored before that field existed.
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
p2p
dht
Package pruner implements a background service that bounds on-disk storage by deleting block data older than a configurable retention window.
Package pruner implements a background service that bounds on-disk storage by deleting block data older than a configurable retention window.
testutils
Package testutils provides shared fixtures for tests that exercise the pruner's data layout.
Package testutils provides shared fixtures for tests that exercise the pruner's data layout.
rpc
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
v10
v9
broadcast
Package broadcast implements a fan-out event stream with overwrite-on-full semantics.
Package broadcast implements a fan-out event stream with overwrite-on-full semantics.
cbor
Package cbor provides Juno's CBOR API.
Package cbor provides Juno's CBOR API.
log
lru

Jump to

Keyboard shortcuts

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