Core Configuration
INX-Spammer uses a JSON standard format as a config file. If you are unsure about JSON syntax, you can find more information in the official JSON specs.
You can change the path of the config file by using the -c
or --config
argument while executing inx-spammer
executable.
For example:
inx-spammer -c config_defaults.json
You can always get the most up-to-date description of the config parameters by running:
inx-spammer -h --full
1. Application
Name | Description | Type | Default value |
---|---|---|---|
checkForUpdates | Whether to check for updates of the application or not | boolean | true |
shutdown | Configuration for shutdown | object |
Shutdown
Name | Description | Type | Default value |
---|---|---|---|
stopGracePeriod | The maximum time to wait for background processes to finish during shutdown before terminating the app | string | "5m" |
log | Configuration for log | object |
Log
Name | Description | Type | Default value |
---|---|---|---|
enabled | Whether to store self-shutdown events to a log file | boolean | true |
filePath | The file path to the self-shutdown log | string | "shutdown.log" |
Example:
{
"app": {
"checkForUpdates": true,
"shutdown": {
"stopGracePeriod": "5m",
"log": {
"enabled": true,
"filePath": "shutdown.log"
}
}
}
}
2. Logger
Name | Description | Type | Default value |
---|---|---|---|
level | The minimum enabled logging level | string | "info" |
disableCaller | Stops annotating logs with the calling function's file name and line number | boolean | true |
disableStacktrace | Disables automatic stacktrace capturing | boolean | false |
stacktraceLevel | The level stacktraces are captured and above | string | "panic" |
encoding | The logger's encoding (options: "json", "console") | string | "console" |
outputPaths | A list of URLs, file paths or stdout/stderr to write logging output to | array | stdout |
disableEvents | Prevents log messages from being raced as events | boolean | true |
Example:
{
"logger": {
"level": "info",
"disableCaller": true,
"disableStacktrace": false,
"stacktraceLevel": "panic",
"encoding": "console",
"outputPaths": ["stdout"],
"disableEvents": true
}
}
3. INX
Name | Description | Type | Default value |
---|---|---|---|
address | The INX address to which to connect to | string | "localhost:9029" |
maxConnectionAttempts | The amount of times the connection to INX will be attempted before it fails (1 attempt per second) | uint | 30 |
targetNetworkName | The network name on which the node should operate on (optional) | string | "" |
Example:
{
"inx": {
"address": "localhost:9029",
"maxConnectionAttempts": 30,
"targetNetworkName": ""
}
}
4. Pow
Name | Description | Type | Default value |
---|---|---|---|
refreshTipsInterval | Interval for refreshing tips during PoW | string | "5s" |
Example:
{
"pow": {
"refreshTipsInterval": "5s"
}
}
5. RestAPI
Name | Description | Type | Default value |
---|---|---|---|
bindAddress | The bind address on which the Spammer HTTP server listens | string | "localhost:9092" |
advertiseAddress | The address of the Spammer HTTP server which is advertised to the INX Server (optional) | string | "" |
debugRequestLoggerEnabled | Whether the debug logging for requests should be enabled | boolean | false |
Example:
{
"restAPI": {
"bindAddress": "localhost:9092",
"advertiseAddress": "",
"debugRequestLoggerEnabled": false
}
}
6. Spammer
Name | Description | Type | Default value |
---|---|---|---|
autostart | Automatically start the spammer on startup | boolean | false |
bpsRateLimit | The blocks per second rate limit for the spammer (0 = no limit) | float | 0.0 |
cpuMaxUsage | Workers remains idle for a while when cpu usage gets over this limit (0 = disable) | float | 0.8 |
workers | The amount of parallel running spammers | int | 0 |
message | The message to embed within the spam blocks | string | "We are all made of stardust." |
tag | The tag of the block | string | "HORNET Spammer" |
tagSemiLazy | The tag of the block if the semi-lazy pool is used (uses "tag" if empty) | string | "HORNET Spammer Semi-Lazy" |
valueSpam | Configuration for Value Spam | object | |
tipselection | Configuration for tipselection | object |
Value Spam
Name | Description | Type | Default value |
---|---|---|---|
enabled | Whether to spam with transaction payloads instead of data payloads | boolean | false |
sendBasicOutput | Whether to send basic outputs | boolean | true |
collectBasicOutput | Whether to collect basic outputs | boolean | true |
createAlias | Whether to create aliases | boolean | true |
destroyAlias | Whether to destroy aliases | boolean | true |
createFoundry | Whether to create foundries | boolean | true |
destroyFoundry | Whether to destroy foundries | boolean | true |
mintNativeToken | Whether to mint native tokens | boolean | true |
meltNativeToken | Whether to melt native tokens | boolean | true |
createNFT | Whether to create NFTs | boolean | true |
destroyNFT | Whether to destroy NFTs | boolean | true |
Tipselection
Name | Description | Type | Default value |
---|---|---|---|
nonLazyTipsThreshold | The maximum amount of tips in the non-lazy tip-pool before the spammer tries to reduce these (0 = always) | uint | 0 |
semiLazyTipsThreshold | The maximum amount of tips in the semi-lazy tip-pool before the spammer tries to reduce these (0 = disable) | uint | 30 |
Example:
{
"spammer": {
"autostart": false,
"bpsRateLimit": 0,
"cpuMaxUsage": 0.8,
"workers": 0,
"message": "We are all made of stardust.",
"tag": "HORNET Spammer",
"tagSemiLazy": "HORNET Spammer Semi-Lazy",
"valueSpam": {
"enabled": false,
"sendBasicOutput": true,
"collectBasicOutput": true,
"createAlias": true,
"destroyAlias": true,
"createFoundry": true,
"destroyFoundry": true,
"mintNativeToken": true,
"meltNativeToken": true,
"createNFT": true,
"destroyNFT": true
},
"tipselection": {
"nonLazyTipsThreshold": 0,
"semiLazyTipsThreshold": 30
}
}
}
7. Profiling
Name | Description | Type | Default value |
---|---|---|---|
enabled | Whether the profiling plugin is enabled | boolean | false |
bindAddress | The bind address on which the profiler listens on | string | "localhost:6060" |
Example:
{
"profiling": {
"enabled": false,
"bindAddress": "localhost:6060"
}
}
8. Prometheus
Name | Description | Type | Default value |
---|---|---|---|
enabled | Whether the prometheus plugin is enabled | boolean | false |
bindAddress | The bind address on which the Prometheus HTTP server listens on | string | "localhost:9312" |
spammerMetrics | Whether to include the spammer metrics | boolean | true |
goMetrics | Whether to include go metrics | boolean | false |
processMetrics | Whether to include process metrics | boolean | false |
promhttpMetrics | Whether to include promhttp metrics | boolean | false |
Example:
{
"prometheus": {
"enabled": false,
"bindAddress": "localhost:9312",
"spammerMetrics": true,
"goMetrics": false,
"processMetrics": false,
"promhttpMetrics": false
}
}