diff --git a/README.md b/README.md index bd586e2..d92b828 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,29 @@ -# lsp +# Lightning Service Provider Spec API specifications for Lightning Service Providers The current scope is limited to channel sales and services specifically about your channel and the peer that provides it. Once the important aspects are covered, we may work on liquidity marketplace concepts, and other wallet or info services. + + +## Specs + +### **LSPS.1** [Channel Request](channel-request.md) +A unified channel request API standard for services to buy channels from LSP. This spec supports both just in time channel openings and pre paid channels + + + +## Services +List of Lightning Service Providers that currently or will support LSP specs in future. + +(If you would like to get added to this list, please open a PR and update the table below) + +| Name | Specs | Status | +| ---- | ----------- | ------ | +| Blocktank | LSPS1 | Soon | +| ZeroFeeRouting | ? | ? | +| SwissRouting | ? | ? | +| LNBIG | ? | ? | +| TBD | ? | ? | + + diff --git a/open-channel-via-ln-payment.md b/open-channel-via-ln-payment.md deleted file mode 100644 index 6e3b38f..0000000 --- a/open-channel-via-ln-payment.md +++ /dev/null @@ -1,186 +0,0 @@ -# Protocol Documentation - - -## Table of Contents - -- [lspd.proto](#lspd.proto) - - [ChannelInformationReply](#lspd.ChannelInformationReply) - - [ChannelInformationRequest](#lspd.ChannelInformationRequest) - - [OpenChannelReply](#lspd.OpenChannelReply) - - [OpenChannelRequest](#lspd.OpenChannelRequest) - - [PaymentInformation](#lspd.PaymentInformation) - - [RegisterPaymentReply](#lspd.RegisterPaymentReply) - - [RegisterPaymentRequest](#lspd.RegisterPaymentRequest) - - - - - [ChannelOpener](#lspd.ChannelOpener) - - -- [Scalar Value Types](#scalar-value-types) - - - - -

Top

- -## lspd.proto - - - - - -### ChannelInformationReply - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of of lsp | -| pubkey | [string](#string) | | The identity pubkey of the Lightning node | -| host | [string](#string) | | The network location of the lightning node, e.g. `12.34.56.78:9012` or / `localhost:10011` | -| channel_capacity | [int64](#int64) | | The channel capacity in satoshis | -| target_conf | [int32](#int32) | | The target number of blocks that the funding transaction should be / confirmed by. | -| base_fee_msat | [int64](#int64) | | The base fee charged regardless of the number of milli-satoshis sent. | -| fee_rate | [double](#double) | | The effective fee rate in milli-satoshis. The precision of this value goes / up to 6 decimal places, so 1e-6. | -| time_lock_delta | [uint32](#uint32) | | The required timelock delta for HTLCs forwarded over the channel. | -| min_htlc_msat | [int64](#int64) | | The minimum value in millisatoshi we will require for incoming HTLCs on / the channel. | -| channel_fee_permyriad | [int64](#int64) | | | -| lsp_pubkey | [bytes](#bytes) | | | - - - - - - - - -### ChannelInformationRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| pubkey | [string](#string) | | The identity pubkey of the Lightning node | - - - - - - - - -### OpenChannelReply - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| tx_hash | [string](#string) | | The transaction hash | -| output_index | [uint32](#uint32) | | The output index | - - - - - - - - -### OpenChannelRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| pubkey | [string](#string) | | The identity pubkey of the Lightning node | - - - - - - - - -### PaymentInformation - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| payment_hash | [bytes](#bytes) | | | -| payment_secret | [bytes](#bytes) | | | -| destination | [bytes](#bytes) | | | -| incoming_amount_msat | [int64](#int64) | | | -| outgoing_amount_msat | [int64](#int64) | | | - - - - - - - - -### RegisterPaymentReply - - - - - - - - - -### RegisterPaymentRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| blob | [bytes](#bytes) | | | - - - - - - - - - - - - - - -### ChannelOpener - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| ChannelInformation | [ChannelInformationRequest](#lspd.ChannelInformationRequest) | [ChannelInformationReply](#lspd.ChannelInformationReply) | | -| OpenChannel | [OpenChannelRequest](#lspd.OpenChannelRequest) | [OpenChannelReply](#lspd.OpenChannelReply) | | -| RegisterPayment | [RegisterPaymentRequest](#lspd.RegisterPaymentRequest) | [RegisterPaymentReply](#lspd.RegisterPaymentReply) | | - - - - - -## Scalar Value Types - -| .proto Type | Notes | C++ Type | Java Type | Python Type | -| ----------- | ----- | -------- | --------- | ----------- | -| double | | double | double | float | -| float | | float | float | float | -| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | -| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | -| uint32 | Uses variable-length encoding. | uint32 | int | int/long | -| uint64 | Uses variable-length encoding. | uint64 | long | int/long | -| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | -| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | -| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | -| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | -| sfixed32 | Always four bytes. | int32 | int | int | -| sfixed64 | Always eight bytes. | int64 | long | int/long | -| bool | | bool | boolean | boolean | -| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | -| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | -