With a new implementation like splicing, I am curious what the "adoption" process looks like for getting node operators to use and implement the feature (assuming this is how it works)?
Is this something where you reach out to operators with the new API/docs and work with them to build it into their workflow? What does the testing/release process look like for this? (I apologize in advance if this is already documented somewhere!)
The testing / releasing process is pretty thorough. Other Lightning devs read all the code you’ve written, work to understand it, and review it completely.
At the same time automated tests will create thousands of lightning nodes on an internal test network and purposely use them abusively. If any of these tests fail than it doesn’t get in.
Once through that it will be released as an experimental feature seeking node operators to use and test it in the wild. After staying there for probably quite a while, it would be officially released.
The docs describe how to use it and that’s kind of it. At that point the only way for people to know to use it is digging through the docs or outreach telling people they can.
I suspect the larger nodes are already paying attention though and will eagerly adopt these things without needing any coaxing.
reply
This makes a ton of sense - thanks!
Is there a "Product Manager" of sorts who works with node operators to determine what they want/need or to manage the feature roadmaps? Would this person work as a full-time employee for Blockstream?
I am curious how you "selected" splicing? Was this your first feature in a part of your getting started story you mentioned? Do you work for Blockstream, or did you choose between starting on CLN vs LND, etc?
reply
I thought about contributing to LND but Core Lightning felt like a better fit.
Ironically last year I thought splicing was already done 🤣. What had been done was the spec being completed.
When I realized no one was actually implementing it yet I got excited to do it. The feature just kind of makes logical sense to add. It’s simple conceptually but gets complex as you get into the weeds.
I’m not aware of a product manager over at Blockstream 🤷‍♂️
reply
Thanks for all of the background! I can only imagine the complexity of all of the moving pieces 😅
reply