What inspired you and Carl to build TipHub?
We've both been really interested in alternative funding models for open source work. Maintaining open source projects has never been a lucrative endeavor in its own right, but the value of incentivizing it can't be understated. The majority of code today is written on top of open source languages, frameworks, and operating systems, and we need to continue to encourage people to keep contributing and maintaining. While we don't expect TipHub (or any tip-based funding) to completely solve the problem, a little bit of money and a nice message can sometimes be enough to keep someone passionate about working on their project. In three sentences or less, tell us about your project. TipHub is a non-custodial tipping service for open source projects. We make it easy to setup a tip button right in your project's readme to let users and other developers show some love to your project. Unlike most other Lightning tipping services, we facilitate a direct connection to developer's nodes.
How did you build TipHub? Our stack is a python backend using Flask and SQLAlchemy with a Postgres database, and a frontend written in Typescript using React and the Semantic UI component library. Carl focused on the backend and Lightning RPC layer, while I focused on the API and frontend. It's currently hosted on Heroku.
What were the biggest development challenges?
The plan is to go live sometime in the next few weeks! As noted above, we want to be ready for everything that can go wrong with Lightning, and clean up some of our hackathon sins that made it in in the final hours. We've also got a handful of features planned such as on-chain fallback addresses for non-lightning users or those who want to make larger tips, and an embeddable leaderboard to show your project's highest tippers. Here's what that'd look like:
What daemon features are you most excited about? There are too many to go over, so I'll just pick one: The macaroon "bakery." LND provides you with auth tokens that have different levels of access called macaroons. It works similarly to oauth, giving external applications limited functionality. That's how TipHub is able to generate invoices for your node, without having access to do things such as make payments from your node, keeping your funds secure. The idea of the macaroon bakery would be a programmatic way of generating these macaroons. So one cool example of how this could work in the future is that you generate a macaroon that is only allowed to send a limited number of satoshis per month. Provide that macaroon to an external service, and now they can pull a monthly subscription directly from your node, that you can revoke at any time. What projects are you most excited about this next year? Lightning is moving so fast, it's hard to see what's coming beyond a few weeks. But stabilizing mainnet neutrino nodes to allow for easier setup is going to make Lightning absolutely explode, so I'm excited to onboard all of those new users. Likewise, so far most of what we've seen with Lightning have been built by solo enthusiasts, so I'm looking forward to what larger teams with will be able to put together once there's a much larger audience to attract them to building on Lightning. And hopefully, more hackathons like the Boltathon!