Difference between pages "Lightning HackSprint May 2020" and "Challenges May 2020"

From fulmo
(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
 +
==How to participate==
  
Hi everybody ... so with all the changed situation, we will do an online "Lightning Hacksprint" instead of the usual "Lightning Hackday". It will be a smaller event, putting more focus on contributing to already existing Lightning Network projects. It's mostly coding, but also testing and media documentation (e.g. tutorials, moderated discussions, etc.) is very welcome.
+
If you like to get a better overview of the challenges, join the [https://youtu.be/XvPkyVIPIfY kickoff livestream]. You may also join later on.  
  
This Wiki was created to collect all important information around the event and for the later documentation of outcomes. Feel free to create your own project subpage.
+
Most projects listed their challenges as sprint issues on Github with the lable "hackathon". Simply comment on those that you are interested in and the project mentors should get back to you.
  
=== Basic Timetable ===
+
To participate please register on our [https://mm.fulmo.org Mattermost] (OpenSource Slack) and check if there is already a chat room regarding the project you are interested. In the channel "[https://mm.fulmo.org/fulmo/channels/lightning-hacksprint Lightning HackSprint]" should always be someone around to point you into the right direction if you have any further questions.
  
'''Saturday/Sunday, April 4th/5th 2020'''
+
==Projects with Challenges==
  
* Warm-Up Saturday 11am (BerlinTime - [https://www.timeanddate.com/worldclock/fixedtime.html?msg=Lightning+HackSprint+-+WarmUp&iso=20200404T11&p1=37&ah=2 see your LocalTime]) -  [https://meet.fulmo.org/LightningHacksprintLobby Join the Jitsi call!] 📞
+
This is the list of Lightning Network related projects that registered for the HackSprint so far:
* Kick-Off Saturday 1pm (BerlinTime - [https://www.timeanddate.com/worldclock/fixedtime.html?msg=Lightning+HackSprint+-+KickOff&iso=20200404T13&p1=37&am=30 see your LocalTime]) - [https://youtu.be/XvPkyVIPIfY Join YouTube-Livestream]
 
* Wrap-Up Sunday 8pm (BerlinTime - [https://www.timeanddate.com/worldclock/fixedtime.html?msg=Lightning+HackSprint+-+WrapUp&iso=20200405T20&p1=37&ah=1 see your LocalTime])
 
  
=== Tools & Links ===
+
===RaspiBlitz===
  
These are the tools we will use during the HackSprint:
+
Github issues with label "hackathon": [https://github.com/rootzoll/raspiblitz/issues?q=is%3Aopen+is%3Aissue+label%3Ahackathon github.com/rootzoll/raspiblitz]
  
* [https://mm.fulmo.org Fulmo-Mattermost] a OpenSource Slack for group chats & basic coordination
 
* [https://meet.fulmo.org Fulmo-Jitsi] for group video chats if you need a room to exchange in person.
 
  
=== Call for challenges ===
+
===LightningATM===
  
If you have a Lightning Network project feel free to make it part of this Lightning Hacksprint. Give us a short message (on our [https://mm.fulmo.org Fulmo-Mattermost] or [https://twitter.com/rootzoll Twitter]) with the link to your Github-Repo and start putting the label "hackathon" (yellow) next to issues you like people to join/help for the weekend.
+
Github issues with label "hackathon": [https://github.com/21isenough/LightningATM/issues?q=is%3Aissue+is%3Aopen+label%3Ahackathon github.com/21isenough/LightningATM]
  
See the list of [[challenges]] so far.
 
  
=== Bounties ===
+
===LNbits===
  
If you would like to incentivize someone to work on a specific challenge, you can put up a bounty. It should be clear under what conditions a bounty is granted, otherwise just be creative!
+
https://github.com/arcbtc/lnbits
  
See the list of [[bounties]] so far.
+
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-lnbits
  
=== Self-organized Sessions ===
+
===RTL (Ride The Lightning)===
  
The weekend is ours - check out or add [[Self-organized Sessions]] around the HackSprint.
+
https://github.com/Ride-The-Lightning/RTL
 +
 
 +
 
 +
===Quickening - Room77 Point of Sale===
 +
 
 +
https://github.com/arcbtc/M5StackSats
 +
 
 +
 
 +
===Lightnite===
 +
 
 +
https://issues.lightnite.io
 +
 
 +
 
 +
===Specter-Desktop===
 +
 
 +
https://github.com/rootzoll/raspiblitz/issues/1059#issuecomment-605526623
 +
 
 +
 
 +
===TOR2IP-Tunnelservice===
 +
 
 +
[[TOR2IP-Tunnelservice]]
 +
 
 +
 
 +
===SendMany App===
 +
 
 +
https://github.com/fusion44/sendmany
 +
https://github.com/rootzoll/raspiblitz/issues/1000#issuecomment-605526180
 +
 
 +
 
 +
===Wiki Lightning Spam Protection===
 +
 
 +
Turn this prototype https://github.com/thorie7912/LightningPayment to add a Lightning SpamProtection into a [https://en.wikipedia.org/wiki/MediaWiki_extension Media Wiki Extension] thats easy to install and config on a standard Media Wiki.
 +
 
 +
===The Eye of Satoshi (python-teos)===
 +
 
 +
Github issues with label "hackathon": [https://github.com/talaia-labs/python-teos/labels/hackathon github.com/talaia-labs/python-teos]
 +
 
 +
 
 +
===Exchange Union/OpenDEX===
 +
 
 +
Integrate c-lightning as swap client (and more): https://github.com/ExchangeUnion/xud/issues?q=is%3Aopen+is%3Aissue+label%3Ahackathon
 +
 
 +
 
 +
===getroutevia: a c-lightning plugin for route search with restrictions===
 +
 
 +
Find routes that satisfy additional criteria, for instance, must [not] go through certain nodes. More info and discussion here: https://github.com/s-tikhomirov/getroutevia/issues/1
 +
 
 +
 
 +
===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 [https://hackmd.io/@lpQxZaCeTG6OJZI3awxQPQ/LN-DLC DLCs on LN] or proposed [https://github.com/LNP-BP/lnpbps/issues/24 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
 +
 
 +
 
 +
===Weenode===
 +
 
 +
This is the new name for the [https://blog.bitcoinprivacy.net/2019/12/20/news-from-the-cheapnode-project/ cheapnode project].
 +
Help wanted on [https://github.com/bitcoinprivacy/weenode/labels/hacksprint Github issues with label "hacksprint"]
 +
 
 +
 
 +
===Backup plugin for c-lightning===
 +
 
 +
Backups are a major issue in the Lightning Protocol, given that any sort of
 +
dataloss could potentially result in loss of funds. This means that restoring
 +
an old backup of the database could result in the node broadcasting an old
 +
state, which is a cheat attempt in the protocol, which is punished.
 +
 
 +
The backup c-lightning plugin (https://github.com/lightningd/plugins/pull/97)
 +
implements the basic mechanisms to create a synchronous backup of
 +
any change to the database, and ensures that the backup stays in sync with the
 +
database. It does so in a generic way allowing to write backups to a variety
 +
of backends, but initially only implements a file-system based backup backend
 +
that is located on the same machine, but on a separate disk. Doing so already
 +
provides protection against data corruption on the primary disk. Potential
 +
future improvements could include:
 +
 
 +
* Backup to Google services. Examples include:
 +
** GDrive
 +
** Google Docs - Sheets
 +
** Google Cloud Storage
 +
* Backup to Dropbox
 +
* Send backup data to a peer using the custommsg hook
 +
* Backups to a dedicated backup server
 +
 
 +
In the case of a dedicated backup server the plugin could also manage a
 +
subscription that is used to pay for the backup service.
 +
 
 +
[[User:cdecker]] is available for additional information and mentorship. See his [[User:cdecker|Wiki page]] for contact information.
 +
 
 +
==Adding your Project==
 +
 
 +
Feel free to add a challenge yourself! The wiki is open to any Bolter (you'll figure out how to edit.) Get in touch on [https://mm.fulmo.org/fulmo/channels/lightning-hacksprint Mattermost] for more information and collaboration.

Revision as of 22:05, 3 April 2020

How to participate

If you like to get a better overview of the challenges, join the kickoff livestream. You may also join later on.

Most projects listed their challenges as sprint issues on Github with the lable "hackathon". Simply comment on those that you are interested in and the project mentors should get back to you.

To participate please register on our Mattermost (OpenSource Slack) and check if there is already a chat room regarding the project you are interested. In the channel "Lightning HackSprint" should always be someone around to point you into the right direction if you have any further questions.

Projects with Challenges

This is the list of Lightning Network related projects that registered for the HackSprint so far:

RaspiBlitz

Github issues with label "hackathon": github.com/rootzoll/raspiblitz


LightningATM

Github issues with label "hackathon": github.com/21isenough/LightningATM


LNbits

https://github.com/arcbtc/lnbits

Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-lnbits

RTL (Ride The Lightning)

https://github.com/Ride-The-Lightning/RTL


Quickening - Room77 Point of Sale

https://github.com/arcbtc/M5StackSats


Lightnite

https://issues.lightnite.io


Specter-Desktop

https://github.com/rootzoll/raspiblitz/issues/1059#issuecomment-605526623


TOR2IP-Tunnelservice

TOR2IP-Tunnelservice


SendMany App

https://github.com/fusion44/sendmany https://github.com/rootzoll/raspiblitz/issues/1000#issuecomment-605526180


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.

The Eye of Satoshi (python-teos)

Github issues with label "hackathon": github.com/talaia-labs/python-teos


Exchange Union/OpenDEX

Integrate c-lightning as swap client (and more): https://github.com/ExchangeUnion/xud/issues?q=is%3Aopen+is%3Aissue+label%3Ahackathon


getroutevia: a c-lightning plugin for route search with restrictions

Find routes that satisfy additional criteria, for instance, must [not] go through certain nodes. More info and discussion here: https://github.com/s-tikhomirov/getroutevia/issues/1


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


Weenode

This is the new name for the cheapnode project. Help wanted on Github issues with label "hacksprint"


Backup plugin for c-lightning

Backups are a major issue in the Lightning Protocol, given that any sort of dataloss could potentially result in loss of funds. This means that restoring an old backup of the database could result in the node broadcasting an old state, which is a cheat attempt in the protocol, which is punished.

The backup c-lightning plugin (https://github.com/lightningd/plugins/pull/97) implements the basic mechanisms to create a synchronous backup of any change to the database, and ensures that the backup stays in sync with the database. It does so in a generic way allowing to write backups to a variety of backends, but initially only implements a file-system based backup backend that is located on the same machine, but on a separate disk. Doing so already provides protection against data corruption on the primary disk. Potential future improvements could include:

  • Backup to Google services. Examples include:
    • GDrive
    • Google Docs - Sheets
    • Google Cloud Storage
  • Backup to Dropbox
  • Send backup data to a peer using the custommsg hook
  • Backups to a dedicated backup server

In the case of a dedicated backup server the plugin could also manage a subscription that is used to pay for the backup service.

User:cdecker is available for additional information and mentorship. See his Wiki page for contact information.

Adding your Project

Feel free to add a challenge yourself! The wiki is open to any Bolter (you'll figure out how to edit.) Get in touch on Mattermost for more information and collaboration.