zend Yaml and Configuration options

zeknd.yaml

Here's how a sample zeknd.yaml looks like:

RPCBindAddress: "tcp://0.0.0.0:46658"
EventDispatcherURI: ""
BFTLogLevel: "debug"
zekndLogLevel: "info"
RootDir: "."
DBName: "app"
GenesisFile: "genesis.json"
PluginsDir: "contracts"
ContractLogLevel: "debug"
ChainID: "awesomechain"
# Peers: ""
# SessionMaxAccessCount: "0"
# SessionDuration: "600"
PlasmaCashEnabled: false
# EthereumURI: ws://127.0.0.1:8545"

Remove the # from lines you want to change.

#RPCBindAddress

Options: "tcp://0.0.0.0:46658"

This is the primary interface for binding RPC interface

#zekndLogLevel

Options: debug, info, warn, error

General logging for the zeknd Blockchain

#ContractLogLevel

Options: debug, info, warn, error

General logging for the Go Based Smart contracts.

#BFTLogLevel

Options: debug, info, warn, error

General logging for the BFT Layer Blockchain. This may change based on which BFT engine you are using.

#EthereumURI

Options: "ws://127.0.0.1:8545"

This is the URL of the Ethereum Blockchain to read data for Basechain and Transfer Gateway. In future, we will have support for Infura also.

#ChainID

Options: "awesomechain"

This is the name of your chain, for example "eth", "zombiechain", "test-zombiechain", "delegatecall".

#config.toml

If you are using tendermint BFT engine, you can modify this file, otherwise leave it alone.

#ABCIAddress

Options: "http://127.0.0.1:45667"

Port for tendermint BFT engine

#ReceiptsVersion

Options: 1,2

Most users should set this to 1, and the EVM receipts will be stored in the application store. If the number is set to 2, EVM receipts are stored in a seperate database. This is better for disk usage. However, it affects the AppHashes, so the entire cluster must be initialized with the same version, and it must not be changed after initialization.

#RegistryVersion

Options: 1,2

Most users should set this to 2. This is the latest version of the smart contract registry. The entire cluster needs to be initialized with the same version, and it must not be changed after initialization.

#POWVersion

Options: 1,2,3

The entire cluster needs to be on same version, and it must not be changed after initialization.

#CreateEmptyBlocks

Boolean: true, false

Most clusters will want to disable empty blocks to save disk space.

#AppStore

Configures how much history is retained in app.db. It should be enabled on production clusters, and dev clusters that don't get wiped often. A new app.db version is created with each block, so without these settings nodes will consume significantly more disk space.

#CompactOnLoad

Will compact app.db when the node starts. This affects node start times, but ensures disk space that's taken up by old app.db versions is freed.

#MaxVersions

Max versions stored in the app store. Each time a block is committed a new version of the app state is stored in the store. This doesn't affect how many blocks/transactions are stored in the blockchain store.

#HSM

Please see HSM Page for more details

#Plasma

#Karma

Data Types

Example

#Caching Store

#Event Store

#App store

#Universal Signing

Universal signing medium

#Leveldb Tweaks

Last updated