Rootstock Node Configuration Reference
See CLI flags for command line flag options.
From RSKj HOP v4.2.0, RocksDB is no longer experimental. See guide on using RocksDB
Advanced Configuration
For advanced configuration requirements, please refer to this expected configuration file. This contains all possible configuration fields parsed by RSKj.
The default values for the config file are defined in this reference config file; and are "inherited" and varied based on the selected network.
Guide
The following detail the most commonly used configuration fields parsed by RSKj.
peer
database
database.import
vm
sync
rpc
wallet
scoring
miner
miner.stableGasPrice
blockchain.config.name
bind_address
public.ip
genesis
transaction.outdated
transaction.gasPriceCalculatorType
play.vm
hello.phrase
details.inmemory.storage.limit
solc.path
peer
Describes how your node peers with other nodes.
-
peer.discovery.enabled = [true/false]
enables the possibility of being discovered by new peers. -
peer.discovery.ip.list = []
is a list of the peers to start the discovering. These peers must have thediscovery.enabled
option set to true. These are the list of some of RSK bootstrap nodes:ip.list
Regtest Not applicable Testnet "bootstrap02.testnet.rsk.co:50505","bootstrap03.testnet.rsk.co:50505","bootstrap04.testnet.rsk.co:50505","bootstrap05.testnet.rsk.co:50505"
Mainnet "bootstrap01.rsk.co:5050","bootstrap02.rsk.co:5050","bootstrap03.rsk.co:5050","bootstrap04.rsk.co:5050","bootstrap05.rsk.co:5050","bootstrap06.rsk.co:5050","bootstrap07.rsk.co:5050","bootstrap08.rsk.co:5050","bootstrap09.rsk.co:5050","bootstrap10.rsk.co:5050","bootstrap11.rsk.co:5050","bootstrap12.rsk.co:5050","bootstrap13.rsk.co:5050","bootstrap14.rsk.co:5050","bootstrap15.rsk.co:5050","bootstrap16.rsk.co:5050"
-
peer.active = []
is used to connect to specific nodes. It can be empty. -
peer.trusted = []
is a list of peers whose incoming connections are always accepted from. It can be empty. -
peer.port
is the port used to listen to incoming connections. Default port by each RSK network:peer.port
Regtest 50501 Testnet 50505 Mainnet 5050 -
peer.connection.timeout = number (seconds)
specifies in seconds the timeout for trying to connect to a peer. Suggested value:2
. -
channel.read.timeout = number (seconds)
specifies in seconds how much time you will wait for a message to come before closing the channel. Suggested value:30
.
peer.privateKey = hash
is a securely generated private key unique for your node that must be set.
-
peer.networkId = int
is the number of the network to connect to. It's important to maintain these numbers. It identifies the network you are going to connect to. For a Regtest private network, you should always use the same id. RSK networks IDs:peer.networkId
Regtest 7771 Testnet 8100 Mainnet 775 -
peer.maxActivePeers = int
is the max number of active peers that your node will maintain. Suggested value:30
. -
peer.p2p.eip8 = bool
forces peer to send handshake message in format defined by EIP-8.
database
Describes where the blockchain database is saved.
database.dir = path
is the place to save physical storage files.database.reset = [true/false]
resets the database when the application starts when set to true.
database.import
Options related to experimental import sync v0.1.
database.import.url = URL
is the URL to the S3 bucket that hosts the database.database.import.trusted-keys = []
list of trusted public keys to validate legit source.database.import.enabled = [true/false]
enable the import sync.
keyvalue.datasource (experimental)
Selects the database that will be used to store the information. Possible options are:
leveldb
rocksdb
(default)
If you wish to switch between the different storage options,
for example from leveldb
to rocksdb
or vice versa,
you must restart the node with the import option each time you do so.
vm
Enabling the vm.structured
will log all the calls to the VM in the local database.
This includes all the contract executions (opcodes).
When testing, using this module is the only way to see exceptions.
trace = [true/false]
enables thevm.structured
.dir = foldername
the directory where calls are saved.compressed = [true/false]
compress data when enabled.initStorageLimit = int
the storage limit.
An example:
vm.structured {
trace = false
dir = vmtrace
compressed = true
initStorageLimit = 10000
}