diff --git a/community-resources/glossary.md b/community-resources/glossary.md index 3245813b..6f9ed7e7 100644 --- a/community-resources/glossary.md +++ b/community-resources/glossary.md @@ -18,7 +18,7 @@ Anchor channels include up to two special outputs called anchors which are used ## Aperture -Aperture is an implementation of a [LSAT](glossary.md#lsat) proxy server developed by [Lightning Labs](glossary.md#lightning-labs). +Aperture is an implementation of a L402 proxy server developed by [Lightning Labs](glossary.md#lightning-labs). ## Asset merge @@ -344,11 +344,11 @@ Loop In is the process of sending on-chain bitcoin and receiving the equivalent Loop Out is the process of making a Lightning payment and receiving an equivalent amount (minus fees) in your [on-chain](glossary.md#on-chain) Bitcoin wallet using [Lightning Loop](glossary.md#loop). -## LSAT +## L402 -The Lightning Service Authentication Token (LSAT) combines [Macaroons](glossary.md#macaroon) with [preimages](glossary.md#preimage) as proof of payment to create tickets for paid APIs or other services that require authentication and payment. +The L402 protocol combines [Macaroons](glossary.md#macaroon) with [preimages](glossary.md#preimage) as proof of payment to create tickets for paid APIs or other services that require authentication and payment. It is named after the HTTP 402 error code. -[Read more: LSAT](../the-lightning-network/l402/) +[Read more: L402](../the-lightning-network/l402/l402.md) ## Macaroon @@ -402,7 +402,7 @@ Neutrino is a technology that allows a [LND](glossary.md#the-lightning-network-d Noise is the encryption protocol used to establish and authenticate communications between Lightning nodes. -[Further reading: Noise protocol](http://noiseprotocol.org/) +[Further reading: Noise protocol](https://noiseprotocol.org/) ## np2wkh @@ -422,7 +422,7 @@ An onion address is an identifier, similar to a url, pointing to a -> onion serv ## Onion routing -Onion routing describes the methodology of encrypting messages inside of encrypted messages, which are passed from hop to hop. Each hop is only able to decipher messages intended for itself, not any predecessor or successor. Onion routing is used to transfer data in the [Tor Network](glossary.md#tor) as well as to pass on payments and messages in the Lightning Network using [Sphinx](glossary.md#sphinx). +Onion routing describes the methodology of encrypting messages inside of encrypted messages, which are passed from hop to hop. Each hop is only able to decipher messages intended for itself, not any predecessor or successor. Onion routing is used to transfer data in the [Tor Network](glossary.md#tor) as well as to pass on payments and messages in the Lightning Network using Sphinx. ## Onion Service diff --git a/community-resources/lightning-bulb.md b/community-resources/lightning-bulb.md index 7408734a..0b0e972f 100644 --- a/community-resources/lightning-bulb.md +++ b/community-resources/lightning-bulb.md @@ -17,7 +17,7 @@ We are here to help. If you have questions or need to bounce ideas around, feel **A native interface to Lightning on the web** * New Lightning browser extensions like [Joule](https://lightningjoule.com/) and the [Lightning Browser Extension](https://github.com/bumi/lightning-browser-extension) built on the [WebLN](https://webln.dev/#/) standard. -* Suggestion: extending [WebLN](https://webln.dev/#/) to encompass liquidity APIs [Loop](https://lightning.engineering/loop) and [Pool](https://lightning.engineering/pool) as well as any other Lightning APIs. +* Suggestion: extending [WebLN](https://webln.dev/#/) to encompass liquidity APIs [Loop](../lightning-network-tools/loop/) and [Pool](../lightning-network-tools/pool/) as well as any other Lightning APIs. **Streaming payments on social platforms** @@ -26,7 +26,7 @@ We are here to help. If you have questions or need to bounce ideas around, feel **Distributed compute with Lightning** -* Use [LSATs](https://lsat.tech) for a decentralized metered container execution service (like [Travis CI](https://travis-ci.org/)). Will have with the potential to reach a more global audience without the requirement of credit cards. +* Use [L402s](https://l402.org/) for a decentralized metered container execution service (like [Travis CI](https://travis-ci.org/)). Will have with the potential to reach a more global audience without the requirement of credit cards. * Suggestion: think serverless microVMs like [Firecracker VM](https://firecracker-microvm.github.io/) as a starting point, will likely need a small overlay layer to let people find other nodes. **Lightning Paywall Plugin** @@ -36,33 +36,33 @@ We are here to help. If you have questions or need to bounce ideas around, feel **Pay-per-use Lightning API calls** -* Create APIs where all requests and responses are made with Lightning push payments with [Keysend](https://wiki.ion.radar.tech/tech/research/sphinx-send), instead of requiring an invoice +* Create APIs where all requests and responses are made with Lightning push payments with [Keysend](../lightning-network-tools/lnd/send-messages-with-keysend.md), instead of requiring an invoice * Suggestions: a Keysend Services Directory, ability to sell Mission Control data to a peer in need of updated routing data, etc. -## LSAT implementation ideas +## L402 implementation ideas -Lightning Service Authentication Tokens (LSATs) allow for paid APIs in distributed systems. LSATs are built on top of Macaroons -- they can carry caveats, attenuations, can be delegated and further restricted by the bearer. +L402s allow for paid APIs in distributed systems. L402s are built on top of Macaroons -- they can carry caveats, be attenuated, can be delegated and further restricted by the bearer. -Implementing LSATs is most attractive in services that require metered or paid access together with granular access control. A key advantage of LSATs is that the logic of collecting payments can be separate from verifying access, often without the need to maintain customer records or expose them to the open internet. +Implementing L402s is most attractive in services that require metered or paid access together with granular access control. A key advantage of L402s is that the logic of collecting payments can be separate from verifying access, often without the need to maintain customer records or expose them to the open internet. -Here are just some initial ideas for potential LSAT powered products: +Here are just some initial ideas for potential L402 powered products: * Bitcoin price API -There are many APIs for obtaining Bitcoin prices, some paid, others free. A Bitcoin price API built with LSATs may issue a macaroon to each new user, allowing for some free usage. Upon hitting a daily or total limit, the API can issue an LSAT together with a Lightning invoice. There could be separate pricing for surge traffic or historic data. One idea is to issue LSATs that include a “delay” as a caveat. Free access requests are served after a few seconds, while paid access is served immediately. +There are many APIs for obtaining Bitcoin prices, some paid, others free. A Bitcoin price API built with L402s may issue a macaroon to each new user, allowing for some free usage. Upon hitting a daily or total limit, the API can issue an L402 together with a Lightning invoice. There could be separate pricing for surge traffic or historic data. One idea is to issue L402s that include a “delay” as a caveat. Free access requests are served after a few seconds, while paid access is served immediately. * Virtual Private Network -A VPN provider can use LSATs to sell bandwidth, adjusting their rates by location and speed. This makes it easy to integrate the VPN service into other products, resell bandwidth or share bandwidth between users or applications. +A VPN provider can use L402s to sell bandwidth, adjusting their rates by location and speed. This makes it easy to integrate the VPN service into other products, resell bandwidth or share bandwidth between users or applications. * Voice over IP gateway -There are plenty of low-fee VoIP gateways, troubled by high payment costs. A VoIP gateway using LSATs could quickly become attractive for other applications to integrate once pay-as-you-go plans over Lightning become available. LSATs could be obtained for a set amount of minutes, a monthly plan or for each call separately, turning every Lightning wallet also into a phone, fax or SMS application. +There are plenty of low-fee VoIP gateways, troubled by high payment costs. A VoIP gateway using L402s could quickly become attractive for other applications to integrate once pay-as-you-go plans over Lightning become available. L402s could be obtained for a set amount of minutes, a monthly plan or for each call separately, turning every Lightning wallet also into a phone, fax or SMS application. * Podcasts and movies -Podcasts could become available with advertisements to the general public, and without ads to paying subscribers. LSATs issued to the subscriber define which episodes and versions are available. The paying subscriber can also share an attenuated LSAT with their friends that lets them listen to a single episode without having to pay for it. This can be implemented into existing infrastructure without breaking backwards compatibility. +Podcasts could become available with advertisements to the general public, and without ads to paying subscribers. L402s issued to the subscriber define which episodes and versions are available. The paying subscriber can also share an attenuated L402 with their friends that lets them listen to a single episode without having to pay for it. This can be implemented into existing infrastructure without breaking backwards compatibility. * Cloud storage (differentiated by speed, per bandwidth or by storage, delegate access) -A cloud storage provider can sell their space and bandwidth and use LSATs to track payments and organize access control. A user can attenuate their LSATs and share them among their separate devices or even specific files with friends. +A cloud storage provider can sell their space and bandwidth and use L402s to track payments and organize access control. A user can attenuate their L402s and share them among their separate devices or even specific files with friends. diff --git a/community-resources/resource-list.md b/community-resources/resource-list.md index 8d5b84ef..60b302e3 100644 --- a/community-resources/resource-list.md +++ b/community-resources/resource-list.md @@ -22,7 +22,6 @@ description: >- * [Blixt Wallet](https://blixtwallet.github.io) ([Github](https://github.com/hsjoberg/blixt-wallet)) - available in Google Play and for iOS * [Breez](https://breez.technology) ([Github](https://github.com/breez/breezmobile)) - available in Google Play and for iOS * [Electrum](https://electrum.org) ([Github](https://github.com/spesmilo/electrum)) - available for Linux, OSX, Windows and Android -* [Mash](https://app.mash.com/wallet) - available for all browsers * [Mutiny](https://app.mutinywallet.com/) ([Github](https://github.com/MutinyWallet/)) - available for all browsers * [Muun](https://muun.com) ([Github](https://github.com/muun)) - available on Google Play and the Apple AppStore * [Open Bitcoin Wallet](https://f-droid.org/en/packages/wtf.nbd.obw/) ([Github](https://github.com/nbd-wtf/obw)) - available in F-Droid @@ -37,7 +36,6 @@ description: >- * [Strike](https://strike.me) - available in Google Play, the Apple AppStore and Chrome * [Wallet of Satoshi](https://walletofsatoshi.com) - available in Google Play and the Apple AppStore * [Bottlepay](https://bottlepay.com) - available in Google Play and the Apple AppStore -* [Mash](https://getmash.com/wallet) - lightning wallet that integrates directly into sites, apps and launching shortly in browser extension, mobile app form. * [Alby](https://getalby.com/) ([Github](https://github.com/getAlby/lightning-browser-extension)) - connect various wallet interfaces to this browser extension for web-native payments. And login with lightning. Available for Firefox, Chrome, Brave and others ### Lightning node interfaces @@ -48,7 +46,6 @@ description: >- ## Explorers * [1ML](https://1ml.com) - Lightning network and node statistics -* [ACINQ](https://explorer.acinq.co) - Geographical distribution of Lightning nodes * [Amboss](https://amboss.space) - Detailed information on channels and fee rates * [Cheese Robot](https://t.me/cheeserobot) - Telegram bot with Lightning Network explorer capabilities * [Lightning Terminal](https://terminal.lightning.engineering) - Evaluating channels and peers @@ -66,8 +63,6 @@ description: >- * [Sphinx Relay](https://github.com/stakwork/sphinx-relay) - e2e encrypted group chat enabled by a Node.js wrapper around lnd * [Thunderhub](https://github.com/apotdevin/thunderhub) - node management via a NextJS server handling a backend Graphql server and frontend React App * [TLV shop](https://github.com/joostjager/tlvshop.com) - webshop with no browser, shopping cart, checkout page, nor credit card required -* [LightningStamp](https://lightningstamp.bitcoinproof.org) - create timestamped proofs of existence for your files (OpentimeStamps or Chainpoint) -* [Mash](https://getmash.com) - monetize your apps by integrating an open consumer lightning wallet, paywalls, and payment faciliation mechanisms with a few snippets of code * [sms4sats](https://sms4sats.com) - send text messages and receive sms for online services on the web and via API * [lightsats](https://lightsats.com) - Onboard newbies with lightning tips * [LNURL Auth For WordPress](https://wordpress.org/plugins/lnurl-auth/) - Login to WordPress with Bitcoin Lightning @@ -86,17 +81,15 @@ description: >- * [ln-service](https://github.com/alexbosworth/ln-service) - Node.js REST interface to lnd * [LNbits](https://github.com/lnbits/lnbits) - Simple Python server that provides an account system, extension framework, and more on top of lnd * [lndhub](https://github.com/BlueWallet/LndHub) - Wrapper for lnd that provides separate accounts for users sharing a node -* [lsat-js](https://github.com/Tierion/lsat-js) - A javascript library for working with LSATs +* [lsat-js](https://github.com/Tierion/lsat-js) - A javascript library for working with L402s * [Polar](https://github.com/jamaljsr/polar) - One-click Bitcoin Lightning networks for local app development and testing * [WebLN](https://webln.dev/#/) - A library for secure communication between Lightning apps and user nodes -* [Dazaar](https://dazaar.com) - A library to sell data over a P2P network. * [rebalance-lnd](https://github.com/C-Otto/rebalance-lnd) Python script for circular rebalancing in LND * [Faraday](https://github.com/lightninglabs/faraday) - A suite of tools built to help node operators and businesses run lnd, the leading implementation of the Lightning Network ## Wikis, Guides & Resources * Alby's [WebLN Guide](https://www.webln.guide/introduction/welcome) -* Lightning Network Wiki [ION](https://wiki.ion.radar.tech) * Ben Congdon's[ Awesome Lightning Network](https://github.com/bcongdon/awesome-lightning-network) * Electric Capital's[ Lightning Ecosystem Repository](https://github.com/electric-capital/crypto-ecosystems/blob/master/data/ecosystems/l/lightning.toml) * Jameson Lopp's[ Lightning Network Resources](https://www.lopp.net/lightning-information.html) @@ -106,8 +99,6 @@ description: >- * [Bitfinex Pay](https://pay.bitfinex.com) * [Coingate](https://coingate.com) -* [Globee](https://globee.com) -* [LNPay](https://lnpay.co) * [OpenNode](https://www.opennode.com) * [BTCPayServer](https://docs.btcpayserver.org) * [LNBits](https://lnbits.com/) @@ -116,26 +107,21 @@ description: >- ## Exchanges & Brokerages * [Azteco](https://azte.co) +* [Binance](https://www.binance.com) * [Bipa](https://bipa.app) * [Bitaroo](https://www.bitaroo.com.au) * [Bitfinex](https://www.bitfinex.com) * [Boltz](https://boltz.exchange) -* [Buda](https://www.buda.com) +* [Coinbase](https://www.coinbase.com) * [Coincorner](https://www.coincorner.com) -* [Fastbitcoins](https://fastbitcoins.com) * [FixedFloat](https://fixedfloat.com) -* [Kollider](https://kollider.xyz) * [Kraken](https://www.kraken.com/) * [LNMarkets](https://lnmarkets.com) * [LOFT](https://loft.trade) * [Mt Pelerin](https://www.mtpelerin.com/buy-bitcoin-lightning) * [NiceHash](https://www.nicehash.com) -* [OKCoin](https://www.okcoin.com) -* [OKEX](https://www.okex.com) +* [OKX](https://www.okx.com/) * [River Financial](https://river.com) -* [The Rock Trading](https://www.therocktrading.com) * [Strike](https://strike.me) * [Southxchange](https://main.southxchange.com) * [VBTC](https://vbtc.exchange) - -[Something missing? Fill out this form to let us know or have your project included!](https://docs.google.com/forms/d/e/1FAIpQLSdT6kP3oUzd6xWytkDcflU9byHcp8nP9IyYntm\_6wa9Cw6qqg/viewform) diff --git a/lightning-network-tools/lightning-terminal/introduction.md b/lightning-network-tools/lightning-terminal/introduction.md index 5eaf1e25..874e1b66 100644 --- a/lightning-network-tools/lightning-terminal/introduction.md +++ b/lightning-network-tools/lightning-terminal/introduction.md @@ -14,7 +14,7 @@ By bringing Terminal to the web, we can deliver some of the familiar features of ### Easy to run -To make use of Terminal, you will need to run `litd` together with `lnd`, either on the same or separate machines. After browsing to [terminal.lightning.engineering](http://terminal.lightning.engineering) and [initializing your session](connect.md) with Lightning Node Connect, you can enjoy all features of Terminal and interact with your node from your browser. +To make use of Terminal, you will need to run `litd` together with `lnd`, either on the same or separate machines. After browsing to t[erminal.lightning.engineering](https://terminal.lightning.engineering) and [initializing your session](connect.md) with Lightning Node Connect, you can enjoy all features of Terminal and interact with your node from your browser. ### Top performing nodes diff --git a/lightning-network-tools/lnd/htlc-interceptor.md b/lightning-network-tools/lnd/htlc-interceptor.md index ecf72a6b..e2210e56 100644 --- a/lightning-network-tools/lnd/htlc-interceptor.md +++ b/lightning-network-tools/lnd/htlc-interceptor.md @@ -294,14 +294,14 @@ func (i *interceptor) htlcReceiveLoop(ctx context.Context, ### lndclient: -[https://github.com/lightninglabs/lndclient/blob/master/router\_client.go#L58](https://github.com/lightninglabs/lndclient/blob/master/router\_client.go#L58) +[https://github.com/lightninglabs/lndclient/blob/master/router\_client.go#L58](https://github.com/lightninglabs/lndclient/blob/fb7026e398a92971a829c4a48adbafa2bb3b964c/router\_client.go#L289C1-L357C2) ```go // InterceptedHtlc contains information about a htlc that was intercepted in // lnd's switch. type InterceptedHtlc struct { // IncomingCircuitKey is lnd's unique identfier for the incoming htlc. - IncomingCircuitKey channeldb.CircuitKey + IncomingCircuitKey invpkg.CircuitKey // Hash is the payment hash for the htlc. This may not be unique for // MPP htlcs. @@ -323,6 +323,13 @@ type InterceptedHtlc struct { // Since lnd has non-strict forwarding, this may not be the channel that // the htlc ends up being forwarded on. OutgoingChannelID lnwire.ShortChannelID + + // CustomRecords holds the custom TLV records that were added to the + // payment. + CustomRecords map[uint64][]byte + + // OnionBlob is the onion blob for the next hop. + OnionBlob []byte } // HtlcInterceptHandler is a function signature for handling code for htlc diff --git a/lightning-network-tools/lnd/recovery-planning-for-failure.md b/lightning-network-tools/lnd/recovery-planning-for-failure.md index 8776c7ab..4bfcdcd2 100644 --- a/lightning-network-tools/lnd/recovery-planning-for-failure.md +++ b/lightning-network-tools/lnd/recovery-planning-for-failure.md @@ -60,4 +60,4 @@ Generally, if we have a channel with a peer that we don’t expect to come back ## Be #craeful not #reckless -The Lightning Network offers a multitude of options to recover from failure. LND continues to improve and eliminate bugs that might lead to a fatal node failure. If you encounter a bug, [file an issue](https://github.com/lightningnetwork/lnd/issues/) or contact us through[ Slack](https://lightning.engineering/slack.html),[ Discord](https://discord.gg/9u83Jxeu), and[ Twitter](http://twitter.com/lightning)! +The Lightning Network offers a multitude of options to recover from failure. LND continues to improve and eliminate bugs that might lead to a fatal node failure. If you encounter a bug, [file an issue](https://github.com/lightningnetwork/lnd/issues/) or contact us through[ Slack](https://lightning.engineering/slack.html),[ Discord](https://discord.gg/9u83Jxeu), and [Twitter](https://x.com/lightning/)! diff --git a/lightning-network-tools/lnd/rpc-middleware-interceptor.md b/lightning-network-tools/lnd/rpc-middleware-interceptor.md index ae5da917..8b37a774 100644 --- a/lightning-network-tools/lnd/rpc-middleware-interceptor.md +++ b/lightning-network-tools/lnd/rpc-middleware-interceptor.md @@ -136,7 +136,7 @@ func (s *InterceptorService) Intercept(ctx context.Context, ### lndclient: -[https://github.com/lightninglabs/lndclient/blob/master/lightning\_client.go#L256](https://github.com/lightninglabs/lndclient/blob/master/lightning\_client.go#L256) +[https://github.com/lightninglabs/lndclient/blob/master/lightning\_client.go](https://github.com/lightninglabs/lndclient/blob/master/lightning\_client.go) ```go // RegisterRPCMiddleware adds a new gRPC middleware to the interceptor diff --git a/the-lightning-network/taproot-assets/taproot-assets-protocol.md b/the-lightning-network/taproot-assets/taproot-assets-protocol.md index db5e42dc..4247dab1 100644 --- a/the-lightning-network/taproot-assets/taproot-assets-protocol.md +++ b/the-lightning-network/taproot-assets/taproot-assets-protocol.md @@ -13,10 +13,10 @@ To understand Taproot Assets, we will need to make ourselves familiar with sever [Read the BIPs: Taproot Assets Protocol](https://github.com/Roasbeef/bips/blob/bip-tap/bip-tap.mediawiki) Learn about the basic concepts here:\ -[Public-key cryptography](https://www.cloudflare.com/en-ca/learning/ssl/how-does-public-key-encryption-work/)\ +[Public-key cryptography](https://www.cloudflare.com/learning/ssl/how-does-public-key-encryption-work/)\ [Cryptographic Hashes](https://resources.infosecinstitute.com/topic/introduction-to-hash-functions/)\ [Merkle trees](https://nakamoto.com/merkle-trees/)\ -[Bitcoin UTXO](https://mirror.xyz/0xaFaBa30769374EA0F971300dE79c62Bf94B464d5/Yetu-6pZkbQCOpsBxswn\_7dGUZDxoBU8NrOQIZScwpg) +[Bitcoin UTXO](https://unchained.com/blog/what-is-a-utxo-bitcoin/) ### Taproot transactions