Skip to main content

Core Configuration

INX-Faucet 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-faucet executable.

For example:

inx-faucet -c config_defaults.json

You can always get the most up-to-date description of the config parameters by running:

inx-faucet -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. Faucet

NameDescriptionTypeDefault value
amountThe amount of funds the requester receivesuint1000000000
smallAmountThe amount of funds the requester receives if the target address has more funds than the faucet amount and less than maximumuint100000000
maxAddressBalanceThe maximum allowed amount of funds on the target addressuint2000000000
maxOutputCountThe maximum output count per faucet messageint128
tagMessageThe faucet transaction tag payloadstring"HORNET FAUCET"
batchTimeoutThe maximum duration for collecting faucet batchesstring"2s"
bindAddressThe bind address on which the faucet website can be accessed fromstring"localhost:8091"
rateLimitConfiguration for rateLimitobject
debugRequestLoggerEnabledWhether the debug logging for requests should be enabledbooleanfalse

RateLimit

NameDescriptionTypeDefault value
enabledWhether the rate limiting should be enabledbooleantrue
periodThe period for rate limitingstring"5m"
maxRequestsThe maximum number of requests per periodint10
maxBurstAdditional requests allowed in the burst periodint20

Example:

{
"faucet": {
"amount": 1000000000,
"smallAmount": 100000000,
"maxAddressBalance": 2000000000,
"maxOutputCount": 128,
"tagMessage": "HORNET FAUCET",
"batchTimeout": "2s",
"bindAddress": "localhost:8091",
"rateLimit": {
"enabled": true,
"period": "5m",
"maxRequests": 10,
"maxBurst": 20
},
"debugRequestLoggerEnabled": false
}
}

5. 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"
}
}
  • 1. Application
    • Shutdown
    • Log
  • 2. Logger
  • 3. INX
  • 4. Faucet
    • RateLimit
  • 5. Profiling