STORY
Refactoring bolt.fun Nostr-powerd commenting feature - Part 0
AUTHOR
Joined 2022.06.04
DATE
VOTES
sats
COMMENTS

Refactoring bolt.fun Nostr-powerd commenting feature - Part 0

Bolt fun already uses nostr to power its commenting feature, so why do we want to refactor it??

Well, there is several (not-small) reasons for that:

1- We are not following any specs for doing the comments on Nostr network

When we built this feature, there was no standarized way to build a comments system on nostr, so we came up with our own approach.

Our own approach worked to some extent, however, soon we realized that it's not really THAT compatible with other nostr clients (which is an important point)

It also didn't give any context in a thread, because only the comments were published on nostr, but not the story itself.

So for any external viewer, these comments appeared as just random event that contains some text that doesn't make sense

2- It was custodial

At the time, there was no real browser extension with enough adoption that handled generating & storing users' private keys & public keys, so we had to do that ourselves.

We generated the keys for our users & stored them in our DB, & when the user wanted to publish a new event, we use his keys to sign them.

We also enabled the users to copy their private keys if they wanted to use them elsewhere.

But this isn't really the best solution.

The users should own their keys.

Luckley, Alby has recently published a new feature where they added support for nostr!!

So there could be now a way to go the non-custodial way!

3- It's VERY platform dependant

We wanted to include some features that were not really supported by nostr, things like voting, user profile data, ...etc.

It was built with a "works-on-bolt-fun-first" mindset, when it should have been "nostr-compatible-first" then extra features later.

So this time around, we will start with a totally platform independent solution, build the core, & then later we will look into how we can add

other OPTIONAL features while keeping things working fine without them.

So these were the main reasons why we want to refactor this feature.

We know that it will take no small amount of time & work.

We know that we might face some challenges that we may not be able to solve.

But that's the FUN part of it!!

We are Bolt.FUN!!
We ventures into the new & unknown!!

And we try to make the way for others easier & clearer.

We will be posting a lot about this designing & developing this new feature here.

So stay tuned for the next parts!!

Have a great day.

Read The Next Part. Defining What We Need.