Skip to content

Configuration

Gossamer consumes a .toml file containing predefined settings for the node from setting the chain-spec file, to the RPC/WS server, this file allows you to curate the functionality of the node instead of writing out the flags manually

Full reference

# This is a TOML config file.
# For more information, see https://github.com/toml-lang/toml

# NOTE: Any path below can be absolute (e.g. "/var/gossamer/data") or
# relative to the home directory (e.g. "data"). The home directory is
# "$HOME/.local/share/gossamer" by default, but could be changed via
# $GSSMRHOME env variable or --home cmd flag.

#######################################################################
###                   Main Base Config Options                      ###
#######################################################################

# Name of the node
# Defaults to "Gossamer"
name = "Westend"

# Identifier of the node
# Defaults to a random value
id = "westend_dev"

# Path to the working directory of the node
# Defaults to "$HOME/.local/share/gossamer/<CHAIN>"
base-path = "/Users/user/.local/share/gossamer/alice"

# Path to the chain-spec raw JSON file
chain-spec = "/Users/user/.local/share/gossamer/alice/chain-spec.json"

# Global log level
# One of: crit, error, warn, info, debug, trace
# Defaults to "info"
log-level = "info"

# Listen address for the prometheus server
# Defaults to "localhost:9876"
prometheus-port = 9876

# Retain number of block from latest block while pruning
# Defaults to 512
retain-blocks = 512

# State trie online pruning mode
# Defaults to "archive"
pruning = "archive"

# Disable connecting to the Substrate telemetry server
# Defaults to false
no-telemetry = false

# List of telemetry server URLs to connect to
# Format for each entry:
# [[telemetry-urls]]
# endpoint = "wss://telemetry.polkadot.io/submit/"
# verbosity = 0


# Publish metrics to prometheus
# Defaults to false
prometheus-external = false

#######################################################################
###                 Advanced Configuration Options                  ###
#######################################################################

#######################################################
###              Log Configuration Options          ###
#######################################################
[log]

# One of: crit, error, warn, info, debug, trace
# Defaults to "info"

# Core module log level
core = "info"

# Digest module log level
digest = "info"

# Sync module log level
sync = "info"

# Network module log level
network = "info"

# RPC module log level
rpc = "info"

# State module log level
state = "info"

# Runtime module log level
runtime = "info"

# BABE module log level
babe = "info"

# GRANDPA module log level
grandpa = "info"

# WASM module log level
wasmer = "info"


#######################################################
###          Account Configuration Options          ###
#######################################################
[account]

# Keyring to use for the node
key = "alice"

# Unlock an account. eg. --unlock=0 to unlock account 0
unlock = ""

#######################################################
###          Network Configuration Options          ###
#######################################################
[network]

# Network port to use
# Defaults to 7001
port = 7001

# Comma separated node URLs for network discovery bootstrap
bootnodes = ""

# Protocol ID to use
protocol-id = "dot"

# Disables network bootstrapping (mDNS still enabled)
# Defaults to false
no-bootstrap = true

# Disables network mDNS discovery
# Defaults to false
no-mdns = true

# Minimum number of peers to connect to
# Defaults to 25
min-peers = 0

# Maximum number of peers to connect to
# Defaults to 50
max-peers = 0

# Comma separated list of peers to always keep connected to
persistent-peers = ""

# Interval to perform peer discovery in duration
# Format: "10s", "1m", "1h"
discovery-interval = "1s"

# Overrides the public IP address used for peer to peer networking"
public-ip = ""

# Overrides the public DNS used for peer to peer networking"
public-dns = ""

# Overrides the secret Ed25519 key to use for libp2p networking
node-key = ""

# Multiaddress to listen on
listen-addr = ""

#######################################################
###             Core Configuration Options          ###
#######################################################
[core]

# Role of the gossamer node
# Represented as an integer
# One of: 1 (Full), 2 (Light), 4 (Authority)
role = 1

# Enable BABE authoring
# Defaults to true
babe-authority = true

# Enable GRANDPA authoring
# Defaults to true
grandpa-authority = true

# WASM interpreter
# Defaults to "wasmer"
wasm-interpreter = "wasmer"

# Grandpa interval
grandpa-interval = "1s"

#######################################################
###            State Configuration Options          ###
#######################################################
[state]
# Rewind head of chain to the given block number
# Defaults to 0
rewind = 0

#######################################################
###              RPC Configuration Options          ###
#######################################################
[rpc]

# Enable external HTTP-RPC connections
# Defaults to false
rpc-external = false

# Enable unsafe RPC methods
# Defaults to false
unsafe-rpc = false

# Enable external HTTP-RPC connections to unsafe procedures
# Defaults to false
unsafe-rpc-external = false

# HTTP-RPC server listening port
# Defaults to 8545
port = 8545

# HTTP-RPC server listening hostname
# Defaults to "localhost"
host = "localhost"

# API modules to enable via HTTP-RPC, comma separated list
# Defaults to "system, author, chain, state, rpc, grandpa, offchain, childstate, syncstate, payment"
modules = ["system", "author", "chain", "state", "rpc", "grandpa", "offchain", "childstate", "syncstate", "payment", ]

# Websockets server listening port
# Defaults to 8546
ws-port = 8546

# Enable external websocket connections
# Defaults to false
ws-external = false

# Enable external websocket connections to unsafe procedures
# Defaults to false
unsafe-ws-external = false

#######################################################
###            PPROF Configuration Options          ###
#######################################################
[pprof]

# Enable the pprof server
# Defaults to false
enabled = false

# Pprof server listening address
# Defaults to "localhost:6060"
listening-address = "localhost:6060"

# The frequency at which the Go runtime samples the state of goroutines to generate block profile information.
# Defaults to 0
block-profile-rate = 0

# The frequency at which the Go runtime samples the state of mutexes to generate mutex profile information.
# Defaults to 0
mutex-profile-rate = 0