Sebastix
Sebastix
Home About RSS Feed 📡 Admin
← Back to all articles Nostr-PHP progress report #3 March & April 2025

Nostr-PHP progress report #3 March & April 2025

May 30, 2025 • 4 min read

This is my OpenSats progress report number 3 covering the months March and April 2025 while I paused the grant during December '24, January '25 and February '25.

1) How did you spend your time?#

I continued to write and publish more detailed weekly updates here: https://nostrver.se/blog. These updates are also cross-posted via Nostr as long-form content.

All commits on the main branch from 01-03-2025 till 30-04-2025: https://github.com/nostrver-se/nostr-php/commits/main/?since=2025-03-01&until=2025-04-30 

NIP-19 bech32-encoded entities#

This has been implemented in the library, see https://github.com/nostrver-se/nostr-php/pull/68 

Added getTag method to the Event class#

https://github.com/nostrver-se/nostr-php/commit/5afa38a45d3371bf79c78cda4d93be3ecef86985 

Added a profile class to fetch profile metadata of a given pubkey#

https://github.com/nostrver-se/nostr-php/commit/0e6cbbb80b08b2b38722d4cef68205c64b70b205 

Drupal nJump module which implements Nostr-PHP#

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

  • Request the event from one or more relays
  • Decode the provided NIP-19 identifier

For now this module is way for me to utilize the Nostr-PHP library with Drupal for fetching events.
Any event and a NIP-19 identifier can now be fetched with the following URL pattern:
https://nostrver.se/e/{event_id|nevent1|note1|addr1}

As an example, take this URL https://nostrver.se/e/nevent1qvzqqqqqqypzqmjxss3dld622uu8q25gywum9qtg4w4cv4064jmg20xsac2aam5nqqsqm2lz4ru6wlydzpulgs8m60ylp4vufwsg55whlqgua6a93vp2y4g3uu9lr 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 tiny office). 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 (yet).

Contributions to the library#

All these contributions are made by Djuri who is working on the Nostr integration in https://satsback.com and on a private messaging browser client https://n17.chat.

Removed the CLI tool from the library#

See https://github.com/nostrver-se/nostr-php/pull/93 

New / updated documentation at [nostr-php.dev](https://nostr-php.dev)#

I started to explore what is possible generating documentation using Goose as an AI agent and Claude as the LLM provider. Bootstrapping new pages with documentation works very well while I point to several resources to be used as input for the LLM (using the example snippets in the Nostr-PHP library and the Nostr NIP repository).
All commits on the master branch from 01-03-2025 till 30-04-2025: https://github.com/nostrver-se/nostr-php.dev/commits/master?since=2025-03-01&until=2025-04-30 

Some analytics#

Source: https://packagist.org/packages/swentel/nostr-php/stats 

Article image

Other Nostr stuff I would to mention I worked on#

NIP-B0 web bookmarks with CCNS.news#

I moved https://ccns.nostrver.se to a own domain https://ccns.news and has integrated NIP-B0 which we worked out how to handle web bookmarks via Nostr. Before this NIP was merged, there were already some other Nostr clients handling web bookmarks:

Also Fiatjaf started to work on an annotation noting tool (browser extension) called Lantern (which is a fork of https://hypothes.is) integrating Nostr for creating highlights and annotations on a webpage with text. This extension can also be used to bookmark web pages.

On CCNS.news there is a global feed now: https://ccns.news/global 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

When you post a bookmark now on the site, 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.

2) What do you plan to work on next quarter?#

3) How did you make use of the money?#

  • Livings costs

4) Is there anything we could help with?#

I would love to see a (closed/private) digital place with other Nostr OpenSats grantees where we can share our experiences and challenges. We could give feedback to each other as a form of encouragement. For example I'm curious how other grantees are explaining the work they to other which are not familiar with FOSS, Nostr and/or Bitcoin.

Sebastix

Sebastix

Follow my contributions on https://nostrver.se | Web of Trust foundation board member https://weboftrustfoundation.com | https://kubo.watch | https://nyves.nl | Nostr-PHP library maintainer | OpenSats grantee '24 | Creative solopreneur from 🇳🇱 | #PHP #Drupal #Javascript #Vue #InteractionDesign | Really cares about #FOSS #Privacy #Selfhosting #DigitalWellbeing | Hobbies #Cycling #Gravel #HondaCivic #Circuit

_@sebastix.dev
About Author
Sebastix
Sebastix ✓ _@sebastix.dev

Follow my contributions on https://nostrver.se | Web of Trust foundation board member https://weboftrustfoundation.com | https://kubo.watch | https://nyves.nl | Nostr-PHP library maintainer | OpenSats grantee '24 | Creative solopreneur from 🇳🇱 | #PHP #Drupal #Javascript #Vue #InteractionDesign | Really cares about #FOSS #Privacy #Selfhosting #DigitalWellbeing | Hobbies #Cycling #Gravel #HondaCivic #Circuit

Value 4 Value

Comments & Discussions (0)

Decentralized replies powered by Nostr (NIP-22 / NIP-10)
Loading Nostr comments...
🏷️ Topics
No items in this list.