Updates from last 4 weeks

I had such a busy time I haven't found any time to write down the Nostr things I worked on every week since week 16. So it's time to catch up and highlight the Nostr stuff I've worked on.

Sebastix

19. Mai 2025May 19, 2025 · 4 Min. Lesezeit4 min read · Aktualisiert am 26. Mai 2025Updated May 26, 2025

Nostr-PHP#

Djuri submitted quite some pull requests in the last couple of week while he was implementing a Nostr connect / login on https://satsback.com. The backend of that platform is written in PHP so the Nostr-PHP library is used for several purposes while Djuri also developed quite some new features utilizing the following NIPs:

Thank you very much Djuri for these contributions. We now can do the basic private stuff with the library. 

PR for NIP-04 and NIP-44: https://github.com/nostrver-se/nostr-php/pull/84 and https://github.com/nostrver-se/nostr-php/pull/88 
Examples:

PR for NIP-05: https://github.com/nostrver-se/nostr-php/pull/89 
Example: https://github.com/nostrver-se/nostr-php/blob/main/src/Examples/nip05-lookup.php 

PR for NIP-17: https://github.com/nostrver-se/nostr-php/pull/90 
Example: https://github.com/nostrver-se/nostr-php/blob/main/src/Examples/nip17-private-direct-messages.php 

PR for adding more metadata profile fields: https://github.com/nostrver-se/nostr-php/pull/94
Example: https://github.com/nostrver-se/nostr-php/blob/main/src/Examples/fetch-profile-metadata.php 

Fetch 10050 event (dm relay list) of an given pubkey
Example: https://github.com/nostrver-se/nostr-php/blob/main/src/Examples/fetch-dm-relayslist.php 

The CLI tool is removed from the library, see PR https://github.com/nostrver-se/nostr-php/pull/93 

Nostr-PHP documentation#

While new NIPs are implemented in the Nostr-PHP library, I'm trying to keep up with the documentation at https://nostr-php.dev. For now, things are still much work in progress and I've added the AI agent Goose using the Claude LLM to bootstrap new documentation pages. Currently I'm working on documentation for

CCNS.news#

I've moved CCNS to a new domain https://ccns.news and have partly implemented the new NIP-B0 for web bookmarks. When you post a bookmark there, a kind 39701 event is transmitted to some Nostr relays (take a look at this event for example). Optionally you can also publish this content as a note to the network.

As you can see at https://ccns.news/l/censorship-resistant-publishing-and-archiving, I've listed some todo's. All this stuff is done with Javascript using the NDK Typescript library (so I'm not using any PHP stuff for this with Nostr-PHP).

CCNS bookmark

Also new: https://ccns.news/global now has a global feed which fetches all the web bookmark events with kind 39701 from several public Nostr relays. I had a rough idea to compare feeds generated with NDK and Nostr-PHP (for both using the same set of relays).

CCNS global feed

Building a njump clone for this Drupal website#

You can now use this URL pattern to fetch Nostr events: https://nostrver.se/e/{event_id|nevent1|note1|addr1} where you can provide a plain Nostr event ID or NIP-19 encoded identifier. 

An example, this URL [Quoted note) fetches the data from one or more relays. This data is then being saved as a (Drupal) node entity (in a database on the server where this website is hosted, which is located in my office fyi). With this saved node, this data is now also available at https://nostrver.se/e/0dabe2a8f9a77c8d1079f440fbd3c9f0d59c4ba08a51d7f811ceeba58b02a255/1 where the (cached) data is server from the database instead. It's just raw data for now, nothing special about it. One of my next steps is to style this in a more prettier interface and I will need to switch the theme of this website to a custom theme. A custom theme where I will be using TailwindCSS v4 and DaisyUI v5. 

The module which is providing these Nostr features is FOSS and uses the Nostr-PHP library for doing the following:

For now this module is way for me to utilize the Nostr-PHP library with Drupal for fetching events. This can be automated so in theory I could index all the Nostr events. But this is not my ambition as it would require quite some hardware resources to accomplish this. 
I hope I can find the time to build up a new theme first for this website, so I can start styling the data for the fetched events. On this website, there is also a small piece (powered by another module) you can find at https://nostrver.se/nostrides doing things with this NIP-113 around activity events (in my case that's cycling what interests me).

What's next#

I'm already working on the following stuff:

Other todo stuff:

#91

Written by

Comments

No comments yet. Start the conversation.