Introducing Mostr: a Fediverse Nostr bridge
Introducing Mostr: a Fediverse Nostr bridge
When I first saw Nostr, I didn't think people would actually do it. The last few months have told a different story. Nostr has been exploding with developer activity! I looked closer.
Nostr solves my most basic frustration with ActivityPub, which is that some of my followers on different servers can't see me because their admin said so. I'm tired of it.
We've been investing in the ActivityPub ecosystem for years. Nostr is a better protocol, but it lacks the years of work that went into making the Fediverse usable. However, things are moving fast. This is partly because of the protocol, which is easy to implement and gives clients a lot of control. It seems like only a matter of time until it overtakes the Fediverse, and I'd rather be a part of it than get left behind.
So the first thing I've decided to do is build a bridge. This bridge connects ActivityPub and Nostr together, so we can communicate across the pond. Everyone wins.
We hope you enjoy getting to know each other, and that this opens new doors for collaboration.
Source code: https://gitlab.com/soapbox-pub/mostr
Usage
To interact with ActivityPub users on Nostr, please subscribe to our relay:
wss://relay.mostr.pub
You can then find a user by their NIP-05 identifier, eg: alex_at_gleasonator.com@mostr.pub
To see Nostr users on the Fediverse, search for them by their hexadecimal public key:
https://mostr.pub/users/<pubkey>
As your network interacts with Nostr users, you'll start seeing more of them over time.
Implementation
The bridge acts as an ActivityPub server and a Nostr client.
It has an ActivityPub inbox which converts data into Nostr events which it pushes to a relay. It listens on the relay and federates ActivityPub data for relevant Nostr events.
Tech stack
- TypeScript + Deno
- Web Cache API
- SQLite
What's next?
Mostr is a work in progress. We plan to fix bugs, add support for emoji reactions, and more.
Next, we are going to make Mastodon clients work on Nostr. Not just Soapbox, all of them. This will require a middleware service that acts like a Mastodon "instance" and talks to Nostr relays behind the scenes.
Update: 5/10/24: Nostr users can now follow accounts on Bluesky via the Mostr Bridge! Learn more here.
Support us
If you like what we do, please support us!
BTC bc1q9cx35adpm73aq2fw40ye6ts8hfxqzjr5unwg0n
Source code: https://gitlab.com/soapbox-pub/mostr