lightning-openchannel_update

lightning-openchannel_update -- Command to update a collab channel open

SYNOPSIS

openchannel_update channel_id psbt

DESCRIPTION

openchannel_update is a low level RPC command which continues an open channel, as specified by channel_id. An updated psbt is passed in; any changes from the PSBT last returned (either from openchannel_init or a previous call to openchannel_update) will be communicated to the peer.

Must be called after openchannel_init and before openchannel_signed.

Must be called until commitments_secured is returned as true, at which point openchannel_signed should be called with a signed version of the PSBT returned by the last call to openchannel_update.

  • channel_id (hash): Id of the channel.
  • psbt (string): Updated PSBT to be sent to the peer. May be identical to the PSBT last returned by either openchannel_init or openchannel_update.

RETURN VALUE

On success, an object is returned, containing:

  • channel_id (hash): The channel id of the channel.
  • channel_type (object): Channel_type as negotiated with peer. (added v24.02):
    • bits (array of u32s): Each bit set in this channel_type. (added v24.02):
      • (u32, optional): Bit number.
    • names (array of strings): Feature name for each bit set in this channel_type. Note that anchors_zero_fee_htlc_tx is a deprecated synonym for anchors. (added v24.02):
      • (string, optional) (one of "static_remotekey/even", "anchor_outputs/even", "anchors_zero_fee_htlc_tx/even", "anchors/even", "scid_alias/even", "zeroconf/even"): Name of feature bit.
  • psbt (string): The PSBT of the funding transaction.
  • commitments_secured (boolean): Whether the psbt is complete (if true, sign psbt and call openchannel_signed to complete the channel open).
  • funding_outnum (u32): The index of the funding output in the psbt.
  • close_to (hex, optional): Scriptpubkey which we have to close to if we mutual close.
  • requires_confirmed_inputs (boolean, optional): Does peer require confirmed inputs in psbt?

If commitments_secured is true:

  • channel_id (hash): The derived channel id.
  • funding_outnum (u32): The index of the funding output for this channel in the funding transaction.
  • close_to (hex, optional): If a close_to address was provided to openchannel_init and the peer supports option_upfront_shutdownscript.

ERRORS

On error, the returned object will contain code and message properties,
with code being one of the following:

  • -32602: If the given parameters are wrong.
  • -1: Catchall nonspecific error.
  • 305: Peer is not connected.
  • 309: PSBT missing required fields
  • 311: Unknown channel id.
  • 312: Channel in an invalid state

AUTHOR

Lisa Neigut <[email protected]> is mainly responsible.

SEE ALSO

lightning-openchannel_init(7), lightning-openchannel_signed(7), lightning-openchannel_bump(7), lightning-openchannel_abort(7), lightning-fundchannel_start(7), lightning-fundchannel_complete(7), lightning-fundchannel(7), lightning-fundpsbt(7), lightning-utxopsbt(7), lightning-multifundchannel(7)

RESOURCES

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

EXAMPLES

Example 1:

Request:

lightning-cli openchannel_update -k "channel_id"="channelid0111200111200111200111200111200111200111200111200111200" "psbt"="cHNidP8BAgQCAAAAAQMEbwAAAAEEAQpsbt910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000"
{
  "id": "example:openchannel_update#1",
  "method": "openchannel_update",
  "params": {
    "channel_id": "channelid0111200111200111200111200111200111200111200111200111200",
    "psbt": "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQpsbt910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000"
  }
}

Response:

{
  "channel_id": "channelid0111200111200111200111200111200111200111200111200111200",
  "psbt": "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQpsbt910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000910000",
  "channel_type": {
    "bits": [
      12,
      22
    ],
    "names": [
      "static_remotekey/even",
      "anchors/even"
    ]
  },
  "commitments_secured": true,
  "funding_outnum": 1,
  "close_to": "51202321a432c9022a560c7dae78bdb72c605c373961edd29c42aa98c183782d052a"
}

Example 2:

Request:

lightning-cli openchannel_update "b020c1c6818daf024954c9ee578caad058cbcae7dd75b2c4d38b8f6f81901ff5" "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQpsbt101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000"
{
  "id": "example:openchannel_update#2",
  "method": "openchannel_update",
  "params": [
    "b020c1c6818daf024954c9ee578caad058cbcae7dd75b2c4d38b8f6f81901ff5",
    "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQpsbt101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000"
  ]
}

Response:

{
  "channel_id": "channelid0111200111200111200111200111200111200111200111200111200",
  "psbt": "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQpsbt101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000101000",
  "channel_type": {
    "bits": [
      12,
      22
    ],
    "names": [
      "static_remotekey/even",
      "anchors/even"
    ]
  },
  "commitments_secured": true,
  "funding_outnum": 1,
  "close_to": "51202321a432c9022a560c7dae78bdb72c605c373961edd29c42aa98c183782d052a"
}

Core Lightning (previously c-lightning) is a lightweight, highly customizable and standard compliant implementation of the Lightning Network protocol.

© 2023 Core Lightning
All rights reserved.

Discussion Forum

The official Core Lightning forum is hosted at discuss.corelightning.org

BuildonL2 Community

The official BuildOnL2 community lives at community.corelightning.org. Join us and build the future of bitcoin on lightning.

Mailing List

For general discussions about CLN implementation, use [email protected]. For the Lightning Network, use [email protected]

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/w27fMFESMN to join.

Internet Relay Chat

Don't hesitate to reach out to us on IRC at #lightning-dev @ libera.chat, #c-lightning @ libera.chat.