Challenges May 2020
Projects with Challenges
This is the list of Lightning Network related projects that registered for this HackSprint so far (list grow soon):
RaspiBlitz
Github issues with label "hackathon": https://github.com/rootzoll/raspiblitz/issues?q=is%3Aissue+is%3Aopen+label%3Ahackathon
Video helping you to get started with RaspiBlitz development: https://youtu.be/qTHDkFppsz0
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/raspiblitz
LNbits
https://github.com/arcbtc/lnbits
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-lnbits
In a push to get lnbits new update out and extend its functionality, x3 0.03btc bounties are available for anyone developing extensions. If you're interested in making an extension, pop into the stream for a chat. If the community likes the idea, you can make it and on completion get one of the bounties!
see video: https://www.youtube.com/watch?v=xnHz6NbTgZg
Quickening - Room77 Point of Sale
Github issues starting with "Room77" https://github.com/arcbtc/M5StackSats/issues
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-pos-room77-quickening
TOR2IP-Tunnelservice
A service to give a Lightning node running behind TOR a port on a public IP address.
Subpage with Challenge: TOR2IP-Tunnelservice
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-tor2ip-tunnelservice
Wiki Lightning Spam Protection
Turn this prototype https://github.com/thorie7912/LightningPayment to add a Lightning SpamProtection into a Media Wiki Extension thats easy to install and config on a standard Media Wiki.
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/media-wiki-spam-protection
SendMany App
Project Info: https://github.com/fusion44/sendmany
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-keysendsendmany
LightningATM
Github issues with label "hackathon": github.com/21isenough/LightningATM
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-lightningatm
Bitcoin Bounty Hunt (Online FPS)
Challenges coming up.
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/bitcoin-bounty-hunt-online-fps
Weenode
This is the new name for the cheapnode project: Building the cheapest possible bitcoin fullnode (+lightning and other services) on old Android phones.
Help wanted on Github issues with label "hacksprint"
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-weenode
Rust Lightning network node
Another LN node? Why we need it?
The problem with the existing Lightning node implementations is their very limited extensibility for such things as:
- future LN upgrades (channel factories, pay-to-ec-point, taproot),
- protocols on top of LN (layer 3), like DLCs on LN or proposed Lightspeed payments, which require modification on the structure of the commitment transaction.
We will try to build a node that is highly modular and is ready for the future LN extensions. More information here: https://github.com/LNP-BP/lnpd
During the hackathon we will try to:
- compose core architecture with non-blocking multithreading
- add lightning network wire protocol
- implement BOLT-9 (using rust-lightning it should be simple)
- implement BOLT-1: do connection to other LN nodes + send/receive `connect`, `ping` & `ping` messages
- (optionally) implement gossip protocol
Contact User:Dr-Orlovsky for details
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-rust-ln-node
RTL (Ride The Lightning)
https://github.com/Ride-The-Lightning/RTL
Github issues with label 'hackathon': https://github.com/Ride-The-Lightning/RTL/issues?q=is%3Aissue+is%3Aopen+label%3Ahackathon
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-rtl-ride-the-lightning
c-lightning
User:Cdecker is available on Mattermost for mentoring of c-lightning projects. Feel free to propose your own ideas, and we'll help you design and implement them :-)
Some ideas for projects / challenges:
- Hardware wallet integration: c-lightning has supported external funding via the `fundchannel_start` and `fundchannel_complete` RPC methods for quite some time, in addition the `close_to` parameter allows you to specify where funds should be sent once the channel closes. These can be combined to have all on-chain funds sourced from a hardware wallet and, after they were borrowed to operate a channel, they can be returned to the hardware wallet. The idea here is to write a plugin that interacts with the hardware wallet to fund channels, so funds are only temporarily controlled by c-lightning.
- `hsm_secret` generation from a seed-phrase: c-lightning will securely generate a random seed when first starting a new node. Given the lack of functional backup, and the seed not being sufficient to restore all the state, c-lightning has so not included any seed-phrase to restore the seed. However due to recent improvements both in backups and replicated DB backends, it would be great to also safely store the `hsm_secret` using existing tooling, such as paper backups, encrypted BIP39 seed-phrases, or even steel backups. Goal of this challenge is the creation of a launcher or plugin that takes a seed-phrase and generates the associated `hsm_secret` file.
Need more ideas?
Looking for yet another idea to build a small LApp? Check out Ideas for LApps!
Adding your Project
Feel free to add a challenge yourself! Ask Jeff or Rootzoll on the Mattermost for the password to edit the Wiki-Page. If you have a GitHub Repo best practice is to put the label "hackathon" (yellow) next to issues you like people to join/help for the weekend. If you added a challenge please also get in touch on Mattermost for more information and collaboration.