|
|
|
lightning-openchannel\_init -- Command to initiate a channel to a peer
|
|
|
|
=====================================================================
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
|
|
|
|
|
|
|
**openchannel_init** *id* *amount* *initalpsbt* \[*commitment_feerate*\] \[*funding_feerate*\] \[*announce*\] \[*close_to*\]
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
|
|
|
|
|
|
|
`openchannel_init` is a low level RPC command which initiates a channel
|
|
|
|
open with a specified peer. It uses the openchannel protocol
|
|
|
|
which allows for interactive transaction construction.
|
|
|
|
|
|
|
|
*id* is the node id of the remote peer.
|
|
|
|
|
|
|
|
*amount* is the satoshi value that we will contribute to the channel.
|
|
|
|
This value will be _added_ to the provided PSBT in the output which is
|
|
|
|
encumbered by the 2-of-2 script for this channel.
|
|
|
|
|
|
|
|
*initialpsbt* is the funded, incomplete PSBT that specifies the UTXOs and
|
|
|
|
change output for our channel contribution. It can be updated,
|
|
|
|
see `openchannel_update`; *initialpsbt* must have at least one input to
|
|
|
|
provide a PoDLE to the peer. Must have the Non-Witness UTXO
|
|
|
|
(PSBT\_IN\_NON\_WITNESS\_UTXO) set for every input. An error
|
|
|
|
(code 309) will be returned if this requirement is not met.
|
|
|
|
|
|
|
|
*commitment_feerate* is an optional field. Sets the feerate for
|
|
|
|
commitment transactions: see **fundchannel**.
|
|
|
|
|
|
|
|
*funding_feerate* is an optional field. Sets the feerate for the
|
|
|
|
funding transaction. Defaults to 'opening' feerate.
|
|
|
|
|
|
|
|
*announce* is an optional field. Whether or not to announce this channel.
|
|
|
|
|
|
|
|
*close_to* is a Bitcoin address to which the channel funds should be
|
|
|
|
sent on close. Only valid if both peers have negotiated
|
|
|
|
`option_upfront_shutdown_script`.
|
|
|
|
|
|
|
|
|
|
|
|
RETURN VALUE
|
|
|
|
------------
|
|
|
|
|
|
|
|
On success, returns the *channel_id* for this channel; an updated
|
|
|
|
incomplete *initialpsbt* for this funding transaction; and the flag
|
|
|
|
*commitments_secured*, which indiciates the completeness of the
|
|
|
|
passed back *psbt*. (Will always be false). Also returns the
|
|
|
|
*funding_serial*, indicating the serial\_id of the funding output
|
|
|
|
in the *psbt*.
|
|
|
|
|
|
|
|
If the peer does not support `option_dual_fund`, this command
|
|
|
|
will return an error.
|
|
|
|
|
|
|
|
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.
|
|
|
|
- 300: The amount exceeded the maximum configured funding amount.
|
|
|
|
- 301: The provided PSBT cannot afford the funding amount.
|
|
|
|
- 304: Still syncing with bitcoin network
|
|
|
|
- 305: Peer is not connected.
|
|
|
|
- 306: Unknown peer id.
|
|
|
|
- 309: PSBT missing required fields
|
|
|
|
- 310: v2 channel open protocol not supported by peer
|
|
|
|
|
|
|
|
SEE ALSO
|
|
|
|
--------
|
|
|
|
|
|
|
|
lightning-openchannel\_update(7), lightning-openchannel\_signed(7),
|
|
|
|
lightning-fundchannel\_start(7), lightning-fundchannel\_complete(7),
|
|
|
|
lightning-fundchannel(7), lightning-fundpsbt(7), lightning-utxopsbt(7),
|
|
|
|
lightning-multifundchannel(7)
|
|
|
|
|
|
|
|
AUTHOR
|
|
|
|
------
|
|
|
|
|
|
|
|
@niftynei <<niftynei@gmail.com>> is mainly responsible.
|
|
|
|
|
|
|
|
RESOURCES
|
|
|
|
---------
|
|
|
|
|
|
|
|
Main web site: <https://github.com/ElementsProject/lightning>
|