Skip to main content

Configuration File

Juno uses yaml format to for the config file. It can be provided via the following flag:

$ ./build/juno --config "path/to/config/file"

Example of config file

Example juno.yaml:

verbosity: "debug"
rpc-port: 4576
metrics: true
db-path: "/home/.juno"
network: 1
eth-node: "https://some-ethnode:5673"

Juno Flags

All the flags are directly mapped to the options on the config file that you can provide with the --config flag, and with those flags you can override the config file.

Check the output of ./build/juno --help for a list of available flags.

$ ./build/juno --help
StarkNet client implementation in Go.

juno [flags]

--config string The yaml configuration file.
--db-path string Location of the database files.
--eth-node string The Ethereum endpoint to synchronise with. If unset feeder gateway will be used.
-h, --help help for juno
--metrics Enables the metrics server and listens on port 9090.
--network uint8 Available StarkNet networks. Options: 0 = goerli and 1 = mainnet
--rpc-port uint16 The port on which the RPC server will listen for requests. Warning: this exposes the node to external requests and potentially DoS attacks. (default 6060)
--verbosity string Verbosity of the logs. Options: debug, info, warn, error, dpanic, panic, fatal. (default "info")

Default Configuration

The default values for the configuration are the following:

verbosity: "info"
rpc-port: 6060
metrics: true
db-path: "~/.local/share/juno/"
network: 0
eth-node: ""

If not supplied the config file or flags, the default values are used. We will not create the config file if it does not exist.