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.
Integrated RelayResponse classes
Pull requests:
Documentation: https://nostr-php.dev/guides/relay-responses
Researched and build a proof of concept of a handling async requests and concurrency
I have published the research outcomes here: https://nostr-php.dev/references/async-concurrent-requests. I also created a page here https://nostr-php.dev/guides/asynchronous-and-concurrent-requests with more details and a code snippet. The famous Http/Guzzle client is used for handling the requests in combination with a relative new piece of middleware which enables WebSockets. See https://github.com/valtzu/guzzle-websocket-middleware/issues/1 where I reached out for solving an issue with the middleware.
NIP-42 client to relay authentication
Finished, see https://github.com/nostrver-se/nostr-php/pull/67
NIP-19 bech32-encoded entities
Work in progress, see https://github.com/nostrver-se/nostr-php/pull/68
2.0.0 pre-release
See https://github.com/nostrver-se/nostr-php/releases/tag/2.0.0-alpha1
Other stuff
- New / updates documentation at nostr-php.dev:
- Nostr-PHP has also a repo at gitworkshop.dev
- My Telegram bot called Botstix can return my latest note from my personal relay (using PHP Symfony fo this), see here.
- Fixed the issue that Nostr-PHP was installed as a dev dependency (which it is not) https://github.com/nostrver-se/nostr-php/issues/61
- Added Matomo for analytics on https://nostr-php.dev which can be viewed by anyone at https://matomo.sebastix.nl/
- Applied for a Nostr stand at FOSDEM 2025 in collaboration with Jurjen and Tanja, see https://nostrver.se/blog/nostr-stand-submission-fosdem-2025 (fast forward: it got accepted!)
- Tinkered around with a Nostr relay implementation written in PHP: https://github.com/nostriphant/transpher
2) What do you plan to work on next quarter?
- Finish the NIP-19 implementation which will support every bech32 entity
- note
- npub
- nsec
- nevent
- naddr
- nprofile
- Research how the revolt/event-loop package can be used to serve as a sort of a message bus for handling async and concurrent requests in the library
- Build a final 2.0.x release
- By default and full async concurrent requests support
- Implement NIP-03
- Implement NIP-45
- Implement a firehose demo for requesting Nostr events
- Host the nostr-php.dev website as a static website with Blossom on Nostr. See https://github.com/lez/nsite and https://github.com/hzrd149/nsite-ts
3) How did you make use of the money?
- Livings costs
- I attended the Nostriga unconference. A personal recap on this expierence can be read here.
- I placed a Nostr advertisment on a billboard near the highway here. See this repo with all the assets: https://gitlab.com/sebastix-group/nostr/nostr-ads
- I attended Nostrdam and Bitcoin Amsterdam 2024 for organizing and volunteering at the Nostr booth. Here is a post with all my learnings from those days: https://nostrver.se/note/my-learned-nostr-lessons-nostr-booth-bitcoin-amsterdam-2024
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.