setconfig

setconfig -- Dynamically change some config options

SYNOPSIS

setconfig config [val] [transient]

DESCRIPTION

Command added in v23.08.

The setconfig RPC command allows you set the (dynamic) configuration option named by config: options which take a value (as separate from simple flag options) also need a val parameter.

This new value will also be written at the end of the config.setconfig file (but see lightningd-config), for persistence across restarts (and any old value commented out if they were set in other config files).

You can see what options are dynamically adjustable using lightning-listconfigs(7). Note that you can also adjust existing options for stopped plugins; they will have an effect when the plugin is restarted.

  • config (string): Name of the config variable which should be set to the value of the variable.
  • val (one of, optional): Value of the config variable to be set or updated.:
    • (string)
    • (integer)
    • (boolean)
  • transient (boolean, optional): If set, this change does NOT try to alter the configuration files, so the change will be reverted on any restart. The default is False. (added v25.02)

RETURN VALUE

On success, an object containing config is returned. It is an object containing:

  • config (string): Name of the config variable which was set.
  • source (string): Source of configuration setting (file:linenum).
  • dynamic (boolean) (always true): Whether this option is settable via setconfig.
  • plugin (string, optional): The plugin this configuration setting is for.
  • set (boolean, optional): For simple flag options.
  • value_str (string, optional): For string options.
  • value_msat (msat, optional): For msat options.
  • value_int (integer, optional): For integer options.
  • value_bool (boolean, optional): For boolean options.

ERRORS

The following error codes may occur:

  • -32602: JSONRPC2_INVALID_PARAMS, i.e. the parameter is not dynamic, or the val was invalid.

AUTHOR

Rusty Russell <[email protected]> is mainly responsible for this feature.

SEE ALSO

lightningd-config(5), lightning-listconfigs(7)

RESOURCES

Main web site: https://github.com/ElementsProject/lightning

EXAMPLES

Example 1:

Request:

lightning-cli setconfig "autoclean-expiredinvoices-age" "300"
{
  "id": "example:setconfig#1",
  "method": "setconfig",
  "params": [
    "autoclean-expiredinvoices-age",
    300
  ]
}

Response:

{
  "config": {
    "config": "autoclean-expiredinvoices-age",
    "value_int": 300,
    "source": "/tmp/.lightning/regtest/config.setconfig:2",
    "plugin": "/root/lightning/plugins/autoclean",
    "dynamic": true
  }
}

Example 2:

Request:

lightning-cli setconfig -k "config"="min-capacity-sat" "val"=500000
{
  "id": "example:setconfig#2",
  "method": "setconfig",
  "params": {
    "config": "min-capacity-sat",
    "val": 500000
  }
}

Response:

{
  "config": {
    "config": "min-capacity-sat",
    "value_int": 500000,
    "source": "/tmp/.lightning/regtest/config.setconfig:3",
    "dynamic": true
  }
}

Core Lightning is Blockstream's open-source implementation of the Lightning Network optimised for performance. It is highly customizable through modular expandability.

© 2023 Core Lightning
All rights reserved.

X Twitter Logo Streamline Icon: https://streamlinehq.com

X

The official Core Lightning X(Twitter) handle to follow project updates and announcements.

Github Logo 2 Streamline Icon: https://streamlinehq.com

Github

Github repository for source code, issues, and contributions. Visit our project here to explore or contibute.

Telegram

Community-driven telegram group where most of the node operators hang out. Go to https://t.me/lightningd to join.

Discord

Community-driven discord server where the devs flock together. Go to https://discord.gg/V6ay9yNhBQ to join.