Difference between revisions of "Challenges June 2020"

From fulmo
Jump to navigation Jump to search
m (Protected "Challenges June 2020" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
 
(40 intermediate revisions by 10 users not shown)
Line 6: Line 6:
 
===RaspiBlitz===
 
===RaspiBlitz===
  
Github issues with label "hackathon": https://github.com/rootzoll/raspiblitz/issues?q=is%3Aissue+is%3Aopen+label%3Ahackathon
+
Github issues with label "hackathon": [https://github.com/rootzoll/raspiblitz/issues?q=is%3Aissue+is%3Aopen+label%3Ahackathon github.com/rootzoll/raspiblitz]
 +
 
 +
* Test v1.6RC1 [https://github.com/rootzoll/raspiblitz/tree/v1.6#downloading-the-software DOWNLOAD]
 +
* openoms: finishing the dialog GUI for joinmarket
 +
* rootzoll: detailing concept "RaspiBlitz for Local Community Action"
  
 
Video helping you to get started with RaspiBlitz development: https://youtu.be/qTHDkFppsz0
 
Video helping you to get started with RaspiBlitz development: https://youtu.be/qTHDkFppsz0
  
 
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/raspiblitz
 
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/raspiblitz
 +
 +
'''Outcomes:'''
 +
* openoms: Joinmarket dialog GUI [https://github.com/rootzoll/raspiblitz/issues/1162#issuecomment-643661860 details]
 +
* 21isenough: ZeroTier integration [https://github.com/rootzoll/raspiblitz/pull/1253 details]
 +
* fusion44: Alternative Touchscreen/Dashboard [https://youtu.be/w4slNKILP78 Video]
  
 
===IP2TOR-Tunnelservice===
 
===IP2TOR-Tunnelservice===
  
frennkie build for the last hacksprint https://github.com/frennkie/django-ip2tor and its now integrated into the RaspiBlitz v1.6RC1 to test out.
+
frennkie build for the last hacksprint https://github.com/frennkie/django-ip2tor and its now integrated into the RaspiBlitz v1.6RC1 to test out [https://github.com/rootzoll/raspiblitz/tree/v1.6#downloading-the-software DOWNLOAD].
 
So this challange is for people that have a RaspiBlitz to play with and like to test the IP2Tor-Tunnel service and help with feedback.
 
So this challange is for people that have a RaspiBlitz to play with and like to test the IP2Tor-Tunnel service and help with feedback.
  
 
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-tor2ip-tunnelservice
 
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-tor2ip-tunnelservice
  
===Wiki Lightning Spam Protection===
+
'''Outcomes:'''
 +
* Presentation on IP2TOR & RaspiBlitz Integration (frennkie & rootzoll)
 +
* Testing with RaspiBlitz v1.6RC1 (Emzy & Jeff)
  
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.
+
===Contribute to the book Mastering the Lightning Network===
 +
Andreas, Roasbeef and Rene have blocked time on the weekend to work on mastering the Lightning Network! So you can go to https://github.com/lnbook/lnbook and check their current progress.
 +
Quite some fundamental chapters of the book are written and the authors will be happy if you read them and give feedback. This could include:
 +
* Feedback that something was too complicated, easy, boring, repetitive, poorly written or just awesome and should not change (:  
 +
* You can look at our current structure and pick up chapters or sections and just write some text
 +
* Check the examples and pictures. Do we need better / more graphics and examples?
 +
* Are we missing topics?
 +
* Does the structure and read threat of the book make sense to you?
 +
* even just improving the language to make it more simple, improve the grammer and spelling would be very welcome.
 +
* Try running the Docker images and examples and give us feedback about that.
  
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/media-wiki-spam-protection
+
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/mastering-the-lightning-network
  
===Full node interface for standard banking software via FinTS===
+
'''Outcome:'''
 +
* Mastering Lightning is making progress and seeking more input / feedback from people (:
  
Merchants accepting Bitcoin (over Lightning) need an easy way to integrate transactions into their existing bookkeeping software. Like you can connect your bank account to your bookkeeping software by the FinTS it would be great of you can connect your Lightning Node (running on a RaspiBlitz) to that software and manage your Bitcoin Holdings as a "Foreign Currency Account".
+
===Bowser DIY HWW===
  
The GitHub-Issue with details: https://github.com/rootzoll/raspiblitz/issues/1186
+
The bitcoins are in the other castle!
  
There is a 0.03 BTC bounty to create a small server software (running on a lightning node) that implements a subset of the FinTS standard to connect and manage your Lightning transactions with a FinTS supporting bookkeeping software.
+
https://github.com/arcbtc/bowser-bitcoin-hardware-wallet
  
===Quickening - Room77 Point of Sale===
+
If you have an M5Stack, why not try making the Bowser DIY Hardware Wallet.
  
Github issues starting with "Room77" https://github.com/arcbtc/M5StackSats/issues
+
See video: https://www.youtube.com/watch?v=DG1zrlAVdys
  
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-pos-room77-quickening
+
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/bowser-wallet
  
 
===LNbits===
 
===LNbits===
Line 45: Line 66:
 
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-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!
+
In a push to get lnbits new update out and extend its functionality, x2 0.02btc 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
 
see video: https://www.youtube.com/watch?v=xnHz6NbTgZg
  
==Need more ideas?==
+
===Interface for standard banking software via FinTS===
 +
 
 +
Merchants accepting Bitcoin (over Lightning) need an easy way to integrate transactions into their existing bookkeeping software. Like you can connect your bank account to your bookkeeping software by the FinTS it would be great of you can connect your Lightning Node (running on a RaspiBlitz) to that software and manage your Bitcoin Holdings as a "Foreign Currency Account".
 +
 
 +
The GitHub-Issue with details: https://github.com/rootzoll/raspiblitz/issues/1186
 +
 
 +
There is a 0.03 BTC bounty to create a small server software (running on a lightning node) that implements a subset of the FinTS standard to connect and manage your Lightning transactions with a FinTS supporting bookkeeping software.
  
Looking for yet another idea to build a small LApp? Check out [[Ideas for LApps]]!
+
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-fints-server
  
 
===LightningATM===
 
===LightningATM===
  
 
A DIY-Lightning Coin ATM - coins in, sats out
 
A DIY-Lightning Coin ATM - coins in, sats out
 +
 +
Documentation DIY: https://docs.lightningatm.me
  
 
Github issues with label "hackathon": [https://github.com/21isenough/LightningATM/issues?q=is%3Aissue+is%3Aopen+label%3Ahackathon github.com/21isenough/LightningATM] (Python)
 
Github issues with label "hackathon": [https://github.com/21isenough/LightningATM/issues?q=is%3Aissue+is%3Aopen+label%3Ahackathon github.com/21isenough/LightningATM] (Python)
  
 
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-lightningatm
 
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-lightningatm
 +
 +
'''Outcomes:'''
 +
* Many new users in our LightningATM - Buidl Telegram Chat
 +
* Many direct messages with user who will start building
 +
* Looking for Python-contributors ;-)
 +
* Guides Public at https://docs.lightningatm.me
  
 
===Zeus App===
 
===Zeus App===
Line 67: Line 102:
 
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-zeus
 
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-zeus
  
==Adding your Project==
+
'''Outcomes:'''
 
+
* Debugging of v0.3.0 release
Feel free to add a challenge yourself! Ask Jeff or Rootzoll on the [https://mm.fulmo.org 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 [https://mm.fulmo.org/fulmo/channels/lightning-hacksprint Mattermost] for more information and collaboration.
+
* good discussion on UX
 
+
* continued progress on onboarding screens
==Projects from last Hacksprint (maybe joining again)==
 
 
 
===SendMany App===
 
 
 
Challenges: https://github.com/fusion44/sendmany/issues?q=is%3Aissue+is%3Aopen+label%3Ahacksprint
 
 
 
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-keysendsendmany
 
 
 
===Zapread.com===
 
 
 
Develop a C# LNURL-AUTH library which can integrate with .NET (MVC) websites.
 
 
 
List of Challenges: https://github.com/Horndev/zapread.com/issues?q=is%3Aopen+is%3Aissue+label%3Ahackathon
 
 
 
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-zapread
 
  
 
===Weenode===
 
===Weenode===
Line 95: Line 115:
 
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-weenode
 
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-weenode
  
===Rust Lightning network node===
+
'''Outcomes:'''
  
Another LN node? Why we need it?
+
*fulmo: found our lost twitter account @weenode1 ! made the case for opening [https://github.com/bitcoinprivacy/weenode/issues/6 a new issue] on including device requirements.
 +
*stefanwouldgo: worked on [https://github.com/bitcoinprivacy/weenode/issues/5 getting c-lightning to run]. This turned out harder than expected, but I succeeded partially. work in progress...
  
The problem with the existing Lightning node implementations is their very limited extensibility for such things as:
+
=== Frontend for rubygems Donations ===
  
* future LN upgrades (channel factories, pay-to-ec-point, taproot),
+
see https://twitter.com/Bumi/status/1270720199730163713?s=20
* 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.
 
  
Last time we started building new rust LN node based on LNP/BP library — and this time we will continue the challenge! We will work on further node development; for more details you can refer our project backlog and todo issues here: https://github.com/LNP-BP/lnp-node/projects/1
+
GitHub: https://github.com/bumi/bundler-thankyou
  
In brief, we will
+
DemoVideo of Backend: https://asciinema.org/a/9MfCfcKLaKu4mp4lT9w4XHr2d?autoplay=1
* update to use the latest version of rust-lightning, that had migrated on new rust-bitcoin type system
 
* update the code to use the lates version of rust-lnpbp library
 
* improve multi-thread architecture, in particular message bus with ZMQ
 
* complete BOLT-1 implementation
 
* (optionally) implement gossip protocol
 
  
Contact [[User:Dr-Orlovsky]] and check https://github.com/LNP-BP/lnp-node/projects/1 for details
+
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-rubygems-donations
  
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-rust-ln-node
+
=== pyBlock ===
  
'''Outcome:'''
+
Python Bitcoin block information, transactions, send message to Space and more.
  
1. The node was updated to use the most recent version of rust-lightning and LNP/BP library:  
+
Github issues with label "hackathon":[https://github.com/curly60e/pyblock/issues?q=is%3Aissue+is%3Aopen+label%3A%22hackathon%22 github.com/curly60e/pyblock] (Python)
https://github.com/LNP-BP/lnp-node/commit/5d6fc3d1c85ca35bbcda0bec59b27c641fd07994
 
  
2. We decided to split input and output parts of the stream into separate threads within peer module of wire connection daemon; however it turned out to be not possible to implement due to the current rust-lightning and rust-lnpbp architectures. In order to fix this:
+
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/pyblock (available just sunday)
* we have adopted PR from rust-lightning that modularizes peer components https://github.com/LNP-BP/rust-lightning/commit/d88c59c48da986b1eda6a19334e64494b31958d4
 
* also we proposed the required changes to it: https://github.com/rust-bitcoin/rust-lightning/pull/494#pullrequestreview-408763344
 
* made Connection and Peer objects splittable: https://github.com/LNP-BP/rust-lnpbp/commit/92fa54f5a45d3f91e78f39bf67a839fce231f20d , https://github.com/LNP-BP/rust-lnpbp/commit/fe01f5401f96596520f67e7ff4ec665a9855b7c3
 
  
===RTL (Ride The Lightning)===
+
===Rust Lightning Network node===
  
https://github.com/Ride-The-Lightning/RTL
+
Another LN node? Why we need it?
  
Github issues with label 'hackathon': https://github.com/Ride-The-Lightning/RTL/issues?q=is%3Aissue+is%3Aopen+label%3Ahackathon
+
The problem with the existing Lightning node implementations is their very limited extensibility for such things as:
  
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-rtl-ride-the-lightning
+
* future LN upgrades (channel factories, pay-to-ec-point, taproot),
 +
* protocols on top of LN (layer 3), like DLCs on LN [https://hackmd.io/@lpQxZaCeTG6OJZI3awxQPQ/LN-DLC] or proposed Lightspeed payments [https://github.com/LNP-BP/lnpbps/issues/24], 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
  
=== c-lightning ===
+
We will continue the Rust LN node development based on LNP/BP library; for more details you can refer our project backlog and todo issues here: https://github.com/LNP-BP/lnp-node/projects/1
  
[[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 :-)
+
During the hackathon we are planning to:
  
Some ideas for projects / challenges:
+
* Refactor LNP node with the latest developments from LNP/BP Standards Association:
 +
* Use the new LNP networking protocol stack from rust-lnpbp library for note IPCs, RPCs and P2P
 +
* Use LNP API tools and API code derive macros for doing API all requests
 +
* Finalize P2P networking layer
  
* 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.
+
Contact Users:
 +
* Dr-Orlovsky [https://wiki.fulmo.org/wiki/User:Dr-Orlovsky]
 +
* Olga Ukolova [https://wiki.fulmo.org/wiki/User:Olga_Ukolova]
 +
Check https://github.com/LNP-BP/lnp-node/projects/1 for details!
  
* `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.
+
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-rust-ln-node
  
* Trampoline Proof-of-concept: Trampoline routing is a recent proposal to outsource some aspects of route-finding to another node in the neighborhood of the sending node. This is useful for nodes that may be unable to sync the network topology through gossip, or do not have time to sync before they need to send out a payment, e.g., mobile nodes. Using c-lightning's ability to implement custom protocol extensions (`custommsg`) and the ability to create routing onions with arbitrary payloads, you can implement a fast gossiping extension with which nodes announce their ability to route on behalf of others, and the sender to encapsulate the instructions for a trampoline node (where to go and how much to send).
+
===OmniBOLT -- Facilitate smart assets lightning transactions===
  
* Networked RPC interface: c-lightning is purposefully not exposing its JSON-RPC over the network, in order not to mandate a specific method of interaction. Plugins can take care of exposing the API in a variety of ways (grpc, JSON-RPC, REST, ...) and they can also be used to enforce arbitrary access policies using the `rpc_command` hook. These two aspects can be handled independently, i.e., one plugin exposes the API over some transport while another plugin enforces the authentication and authorization required to access the API. This in turn allows to mix and match arbitrary networked API endpoints and authentication mechanisms. Goal of this challenge is to come up with a generic way to have one plugin expose the API, and pass along any authentication information that was submitted with the request, so another plugin can enforce access policies.
+
OmniBOLT is a lightning network specification, enabling faster and lower cost transactions of smart crypto assets, providing more flexible contracts for upper layer decentralized finance applications OBD implements the OmniBOLT specification.
  
* Backup plugin: https://github.com/lightningd/plugins/tree/master/backup Currently it supports only backup to the local file. There are several rooms for improvement, contact [[User:mrostecki]] if interested.
+
Resources:
** "partial file" backend - saving each database change/transaction to a separate file, which will be helpful for ideas below
 
** PGP backend - based on the "partial file" plugin, which encrypts each file
 
** Dropbox, Google Drive backends - uploading backups to Dropbox and Google Drive, based on "partial file" backend (to not upload a huge file every time), with optional usage of PGP
 
  
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/c-lightning, https://mm.fulmo.org/fulmo/channels/x-backup-plugin-c-lightning
+
https://github.com/omnilaboratory/OmniBOLT-spec#omnibolt-facilitates-smart-assets-lightning-transactions
  
=== Executing a DLC (discreet log contract) on Rust Lightning ===
+
https://github.com/omnilaboratory/obd
  
A discreet log contract is a protocol that allows for the use of oracles in bitcoin. They have been designed such that they can be lifted off of the bitcoin protocol into the Lightning Network.  
+
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/omnibolt----facilitate-smart-assets-lightning-transactions
  
The current discreet log contract spec is available here: https://github.com/discreetlogcontracts/dlcspecs
+
===Request-invoice c-lighting plugin ===
 +
A simple plugin that creates a lightweight, secure http server/api to create invoices for services like tip-bots and anonymous donations.
  
Here is the github issue describing the work we are trying to accomplish this weekend to execute a DLC on the Lightning Network (using Rust Lightning):  
+
1. create Onion service for this.
 +
2. Create demo tipbot.
 +
https://github.com/lightningd/plugins/pull/90
  
Please join us in this chatroom: https://mm.fulmo.org/fulmo/channels/rust-ln-dlc
+
==Need more ideas?==
  
=== JIT Routing / Sharing balance information ===
+
Looking for yet another idea to build a small LApp? Check out [[Ideas for LApps]]!
  
Recent - unpublished / work in progress - research that i am conducting suggests that JIT routing is indeed superior to our current path finding mechanism of probing channels until a path is found as JIT Routing
+
==Adding your Project==
  
* has on average a higher success rate
+
Feel free to add a challenge yourself! Ask Jeff or Rootzoll on the [https://mm.fulmo.org 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 [https://mm.fulmo.org/fulmo/channels/lightning-hacksprint Mattermost] for more information and collaboration.
* invokes on average less network communication messages to be sent
 
* on average leaks less information of channel balances of the network to the sender / participating nodes
 
* seems to prevent channel probing attacks (c.f: https://arxiv.org/abs/2004.00333 )
 
 
 
Previous research (c.f.: https://arxiv.org/abs/1912.09555) suggests that even without JIT rebalancing if the channel rebalancing is used proactively and opportunistically by nodes the overall payment success rates and routable amounts increase.
 
 
 
Thus on the Lightning Hacksprint we want to start working on a proof of concept implementation of JIT - routing. This effort has two parts:
 
 
 
# a communication protocol for nodes to share balance information with neighbors
 
# a modified transport layer for fee free rebalancing.
 
 
 
This weekend we will focus mainly on the communication protocol for sharing balance information with peers as an extension of BOLT7 as this would be needed in the JIT case and the proactive rebalancing case.  
 
If time permits we shall also look at the second goal to achieve fee free rebalancing.
 
 
 
We will write a spec for new gossip messages and provide a proof of concept as a c-lightning plugin.
 
If time pemits we also invoke the rebalancing with fees during forwarding of HTLCs - which later can be exchanged with the fee free version.
 
 
 
Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-jit-routing
 

Latest revision as of 11:32, 13 March 2021

Projects with Challenges

This is the list of Lightning Network related projects that registered for this HackSprint (please contact @rootzoll on twitter to add your project):

RaspiBlitz

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

  • Test v1.6RC1 DOWNLOAD
  • openoms: finishing the dialog GUI for joinmarket
  • rootzoll: detailing concept "RaspiBlitz for Local Community Action"

Video helping you to get started with RaspiBlitz development: https://youtu.be/qTHDkFppsz0

Chatroom to get started: https://mm.fulmo.org/fulmo/channels/raspiblitz

Outcomes:

  • openoms: Joinmarket dialog GUI details
  • 21isenough: ZeroTier integration details
  • fusion44: Alternative Touchscreen/Dashboard Video

IP2TOR-Tunnelservice

frennkie build for the last hacksprint https://github.com/frennkie/django-ip2tor and its now integrated into the RaspiBlitz v1.6RC1 to test out DOWNLOAD. So this challange is for people that have a RaspiBlitz to play with and like to test the IP2Tor-Tunnel service and help with feedback.

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

Outcomes:

  • Presentation on IP2TOR & RaspiBlitz Integration (frennkie & rootzoll)
  • Testing with RaspiBlitz v1.6RC1 (Emzy & Jeff)

Contribute to the book Mastering the Lightning Network

Andreas, Roasbeef and Rene have blocked time on the weekend to work on mastering the Lightning Network! So you can go to https://github.com/lnbook/lnbook and check their current progress. Quite some fundamental chapters of the book are written and the authors will be happy if you read them and give feedback. This could include:

  • Feedback that something was too complicated, easy, boring, repetitive, poorly written or just awesome and should not change (:
  • You can look at our current structure and pick up chapters or sections and just write some text
  • Check the examples and pictures. Do we need better / more graphics and examples?
  • Are we missing topics?
  • Does the structure and read threat of the book make sense to you?
  • even just improving the language to make it more simple, improve the grammer and spelling would be very welcome.
  • Try running the Docker images and examples and give us feedback about that.

Chatroom to get started: https://mm.fulmo.org/fulmo/channels/mastering-the-lightning-network

Outcome:

  • Mastering Lightning is making progress and seeking more input / feedback from people (:

Bowser DIY HWW

The bitcoins are in the other castle!

https://github.com/arcbtc/bowser-bitcoin-hardware-wallet

If you have an M5Stack, why not try making the Bowser DIY Hardware Wallet.

See video: https://www.youtube.com/watch?v=DG1zrlAVdys

Chatroom to get started: https://mm.fulmo.org/fulmo/channels/bowser-wallet

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, x2 0.02btc 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

Interface for standard banking software via FinTS

Merchants accepting Bitcoin (over Lightning) need an easy way to integrate transactions into their existing bookkeeping software. Like you can connect your bank account to your bookkeeping software by the FinTS it would be great of you can connect your Lightning Node (running on a RaspiBlitz) to that software and manage your Bitcoin Holdings as a "Foreign Currency Account".

The GitHub-Issue with details: https://github.com/rootzoll/raspiblitz/issues/1186

There is a 0.03 BTC bounty to create a small server software (running on a lightning node) that implements a subset of the FinTS standard to connect and manage your Lightning transactions with a FinTS supporting bookkeeping software.

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

LightningATM

A DIY-Lightning Coin ATM - coins in, sats out

Documentation DIY: https://docs.lightningatm.me

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

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

Outcomes:

  • Many new users in our LightningATM - Buidl Telegram Chat
  • Many direct messages with user who will start building
  • Looking for Python-contributors ;-)
  • Guides Public at https://docs.lightningatm.me

Zeus App

Github issues with label "hackathon":github.com/ZeusLN/zeus (Typescript / React-Native)

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

Outcomes:

  • Debugging of v0.3.0 release
  • good discussion on UX
  • continued progress on onboarding screens

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

Outcomes:

  • fulmo: found our lost twitter account @weenode1 ! made the case for opening a new issue on including device requirements.
  • stefanwouldgo: worked on getting c-lightning to run. This turned out harder than expected, but I succeeded partially. work in progress...

Frontend for rubygems Donations

see https://twitter.com/Bumi/status/1270720199730163713?s=20

GitHub: https://github.com/bumi/bundler-thankyou

DemoVideo of Backend: https://asciinema.org/a/9MfCfcKLaKu4mp4lT9w4XHr2d?autoplay=1

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

pyBlock

Python Bitcoin block information, transactions, send message to Space and more.

Github issues with label "hackathon":github.com/curly60e/pyblock (Python)

Chatroom to get started: https://mm.fulmo.org/fulmo/channels/pyblock (available just sunday)

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 [1] or proposed Lightspeed payments [2], 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

We will continue the Rust LN node development based on LNP/BP library; for more details you can refer our project backlog and todo issues here: https://github.com/LNP-BP/lnp-node/projects/1

During the hackathon we are planning to:

  • Refactor LNP node with the latest developments from LNP/BP Standards Association:
  • Use the new LNP networking protocol stack from rust-lnpbp library for note IPCs, RPCs and P2P
  • Use LNP API tools and API code derive macros for doing API all requests
  • Finalize P2P networking layer

Contact Users:

  • Dr-Orlovsky [3]
  • Olga Ukolova [4]

Check https://github.com/LNP-BP/lnp-node/projects/1 for details!

Chatroom to get started: https://mm.fulmo.org/fulmo/channels/x-rust-ln-node

OmniBOLT -- Facilitate smart assets lightning transactions

OmniBOLT is a lightning network specification, enabling faster and lower cost transactions of smart crypto assets, providing more flexible contracts for upper layer decentralized finance applications OBD implements the OmniBOLT specification.

Resources:

https://github.com/omnilaboratory/OmniBOLT-spec#omnibolt-facilitates-smart-assets-lightning-transactions

https://github.com/omnilaboratory/obd

Chatroom to get started: https://mm.fulmo.org/fulmo/channels/omnibolt----facilitate-smart-assets-lightning-transactions

Request-invoice c-lighting plugin

A simple plugin that creates a lightweight, secure http server/api to create invoices for services like tip-bots and anonymous donations.

1. create Onion service for this. 2. Create demo tipbot. https://github.com/lightningd/plugins/pull/90

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.