Skip to content

EN Configuration

Andrey Nedobylsky edited this page Oct 5, 2019 · 1 revision

IZZZIO Blockchain configuration

The platform provides users with a a lot of customizable features. The configuration of the node is described in the config.json file in current dir. You can also specify a different configuration file path with the --config argument.

The configuration file is presented in JSON format.

Description of possible configuration file parameters

For version 1.1.5


p2pPort: 6013,                      //p2p connection port

httpServer: 'localhost',            //RPC/API binding address

rpcPassword: '',                    //RPC/API connection password (HTTP Basic Auth)

initialPeers: []                    //List of initial nodes address

allowMultipleConnectionsFromIp: true,//Allow multiple p2p connections from a single address. Recommended values: False - if the network has a lot of loops, True - if a proxy server is used for the connection

maxPeers: 80,                       //Max p2p connections

upnp: {                             //Configuring automatic host lookups using a DNS query

    enabled: true,                      //Enable lookup

    token: 'iz3node'                    //Search token. Shoud be same in whole network

}

networkPassword: '',                //Network password. Used to create private networks.

blockAcceptCount: 20,               //Number of Transaction Confirmation Blocks (LC Mechanism)

hearbeatInterval: 10000,            //Node internal timer. It affects the speed of repeated attempts to connect, save states to disk, etc. (msec)

peerExchangeInterval: 5000,         //Peer List Exchange Frequency (msec)

maxBlockSend: 600,                  //The maximum number of blocks to send. Must be bigger than blockQualityCheck (LC Mechanism)

blockQualityCheck: 100,             //Number of over blocks that are requested to verify chain validity (LC Mechanism)

limitedConfidenceBlockZone: 288,    //Confidence zone (LC Mechanism). The chain cannot be changed before this zone. Must be bigger than blockQualityCheck

generateEmptyBlockDelay: 300 * 1000,//The frequency of creating empty blocks when no blocks are created in the network. false - to disable

blockHashFilter: {                   //LCPoA hash validity filter

    blockEndls: []                   //4 characters at the end of the block hash. This must have a hash matching the Genesis Block

}

genesisTiemstamp: 1492004951 * 1000, //Genesis block timestamp (msec)

lcpoaVariantTime: 1,                //The number of milliseconds required to generate one block hash (LCPoA)

validators: []                      //Additional consensus plugins. IMPORTANT: Consensus plug-ins proceeds blocks in the same order in which they are specified in this parameter.

emptyBlockInterval: 10000,          //Interval for checking whether to create empty block

maxTransactionAtempts: 5,           //How many attempts to add a block are made before cancelling adding a block to the chain

checkExternalConnectionData: false, //Check external nodes configuration

enableMessaging: false,             //Allow the use of a messaging bus (required for some consensus)

recieverAddress: '123',             //Internal node network address. Used by messaging bus and StarWave protocol

messagingMaxTTL: 3,                 //Max messages hops

maximumInputSize: 2 * 1024 * 1024,  //Maximum incoming data. Recommended no more than 15 mb

allowMultipleSocketsOnBus: false,   //Allow to sockets connection with different addresses to one host address

walletFile: './wallet.json',        //Wallet file path

workDir: '.',                       //Working dir path

blocksDB: 'blocks',                 //How to store the blocks database: false - for storage in RAM, mem: //blocks.json for storage in RAM and write to ROM during unloading. A string to store on disk.

blocksSavingInterval: 300000,       //Block save interval. false = to disable autosave, or the number of milliseconds

appEntry: false,                    //The entry point to the DApp "app." False - if not required

startMessage: false,                //The message that prints when the node starts

ecmaContract: {                     //EcmaContracts smart contracts functionality

     enabled: true,                          //Enable smart contracts

     allowDebugMessages: false,              //Allows cmart contracts prints messages to console

     contractInstanceCacheLifetime: 10000,   //Contract virtual machine instance lifetime
}

masterContract: 5                       //The main contract in the system. Must support resource management methods

hashFunction: 'SHA256',                 //Hash function name. (Registred by plugins)

signFunction: '',                       //Digital Signature function. Empty for default (Registred by plugins)

keyLength: 2048,                        //DS key length (for some plugins)

plugins: []                             //List of enabled plugins (exclude consensus plugins)

An example of a life configuration file can be found in the BigNet configuration repository:https://github.com/Izzzio/izzzio/blob/master/BigNet/config.json