Was this page helpful?
Channel Establishment
Channel Establishment Sequence
BOLT #2 - Channel Establishment
State Notation | Signer State |
---|---|
H[] C[] |
no holder commitment, no counterparty commitment |
H[0] C[0] |
holder initial commitment, counterparty initial commitment |
H[n] C[m] |
holder commitment n, counterparty commitment m |
H[n,n+1] C[m] |
holder commitment n and n+1, counterparty commitment m |
H[n]* |
holder base commitment, splice, and RBF candidates for n |
H[n,n+1]* |
holder base commitment, splice, and RBF candidates for n and n+1 |
sequenceDiagram autonumber participant Signer-A participant Node-A participant Node-B participant Signer-B activate Node-A Note over Node-A: Fund New Channel Node-A->>+Signer-A: NewChannel Signer-A-->>-Node-A: Node-A->>Node-B: open_channel activate Node-B Node-B->>+Signer-B: NewChannel Signer-B-->>-Node-B: Node-B->>Node-A: accept_channel Node-A->>+Signer-A: SetupChannel Signer-A-->>-Node-A: Note over Signer-A: H[] C[] Node-A->>+Signer-A: SignCounterpartyCommitment(0) Signer-A-->>-Node-A: Note over Signer-A: H[] C[0] Node-A->>Node-B: funding_created Node-B->>+Signer-B: SetupChannel Signer-B-->>-Node-B: Note over Signer-B: H[] C[] Node-B->>+Signer-B: ValidateHolderCommitment(0) Signer-B-->>-Node-B: Note over Signer-B: H[0] C[] Node-B->>+Signer-B: SignCounterpartyCommitment(0) Signer-B-->>-Node-B: Note over Signer-B: H[0] C[0] Node-B->>Node-A: funding_signed Node-A ->>+Signer-A : ValidateHolderCommitment(0) Signer-A -->>-Node-A : Note over Signer-A : H[0] C[0] Node-A ->>+Signer-A : SignOnchainTx Signer-A -->>-Node-A : Node-A ->>+Signer-A : CheckOutpoint Signer-A -->>-Node-A : Node-A->>Node-B: channel_ready Node-B ->>+Signer-B : CheckOutpoint Signer-B -->>-Node-B : Node-B ->>+Signer-B : LockOutpoint Signer-B -->>-Node-B : Node-B->>Node-A: channel_ready deactivate Node-B Node-A ->>+Signer-A : LockOutpoint Signer-A -->>-Node-A : deactivate Node-A
Build
Resources
Community
© 2025 VLS Developers