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,
// Change to 0.0.0.0 to connect from a remote server
"host": "127.0.0.1"
},
// 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,
},
}*/
}
}