Skip to content

Latest commit

 

History

History
executable file
·
280 lines (231 loc) · 13.7 KB

configuration.md

File metadata and controls

executable file
·
280 lines (231 loc) · 13.7 KB
description keywords
This section describes the configuration parameters and their types for INX-Spammer.
IOTA Node
Hornet Node
Spammer
Configuration
JSON
Customize
Config
reference

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"
encodingConfig Configuration for encodingConfig object
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

EncodingConfig

Name Description Type Default value
timeEncoder Sets the logger's timestamp encoding. (options: "nanos", "millis", "iso8601", "rfc3339" and "rfc3339nano") string "rfc3339"

Example:

  {
    "logger": {
      "level": "info",
      "disableCaller": true,
      "disableStacktrace": false,
      "stacktraceLevel": "panic",
      "encoding": "console",
      "encodingConfig": {
        "timeEncoder": "rfc3339"
      },
      "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 component 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
    }
  }