# Node Config
This configuration mainly takes care of the local node settings and need not be consistent with other nodes. An example is shown below:
{
"_comment": "Config for 3 / 5 generated by gen-node-config cli command",
"adminWebApiConfig": {
"serverKeyStorePath": "c:/miyabi/_configs/node_002/certs/webapi/server.p12",
"serverKeyStorePasswordPath": "adminServerKeyStorePasswordPath",
"webApiEndPoint": "https://+:8002/",
},
"bindings": [
"0.0.0.0:3822"
],
"busyWaitTransactions": false,
"consensus": {
"interval": "00:00:4",
"timeout": "00:00:10"
},
"consensusKeyStorePath": "c:/miyabi/_configs/node_002/certs/consensus/02.p12",
"consensusKeyStorePasswordPath": "c:/miyabi/_configs/node_002/certs/consensus/password.pwd",
"dbConfig": {
"baseLocation": "c:/miyabi/_configs/node_002/data",
"dbCompression": "Lz4",
"dbWalConfig": {
"walArchivedSizeLimitMB": 0,
"walArchivedTtlDays": 7,
"walDir": "",
"walTotalSizeMb": 256
}
},
"debugWebApiConfig": {
"serverKeyStorePath": "c:/miyabi/_configs/node_002/certs/debugapi/server.p12",
"serverKeyStorePasswordPath": "debugServerKeyStorePasswordPath",
"webApiEndPoint": "https://+:5000/",
},
"extensions":[
{
"name": "Miyabi.BLS"
},
{
"name": "Miyabi.Binary"
},
{
"name": "Miyabi.Asset"
},
{
"name": "Miyabi.Entity"
},
{
"name": "Miyabi.Contract"
},
{
"name": "Miyabi.NFT"
},
{
"name": "Miyabi.PrivateData"
}
],
"externalObserverEndpoint": "127.0.0.1:8182",
"externalObserverKeyStorePath": "c:/miyabi/_configs/node_002/certs/observer/02.p12",
"externalObserverKeyStorePasswordPath": "c:/miyabi/_configs/node_002/certs/observer/02.pwd",
"generalWebApiConfig": {
"serverKeyStorePath": "c:/miyabi/_configs/node_002/certs/webapi/server.p12",
"serverKeyStorePasswordPath": "generalServerKeyStorePasswordPath",
"webApiEndPoint": "https://+:9012/",
},
"initialNodes": [
"127.0.0.1:3820",
"127.0.0.1:3821",
"127.0.0.1:3823",
"127.0.0.1:3824"
],
"maxBlockDepth": 100,
"maxGetBlockSize": 5,
"maxTransactionCount": 1000,
"memoryPoolCapacity": 1000,
"name": "NodeAdmin",
"nodeAdmin": "03046bf1185537b4fc97fd8eab74c5e08cbe306aa7c394de812a8c1b6abcc2e5a4",
"privateWebApiConfig": {
"serverKeyStorePath": "c:/miyabi/_configs/node_002/certs/webapi/server.p12",
"serverKeyStorePasswordPath": "privateServerKeyStorePasswordPath",
"webApiEndPoint": "https://+:7002/"
},
"prometheusConfig": {
"pullPort": 9077,
"pushHost": "",
"usePushMode": false
},
"snapshotConfig": {
"blockBackupLocation": "c:/miyabi/_configs/node_002/data/_snapshots",
"stateBackupLocation": "c:/miyabi/_configs/node_002/data/_snapshots"
},
"sslKeyStorePath": "c:/miyabi/_configs/node_002/certs/ssl/02.p12",
"sslKeyStorePasswordPath": "c:/miyabi/_configs/node_002/certs/ssl/sslpassword.pwd",
"txPerBlockRateEstimate": 0.5,
"waitForTx": "00:00:00"
}
The following table describes each configuration field:
Field | Description |
---|---|
AdminWebApiConfig | Admin web API config. (Endpoints, server certificate path, server certificate password path). |
Bindings | IP endpoint binding for this node. |
BusyWaitTransactions | (Optional, default to false) Enable/Disable waiting for transactions to populate in the TransactionMemoryPool . |
Consensus | (Optional) Pacemaker config (round timeout and block interval). |
ConsensusKeyStorePath | The path of the key store of this node's consensus credential. |
ConsensusKeyStorePasswordPath | The path of the password file for consensus key store. |
DebugWebApiConfig | Debug web API config (Endpoints, server certificate path, server certificate password path). |
DbConfig | Database configuration. (Base location, cache size, encryption etc.). |
Extensions | (Optional) Module Extension configs. |
ExternalObserverEndpoint | (Optional) Endpoint of external observer. |
ExternalObserverKeyStorePath | (Optional) Path of the key store for communicating with Observer. |
ExternalObserverKeyStorePasswordPath | (Optional) Path of the password file of the key store for communicating with Observer. |
GeneralWebApiConfig | General web API config. (Endpoints, server certificate path, server certificate password path). |
InitialNodes | Endpoints for the initial nodes that this node will actively connect to. |
MaxBlockDepth | (Optional, default to 100) Max depth of the block range set which a client can request. |
MaxGetBlockSize | (Optional, default to 5) Maximum number of blocks to request from inventory layer. |
MaxTransactionCount | (Optional, default to 1000) Maximum number of transactions can be queried through API. |
MemoryPoolCapacity | (Optional, default to 1000) Max number of transactions the TransactionMemoryPool can store. |
Name | (Optional, default to NodeAdmin ) Nickname of the node, used by web api getinfo. |
NodeAdmin | Credential for the node admin that can manage resources in this node. |
PrivateWebApiConfig | Private data web API config (Endpoints, server certificate path, server certificate password path). |
PrometheusConfig | (Optional) Prometheus Configuration (Push Mode, Push Host, Pull port, etc.). |
SnapshotConfig | (Optional) Path of block backup and state snapshot, will be used by archiving. |
SslKeyStorePath | The path of the key store used for SSL. |
SslKeyStorePasswordPath | The path of the password file for SSL key store. |
TxPerBlockRateEstimate | (Optional, default to 0.5) Expected Tx per Block / Max Tx per Block; used by inventory layer. |
WaitForTx | (Optional, default to 0) Max wait time for new transactions. |