#LightningHackdayMUC Sponsored by
https://shiftcrypto.ch Hardware wallets
https://www.nodl.it Easy bitcoin Lighting full node
https://www.puzzle.ch
https://fulgur.ventures VC focusing on Lightning network startups
http://lightningpay.com high liquidity, high capacity channels to merchants and en...
## Alekos Filini on Setting Up C-Lightning Auctions in 20 Minutes: A Summary
This podcast episode features Malikos, an engineering intern at Blockstream, demonstrating how to set up a functional auction system on the Lightning Network using C-lightning plugins. The session is primarily a live coding demonstration, showcasing the flexibility and power of C-lightning's plugin system. Malikos walks listeners through the entire process, from initial setup to debugging, highlighting the ability to extend Lightning's functionality and gain granular control over payment acceptance. The goal is to move beyond the default behavior of Lightning, which automatically accepts payments, and instead implement a system where payments are held temporarily, allowing for decisions based on factors like competing bids.
The demonstration utilizes a Node.js server with web sockets for communication between the auction interface and the Lightning node, and leverages C-lightning's Remote Procedure Call (RPC) capabilities. A key feature showcased is the ability to create invoices without specifying an amount, enabling the sender to determine the payment amount. Malikos also emphasizes privacy considerations, ensuring the highest bidder's client ID remains concealed. The process involves creating a plugin that intercepts incoming payments, allowing for custom logic to be executed and the ability to accept or reject payments based on auction rules. The live coding segment also reveals the challenges of real-time development, with Malikos troubleshooting errors and demonstrating how to debug a complex system.
Main Topics Discussed:
- C-lightning Plugins: The core focus is on the plugin system for extending C-lightning's functionality.
- Auction System: Building an auction system on Lightning using plugins to handle bids and refunds.
- Payment Control: Implementing a system to hold and decide whether to accept or reject incoming payments.
- Plugin Architecture: Understanding plugin structure, manifest files, and UX hooks for controlling node behavior.
- UX Hooks: Utilizing UX hooks to actively control Lightning node actions, such as accepting/rejecting connections and handling payments.
- Payment Handling: Receiving, processing, and rejecting incoming payments with appropriate failure codes.
- Engine Integration: Integrating payment handling with an auction engine for decision-making.
- Debugging: Real-time troubleshooting and debugging of the plugin code.
- Node Management: Spawning and managing multiple Lightning nodes for testing.
- Payment Routing & Retries: Understanding how Lightning attempts to route payments and retry failed transactions.
Key Quotes:
- "Thankfully with plugins you can basically change the behavior of lighting...and basically take the decision yourself that would normally be taken by still lighting."
- "We want to force people to not only just increase the amount a little bit but increase it of at least mean bump."
- "Lightning is just gonna notify you that you receive the payment but it’s gonna accept it."
- "UX allow you to also change the behavior of lightning."
People Mentioned:
- Malikos: Speaker, engineering intern at Blockstream, demonstrating the plugin development process.
- Alekos Filini: Podcast host (implied).
Bitcoin Price:
- No specific Bitcoin prices were mentioned. The discussion revolved around millisatoshes (a small unit of Bitcoin).