mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-02-22 14:42:40 +01:00
139 lines
6.6 KiB
JSON
139 lines
6.6 KiB
JSON
{
|
|
"$schema": "../rpc-schema-draft.json",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"added": "v23.08",
|
|
"rpc": "splice_init",
|
|
"title": "Command to initiate a channel to a peer",
|
|
"warning": "experimental-splicing only",
|
|
"description": [
|
|
"`splice_init` is a low level RPC command which initiates a channel splice for a given channel specified by `channel_id`."
|
|
],
|
|
"request": {
|
|
"required": [
|
|
"channel_id",
|
|
"relative_amount"
|
|
],
|
|
"properties": {
|
|
"channel_id": {
|
|
"type": "hash",
|
|
"description": [
|
|
"The channel id of the channel to be spliced."
|
|
]
|
|
},
|
|
"relative_amount": {
|
|
"type": "integer",
|
|
"description": [
|
|
"A positive or negative amount of satoshis to add or subtract from the channel. Note you may need to add a double dash (--) after splice_init if using a negative *relative_amount* so it is not interpretted as a command modifier. For example: ```shell lightning-cli splice_init -- $CHANNEL_ID -100000 ```."
|
|
]
|
|
},
|
|
"initialpsbt": {
|
|
"type": "string",
|
|
"description": [
|
|
"The (optional) base 64 encoded PSBT to begin with. If not specified, one will be generated automatically."
|
|
]
|
|
},
|
|
"feerate_per_kw": {
|
|
"type": "u32",
|
|
"description": [
|
|
"The miner fee we promise our peer to pay for our side of the splice transaction. It is calculated by `feerate_per_kw` * our_bytes_in_splice_tx / 1000."
|
|
]
|
|
},
|
|
"force_feerate": {
|
|
"type": "boolean",
|
|
"description": [
|
|
"By default splices will fail if the fee provided looks too high. This is to protect against accidentally setting your fee higher than intended. Set `force_feerate` to true to skip this saftey check."
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"response": {
|
|
"required": [
|
|
"psbt"
|
|
],
|
|
"properties": {
|
|
"psbt": {
|
|
"type": "string",
|
|
"description": [
|
|
"The (incomplete) PSBT of the splice transaction."
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"usage": [
|
|
"Here is an example set of splice commands that will splice in 100,000 sats to the first channel that comes out of `listpeerchannels`.",
|
|
"",
|
|
"The example assumes you already have at least one confirmed channel.",
|
|
"",
|
|
"1: Get the channel id of the first channel.",
|
|
"",
|
|
"```shell",
|
|
"CHANNEL_ID=$(echo $(lightning-cli listpeerchannels) | jq -r \".channels[0].channel_id\")",
|
|
"```",
|
|
"2: Get the PSBT from fundpsbt.",
|
|
"",
|
|
"```shell",
|
|
"INITIALPSBT=$(echo $(lightning-cli fundpsbt -k satoshi=100000sat feerate=urgent startweight=800 excess_as_change=true) | jq -r \".psbt\")",
|
|
"```",
|
|
"3: Initiate the splice by passing channel id and initialpsbt received from above steps.",
|
|
"",
|
|
"```shell",
|
|
"PSBT_SPLICE_INIT=$(echo $(lightning-cli splice_init $CHANNEL_ID 100000 $INITIALPSBT) | jq -r \".psbt\")",
|
|
"```",
|
|
"4: Update the PSBT with the splice_update command.",
|
|
"",
|
|
"```shell",
|
|
"PSBT_SPLICE_UPDATE=$(echo $(lightning-cli splice_update $CHANNEL_ID $PSBT_SPLICE_INIT) | jq -r \".psbt\")",
|
|
"```",
|
|
"5: Sign the updated PSBT.",
|
|
"",
|
|
"```shell",
|
|
"SIGNPSBT=$(echo $(lightning-cli signpsbt -k psbt=\"$PSBT_SPLICE_UPDATE\") | jq -r \".signed_psbt\")",
|
|
"```",
|
|
"6: Finally, call splice_signed with channel id and signed PSBT parameters.",
|
|
"",
|
|
"```shell",
|
|
"lightning-cli splice_signed $CHANNEL_ID $SIGNPSBT",
|
|
"```"
|
|
],
|
|
"author": [
|
|
"Dusty <<@dusty_daemon>> is mainly responsible."
|
|
],
|
|
"see_also": [
|
|
"lightning-splice_signed(7)",
|
|
"lightning-splice_update(7)"
|
|
],
|
|
"resources": [
|
|
"Main web site: <https://github.com/ElementsProject/lightning>"
|
|
],
|
|
"examples": [
|
|
{
|
|
"request": {
|
|
"id": "example:splice_init#1",
|
|
"method": "splice_init",
|
|
"params": {
|
|
"channel_id": "f62126acb4e1a8113eb3ce40ed80e34a49d49b035cb9d36417b1c1333227112c",
|
|
"relative_amount": 100000,
|
|
"initialpsbt": "cHNidP8BAF4CAAAAAfYhJqy04agRPrPOQO2A40pJ1JsDXLnTZBexwTMyJxEsAQAAAAD9////Ac652gsAAAAAIlEgj47URidVfbzMQq4BipxUdKmRKFeSxMqJHB9ZxWZdNGCSAAAAAAEAiQIAAAAB+fmfTbLExUIRcwBZD0qxCoNAHIDe7sEfYHguS6nfkn4AAAAAAP3///8CQEIPAAAAAAAiACCT3t0MJlvKhoV20+4uWe67sg68KW5Y9+3Kk9XursCJloFs3AsAAAAAIlEgW7Q7f9oXFdDdAUFoJaGFIqLX7LFkdbiHgOj6/Bxz74mNAAAAAQErgWzcCwAAAAAiUSBbtDt/2hcV0N0BQWgloYUiotfssWR1uIeA6Pr8HHPviQAA"
|
|
}
|
|
},
|
|
"response": {
|
|
"psbt": "cHNidP8BAgQCAAAAAQMEkgAAAAEEAQIBBQECAQYBAwH7BAIAAAAAAQCJAgAAAAH5+Z9NssTFQhFzAFkPSrEKg0AcgN7uwR9geC5Lqd+SfgAAAAAA/f///wJAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWgWzcCwAAAAAiUSBbtDt/2hcV0N0BQWgloYUiotfssWR1uIeA6Pr8HHPviY0AAAABASuBbNwLAAAAACJRIFu0O3/aFxXQ3QFBaCWhhSKi1+yxZHW4h4Do+vwcc++JAQ4g9iEmrLThqBE+s85A7YDjSknUmwNcudNkF7HBMzInESwBDwQBAAAAARAE/f///wz8CWxpZ2h0bmluZwEImfI55kWjFBwAAQCJAgAAAAH5+Z9NssTFQhFzAFkPSrEKg0AcgN7uwR9geC5Lqd+SfgAAAAAA/f///wJAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWgWzcCwAAAAAiUSBbtDt/2hcV0N0BQWgloYUiotfssWR1uIeA6Pr8HHPviY0AAAABAStAQg8AAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWAQVHUiECVw7AtutUVmMwIYOmLqx10I/e62TzE1IZIGXWAcjKUh0hAmaGfDQrglCra07axtuuL95TeCtpzRcTmUn71PIISH/yUq4BDiD2ISastOGoET6zzkDtgONKSdSbA1y502QXscEzMicRLAEPBAAAAAABEAQAAAAADPwJbGlnaHRuaW5nAQijTD4R+uEvhAABAwjOudoLAAAAAAEEIlEgj47URidVfbzMQq4BipxUdKmRKFeSxMqJHB9ZxWZdNGAM/AlsaWdodG5pbmcBCI/PBFM/C09aAAEDCAAAAAAAAAAAAQQiACCT3t0MJlvKhoV20+4uWe67sg68KW5Y9+3Kk9XursCJlgz8CWxpZ2h0bmluZwEIreWkThWNrsoA"
|
|
}
|
|
},
|
|
{
|
|
"request": {
|
|
"id": "example:splice_init#2",
|
|
"method": "splice_init",
|
|
"params": [
|
|
"f62126acb4e1a8113eb3ce40ed80e34a49d49b035cb9d36417b1c1333227112c",
|
|
-105000,
|
|
"cHNidP8BAgQCAAAAAQMElAAAAAEEAQABBQEBAQYBAwH7BAIAAAAAAQMIoIYBAAAAAAABBCJRIMTSgkFfmoHRjgi2GaGdEWuGVssb9JPl9UC797egWEzaAA=="
|
|
]
|
|
},
|
|
"response": {
|
|
"psbt": "cHNidP8BAgQCAAAAAQMElAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQCyAgAAAAL2ISastOGoET6zzkDtgONKSdSbA1y502QXscEzMicRLAEAAAAA/f////YhJqy04agRPrPOQO2A40pJ1JsDXLnTZBexwTMyJxEsAAAAAAAAAAAAAs652gsAAAAAIlEgj47URidVfbzMQq4BipxUdKmRKFeSxMqJHB9ZxWZdNGDgyBAAAAAAACIAIJPe3QwmW8qGhXbT7i5Z7ruyDrwpblj37cqT1e6uwImWkgAAAAEBK+DIEAAAAAAAIgAgk97dDCZbyoaFdtPuLlnuu7IOvCluWPftypPV7q7AiZYBBUdSIQJXDsC261RWYzAhg6YurHXQj97rZPMTUhkgZdYByMpSHSECZoZ8NCuCUKtrTtrG264v3lN4K2nNFxOZSfvU8ghIf/JSrgEOIJW7FYF67zRaxARLQco1KmOXtFQY8yFwpGexdGngFEX4AQ8EAQAAAAEQBAAAAAAM/AlsaWdodG5pbmcBCF4tdoSn7LwCAAEDCAAAAAAAAAAAAQQiACCT3t0MJlvKhoV20+4uWe67sg68KW5Y9+3Kk9XursCJlgz8CWxpZ2h0bmluZwEIGQ1Quuj5CvAAAQMIoIYBAAAAAAABBCJRIMTSgkFfmoHRjgi2GaGdEWuGVssb9JPl9UC797egWEzaDPwJbGlnaHRuaW5nAQi4FyJ2dePgEAA="
|
|
}
|
|
}
|
|
]
|
|
}
|