Open source is an essential piece of Bitcoin. Our bitcoin-focused team loves open-source, and we want to give back to the open-source realm. So, every other Friday, the Voltage crew spends the day working on whatever open source projects they choose, as our CEO Graham explained in an earlier blog post.
The team works on some neat open source projects, so we like to share the results. Without further ado, here are the projects the Voltage team worked on throughout February!
This FossFriday was very Nostr-heavy! Nostr is an open protocol for building decentralized social media platforms, such as a Twitter-alternative where one company isn’t in complete control.
With the emphasis on decentralization, the project is very bitcoin-adjacent and has been grabbing a lot of attention from the Bitcoin/lightning community — including Voltage’s engineers!
Backend engineer Taylor worked on building a Nostr Vault server for holding Nostr keys. Users can hit the api to get hashed private key. The hashing happens on the client side so Voltage or another operator would never know what the key is.
Backend engineer Alex and design engineer Stephen worked on another Nostr relay project Nostream. They worked to add lnbits support. One issue with Nostr relays is the potential for spam, so adding a method of requiring payments for using a Nostr relay could prevent that. Potentially down the line if Voltage adds Nostr support, Voltage relay customers can one day make their relay a paid service.
Research engineer Paul explored making a Reddit or Hackernews on Nostr using the Nostr SDK. He looked at the possibilities for making a threaded conversation, so that anyone who replies to the topic will be a part of that link.
Frontend engineer Joao worked on Hrnet, a Nostr-based encrypted chat application he’s been working on since last summer. A couple of weeks ago he started working on nostr-indexer project, which helps to grab and index data concerning a particular user across different Nostr relays.
A newer team member who wishes to remain anonymous worked on lndmon, a tool for monitoring a Lightning LND node. He started exploring how to shift the project to use prometheus monitoring mixins, which has the potential to make the code for the lndmon dashboards much cleaner, rather than a very large json file that isn’t reusable.
Frontend engineer Adrien, who randomly decided to use a deep voice encoder when he presented his FossFriday project, played around with a new open source wireframing tool.
This was another Nostr-heavy week.
Backend engineer Alex worked Snort, client UI for Nostr. He fixed some issues with the UI and two of his PRs were already merged! He fixed the settings page so it looks cleaner. On the messages page, it’s hard to tell if something is read or unread because the shade of grey for each notification was very similar, so Alex submitted a PR to update the UI so that unread messages are more noticeable.
Frontend engineer Brandon worked on an app Nostrlytics, which displays a graph about a Nostr user’s activity. If you enter an npub or nip-95 (either of which identifies someone on Nostr) it’ll visualize the user’s actions on Nostr, such as DMs, zaps (lightning payments received), or reactions to posts. Brandon’s planning to make more charts in the future.
Design engineer Stephen spent the day brainstorming the UX of rolling out BOLT 12 to the world. BOLT 12 is a proposal for a new, more private, invoicing system for Lightning, which allows reuseable invoices. He explored whether it’s possible to use BIP 21 for unifying the QR code… [Link to this website etc!] BIP 21 makes it possible to use the same QR code whether making a Bitcoin or a Lightning, making the UX easier to deal with.
Backend engineer Taylor continued his work on Nostr Vault, explained above. He worked on a page where a user can enter their private key (on the client side) and send it to the Nostr Vault for storage, then fetch the encrypted version again later.
He also worked on a bot that alerts a user when a certain block height is reached, a certain fee threshold is reached, or when a certain number of confirmations of a transaction has happened.
A developer on the team who wishes to stay anonymous has continued working on the prometheus mixin for LND metrics, using the tool Graffonnet for making dashboards more programmatically. They showed us an example, and the code representing the dashboard looked much shorter and prettier!
Platform engineer Sam worked on Flow v2, which is Voltage’s newer product for providing easier Lightning channel liquidity for users. He’s making an Lnbits extension that provides a UI for adding and removing people from a list that allows zero-confirmation channels. To do so, he created a Python wrapper around a Rust channel acceptor.
CEO and founder Graham explored adding support for remoting signing for LND nodes to the Voltage platform. Remote signing allows for private keys to remain offline, boosting security of the node’s funds.