Configuration reference

For more information about the config schema, see the application config schema file at GitHub.
Default config options
const config = {
    // label defines the process name and folder within the root path
	"label": "beta-sdk-app",
	// version must follow semver format
	"version": "0.0.0",
	// network version defines a P2P network version
	"networkVersion": "1.0",
    // rootPath defines the root path for all data to be stored
	"rootPath": "~/.lisk",
	// logger holds information for the logging
	"logger": {
	    // fileLogLevel defines the log level output for the file logging
		"fileLogLevel": "info",
		// consoleLogLevel defines the log level output for the console logging
		"consoleLogLevel": "info",
		// logFileName defines a name for the log file
		"logFileName": "lisk.log"
	},
	// rpc defines communication behavior
	"rpc": {
	    // enabled creates IPC or WS socket if true
		"enable": false,
		// enabled communication through 'ipc' or 'ws'
		"mode": "ipc",
		// In case of `mode` is set to `ws`, this port used
		"port": 8080
	},
	// genesisConfig holds the blockchain protocol configuration
    // it is also passed to the module constructor
	"genesisConfig": {
	    // blockTime defines the frequency of blocks to be created
		"blockTime": 10,
		// communityIdentifier defines a community identifier used to create the network identifier
		"communityIdentifier": "sdk",
		// maxPayloadLength defines a maximum payload size allowed in a block in bytes
		"maxPayloadLength": 15360,
		// bftThreshold defines a threshold for pre-vote and pre-commit
		"bftThreshold": 68,
		// minFeePerByte defines a minimum fee per byte for a transaction
		"minFeePerByte": 1000,
		// baseFees defines an additional base fee to be included in the calculation of the minimum fee for a transaction
		"baseFees": [
			{
				"moduleID": 5,
				"assetID": 0,
				"baseFee": "1000000000"
			}
		],
		// rewards defines a block reward schedule
		"rewards": {
		    // milestones defines the block reward for every distance
			"milestones": ["500000000", "400000000", "300000000", "200000000", "100000000"],
			// offset defines at which height the block reward is given
			"offset": 2160,
			// distance defines the duration of the each milestone
			"distance": 3000000
		},
		// The minimum balance of accounts
		"minRemainingBalance": "5000000",
		// Number of actively forging delegates.
		"activeDelegates": 101,
		// Number of random standy delegates that are allowed to forge each round.
		"standbyDelegates": 2,
		 // The offset of rounds from the current round, which will be used to calculate the vote weights for the next forging round.
		"delegateListRoundOffset": 2
	},
	// forging holds delegate information for forging
	"forging": {
		"force": true,
		// waitThreshold defines the Number of seconds to wait for previous block before forging
		"waitThreshold": 2,
		// delegates holds the delegate information for forging
		"delegates": [
			{
			    // encryptedPassphrase defines the encrypted passphrase
				"encryptedPassphrase": "iterations=1000000&cipherText=5c53db41ec94b46049ca5a5b8312e6b38c7bbad775153a8091bafade3f78ac855b55d5d33318e13f22ec961510061c8a07726aeb4d2d2b30fbcc6ddfabc82dd6f233891a06ae54b2&iv=8c0419422b6e81c32c10ac6a&salt=1f2308d0d12480d0c788a4c60a8f272d&tag=23cf9840cb985550a96b463f878de99d&version=1",
				// hashOnion holds the seed reveal to put in block header
				"hashOnion": {
				    // count holds the total number of hash onions
					"count": 100000,
					// distance holds a distance between each hash onion
					"distance": 1000,
					// hashes holds the seed reveal for every distance
					"hashes": [
						"34ecc432170c0812e7ca69d73485ca57",
						"1bf9423f594619f7d14e6f742c0631a1",
                        // ...
						"fa51b75c7920894019b43378af621e2d",
						"bd4ea06be86fb6d850023be7ad1d9558",
						"da23c5a34d19bbd57ebb159da170dfb5"
					]
				},
				// address defines the address of the delegate
				"address": "68d6b039567ebbfc714176d87cdd6906cf526cc7"
			}
		],
		// defaultPassword defines a password to use to decrypt the encrypted Passphrase
		"defaultPassword": "state dawn marriage honey cinnamon sadness crumble someone file caution sell oxygen"
	},
	// network holds the network information of the node
	"network": {
	    // seedPeers defines an entry point of the network
		"seedPeers": [
			{
				"ip": "127.0.0.1",
				"port": 5000
			}
		],
		// port defines an open port for P2P incoming connections
		"port": 5000,
		// (Optional) blacklistedIPs defines IP address which the node will reject the connection for both outbound and inbound connections
        //"blacklistedIPs": string[],
        // (Optional) fixedPeers defines peers which will always try to connect for outbound connections
        // Warning! The connectivity of the node might be negatively impacted if using this option.
        // "fixedPeers": { ip: string, port: number }[],
        // (Optional) whitelistedPeers defines peers that are always allowed to connect to the node on inbound connections
        // Warning! Beware of declaring only trustworthy peers in this array as these could attack a
		// node with a denial-of-service attack because the banning mechanism is deactivated.
        // whitelistedPeers?: { ip: string, port: number }[],
        // (Optional) peerBanTime defines the length of banning in milliseconds
        // Default: 86400000 (24h)
        //"peerBanTime": number,
        // (Optional) connectTimeout defines a timeout for a connection
        // "connectTimeout": number,
        // Optional.
        // (Optional) actTimeout defines a timeout for response from a peer
        //"ackTimeout": number,
        // (Optional) maxOutboundConnections defines a maximum number of outbound connection allowed
        // Default: 20
        //"maxOutboundConnections": number,
        // (Optional) maxInboundConnections defines a maximum number of inbound connection allowed
        // Default: 100
        //"maxInboundConnections": number,
        // (Optional) sendPeerLimit defines a maximum peer to send information when “send” is called
        // Default: 16
        //"sendPeerLimit": number,
        // (Optional) maxPeerDiscoveryResponseLength defines a maximum length for the peer information response of peer discovery
        // Default: 200
        //"maxPeerDiscoveryResponseLength": number,
        // (Optional) wsMaxPayload defines maximum size of the payload allowed per communication
        // Default: 3048576
        //"wsMaxPayload": number,
        // (Optional) advertiseAddress defines whether to announce the IP/Port other peers
        // Default: true
        //"advertiseAddress": boolean
	},
	// (Optional) transactionPool defines custom properties of the transaction pool
	"transactionPool": {
	    // maxTransactions defines a maximum number of transactions in the pool
		"maxTransactions": 4096,
		// maxTransactionsPerAccount defines a maximum number of transactions in the pool per sender account
		"maxTransactionsPerAccount": 64,
		// transactionExpiryTime defines timeout of the transaction in the pool in milliseconds
		"transactionExpiryTime": 10800000,
		// minEntranceFeePriority defines a minimum fee priority required to be added to the transaction pool
		"minEntranceFeePriority": "0",
		// minReplacementFeeDifference defines a minimum fee difference to replace a transaction with the same nonce
		"minReplacementFeeDifference": "10"
	},
	// (Optional) plugins holds a group of plugin-specific configs which is passed to a particular plugin.
	"plugins": {
	    // Example config for the HTTP API plugin
        /*"httpApi": {
            "port": 4000,
            "host": "127.0.0.1",
            "whiteList": ["127.0.0.1"],
            "cors": {
                "origin": "*",
                "methods": ["GET", "POST", "PUT"],
            },
            "limits": {
                "max": 0,
                "delayMs": 0,
                "delayAfter": 0,
                "windowMs": 60000,
                "headersTimeout": 5000,
                "serverSetTimeout": 20000,
            },
        }*/
	}
}