Skip to main content

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

NameDescriptionTypeDefault value
checkForUpdatesWhether to check for updates of the application or notbooleantrue
shutdownConfiguration for shutdownobject

Shutdown

NameDescriptionTypeDefault value
stopGracePeriodThe maximum time to wait for background processes to finish during shutdown before terminating the appstring"5m"
logConfiguration for logobject

Log

NameDescriptionTypeDefault value
enabledWhether to store self-shutdown events to a log filebooleantrue
filePathThe file path to the self-shutdown logstring"shutdown.log"

Example:

{
"app": {
"checkForUpdates": true,
"shutdown": {
"stopGracePeriod": "5m",
"log": {
"enabled": true,
"filePath": "shutdown.log"
}
}
}
}

2. Logger

NameDescriptionTypeDefault value
levelThe minimum enabled logging levelstring"info"
disableCallerStops annotating logs with the calling function's file name and line numberbooleantrue
disableStacktraceDisables automatic stacktrace capturingbooleanfalse
stacktraceLevelThe level stacktraces are captured and abovestring"panic"
encodingThe logger's encoding (options: "json", "console")string"console"
outputPathsA list of URLs, file paths or stdout/stderr to write logging output toarraystdout
disableEventsPrevents log messages from being raced as eventsbooleantrue

Example:

{
"logger": {
"level": "info",
"disableCaller": true,
"disableStacktrace": false,
"stacktraceLevel": "panic",
"encoding": "console",
"outputPaths": ["stdout"],
"disableEvents": true
}
}

3. INX

NameDescriptionTypeDefault value
addressThe INX address to which to connect tostring"localhost:9029"
maxConnectionAttemptsThe amount of times the connection to INX will be attempted before it fails (1 attempt per second)uint30
targetNetworkNameThe network name on which the node should operate on (optional)string""

Example:

{
"inx": {
"address": "localhost:9029",
"maxConnectionAttempts": 30,
"targetNetworkName": ""
}
}

4. Pow

NameDescriptionTypeDefault value
refreshTipsIntervalInterval for refreshing tips during PoWstring"5s"

Example:

{
"pow": {
"refreshTipsInterval": "5s"
}
}

5. RestAPI

NameDescriptionTypeDefault value
bindAddressThe bind address on which the Spammer HTTP server listensstring"localhost:9092"
advertiseAddressThe address of the Spammer HTTP server which is advertised to the INX Server (optional)string""
debugRequestLoggerEnabledWhether the debug logging for requests should be enabledbooleanfalse

Example:

{
"restAPI": {
"bindAddress": "localhost:9092",
"advertiseAddress": "",
"debugRequestLoggerEnabled": false
}
}

6. Spammer

NameDescriptionTypeDefault value
autostartAutomatically start the spammer on startupbooleanfalse
bpsRateLimitThe blocks per second rate limit for the spammer (0 = no limit)float0.0
cpuMaxUsageWorkers remains idle for a while when cpu usage gets over this limit (0 = disable)float0.8
workersThe amount of parallel running spammersint0
messageThe message to embed within the spam blocksstring"We are all made of stardust."
tagThe tag of the blockstring"HORNET Spammer"
tagSemiLazyThe tag of the block if the semi-lazy pool is used (uses "tag" if empty)string"HORNET Spammer Semi-Lazy"
valueSpamConfiguration for Value Spamobject
tipselectionConfiguration for tipselectionobject

Value Spam

NameDescriptionTypeDefault value
enabledWhether to spam with transaction payloads instead of data payloadsbooleanfalse
sendBasicOutputWhether to send basic outputsbooleantrue
collectBasicOutputWhether to collect basic outputsbooleantrue
createAliasWhether to create aliasesbooleantrue
destroyAliasWhether to destroy aliasesbooleantrue
createFoundryWhether to create foundriesbooleantrue
destroyFoundryWhether to destroy foundriesbooleantrue
mintNativeTokenWhether to mint native tokensbooleantrue
meltNativeTokenWhether to melt native tokensbooleantrue
createNFTWhether to create NFTsbooleantrue
destroyNFTWhether to destroy NFTsbooleantrue

Tipselection

NameDescriptionTypeDefault value
nonLazyTipsThresholdThe maximum amount of tips in the non-lazy tip-pool before the spammer tries to reduce these (0 = always)uint0
semiLazyTipsThresholdThe maximum amount of tips in the semi-lazy tip-pool before the spammer tries to reduce these (0 = disable)uint30

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

NameDescriptionTypeDefault value
enabledWhether the profiling plugin is enabledbooleanfalse
bindAddressThe bind address on which the profiler listens onstring"localhost:6060"

Example:

{
"profiling": {
"enabled": false,
"bindAddress": "localhost:6060"
}
}

8. Prometheus

NameDescriptionTypeDefault value
enabledWhether the prometheus plugin is enabledbooleanfalse
bindAddressThe bind address on which the Prometheus HTTP server listens onstring"localhost:9312"
spammerMetricsWhether to include the spammer metricsbooleantrue
goMetricsWhether to include go metricsbooleanfalse
processMetricsWhether to include process metricsbooleanfalse
promhttpMetricsWhether to include promhttp metricsbooleanfalse

Example:

{
"prometheus": {
"enabled": false,
"bindAddress": "localhost:9312",
"spammerMetrics": true,
"goMetrics": false,
"processMetrics": false,
"promhttpMetrics": false
}
}
  • 1. Application
    • Shutdown
    • Log
  • 2. Logger
  • 3. INX
  • 4. Pow
  • 5. RestAPI
  • 6. Spammer
    • Value Spam
    • Tipselection
  • 7. Profiling
  • 8. Prometheus