I attended the Lightning Conference in Berlin last month, where I spoke with several other programmers about lnurl. I expressed my disagreement with the idea behind it - mainly that it should be implemented in the BOLT protocol layer instead. But I was convinced by the others' arguments and support of the lnurl specification and ideas. So I started this project and have since gotten it to a usable state.
What it does
It's a node.js implementation of the lnurl specification. Including:
- encode a URL as bech32-encoded lnurl string
- decode lnurl bech32-encoded string
- run an HTTPS web server that supports the lnurl spec (channelRequest, withdrawRequest, auth/login)
How I built it
lnurl-node is built with node.js and depends on a few other open-source projects.
Challenges I ran into
The lnurl specification is still being developed and clarified so it's a bit of a work-in-progress. I've been in communication the past few weeks with the other programmers working on it.
Accomplishments that I'm proud of
How quickly I was able to get the project in a usable state and that other programmers are already using it.
What I learned
Listening and understanding the needs of other programmers who might use this and how to collaborate to develop/clarify a specification that others might implement.
What's next for lnurl-node
Improve testing, safety and security; continue to improve the specification and the lnurl-node project itself while developing my other projects that depend on it.