What is Nostr?
sebastix / Sebastian
npub1qe3…zefe
2025-03-17 15:05:58

sebastix on Nostr: Last month jurjendevries and Iftakharhasnayenabir have started to work on a social ...

Last month jurjendevries (npub1l77…swft) and Iftakharhasnayenabir (npub1zqc…uza5) have started to work on a social bookmark client yumyume (npub1msw…xl8w) using Nostr (inspired by Del.icio.us from the past). Earlier this month they changed to event kind 39700 for broadcasting the Nostr events with the bookmark / link data accross the network. They did this because sepehr (npub18c5…0we7) already created a social bookmark like client https://pinja.in when fiatjaf (npub180c…h6w6) raised this idea:
https://pinboard.in/ is a thing that would work great on Nostr: it's personal and social at the same time. You collect links that interest you and add comments for yourself, but with enough people doing that it creates a hivemind of potentially interesting content.

The only requirement is that it is blazingly simple and fast for managing your stuff.


This morning I integrated this behaviour too on https://ccns.nostrver.se. So new created links are now broadcasted as kind 39700 events to several relays.
So we have now 3 clients using this kind number and I have some suggestions to improve the currently used event structure which I wrote down in this article:
[https://ccns.nostrver.se](https://ccns.nostrver.se) is a (Drupal powered) website that I started to build in January 2024 (source on [Github](https://github.com/Sebastix/CCNS) and [Gitlab](https://gitlab.com/sebastix-group/nostr/CCNS)). It's a fork of an earlier (abandoned) project [https://cchs.social/](https://cchs.social/).
Currently CCNS is a link aggregration website and for now it's only my who is using it to save and share Nostr related links. When you post a new link, you have the option to cross-post it as a Nostr note ([example here](https://njump.me/nevent1qvzqqqqqqypzqpnrnguxe8qszsshvgkvhn6qjzxy7xsvx03rlrtddr62haj4lrm3qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qg3waehxw309ahx7um5wgh8w6twv5hsqgpuxtkxd4uzmc6jtuqqhhq7dc5mrfqjat5zutf9paxgtdd3th856qhxh04q)).

### Kind 39700

Last month [Jurjen](https://yumyu.me/npub1l77twp5l02jadkcjn6eeulv2j7y5vmf9tf3hhtq7h7rp0vzhgpzqz0swft) and [Abir](https://yumyu.me/npub1zqcaun7cgynyaw6dapylz9cq7g4e62kj7z78hrklkwah2dcajyeqc9uza5) has started to work on a social bookmark client built with Nostr (inspired by [Del.icio.us](https://en.wikipedia.org/wiki/Delicious_\(website\)) from the past). Earlier this month they changed to event kind 39700 for broadcasting the Nostr event with the bookmark / link data accross the network. They did this because [Sep](https://www.pinja.in/profile/npub18c556t7n8xa3df2q82rwxejfglw5przds7sqvefylzjh8tjne28qld0we7) already created a social bookmark like client called [Pinja](https://pinja.in) when fiatjaf raised [this idea](https://njump.me/nevent1qvzqqqqqqypzqwlsccluhy6xxsr6l9a9uhhxf75g85g8a709tprjcn4e42h053vaqytkummnw3ez66tyvgaz7tmrv93ksefdwfjkccteqqstqqprcjtg6pwut78squstta40qqqfr062y96zjgd2z52kg4k4s3c892uhx).

With these developments to me it was very obvious to integrate the feature that new created CCNS links are now also published as kind 39700 events to the Nostr network. This means that links are now also distributed on multiple relays as kind 39700 events and are accessible in multiple clients (Yumyume and Pinja).

Here you can see the same data, from left to right:

* [CCNS](https://ccns.nostrver.se/l/asknostr)
* [Pinja](https://www.pinja.in/pin/naddr1qvzqqqymzspzqpnrnguxe8qszsshvgkvhn6qjzxy7xsvx03rlrtddr62haj4lrm3qythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qp2rxwfhxqcr5vpkxcenjcfn8qmxxwtrxycrzdpjxymnvv3jvd3kycmxxscrjvpcvv6xvvtpxp3nxvm9xgekvwryxejrvwrxx3skye3kx56kvwrxxucn5cmrdeej6ctnddhx7um5wg0z83le)
* [Yumyume](https://yumyu.me/npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe)
* [njump](https://njump.me/nevent1qqs2rkxn0w82rx3dszap0qq7gdtj6vg2z8rvgsd40czr2sfjkx5zr2spp4mhxue69uhkummn9ekx7mqpzemhxue69uhhyetvv9ujumn0wd68ytnzv9hxgq3qqe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acs4x934u)

![](/sites/default/files/inline-images/Screen-Shot-2025-03-17-11-36-40.88.png)

#### Structure

The current data structure for the 39700 kind looks as follow:

* "id": "event\_id"
* "pubkey": "pubkey author"
* "created\_at": unix\_timestamp
* "kind": 39700
* "tags":
* "description", "description text here"
* "d", "unique-slug-value"
* "t", "hashtag"
* "content": "https://book\_mark\_url"  
* "sig": "signature"

As there is no NIP (yet) for this event kind, I see some possible improvements:

* Use the bookmark URL as `d` tag so it can be used as a unique identifier for every client
* Use the content field for the description
* Use the `a` tag for an addressable event following NIP-01: `["a", "39700:pubkey_of_author:", recommended_relay_url_optional]`

On short-term I don't have any plans to developer CCNS further, as most of my attention goes to the development of the [Nostr-PHP](https://nostr-php.dev) library and Drupal related contribs using that library. That said, CCNS is a Drupal project but all the Nostr stuff is done client-side (Javascript) with [NDK](https://www.drupal.org/project/nostr_dev_kit) and Nostr-PHP is not used (maybe this will change in the future).
(fallback URL: https://nostrver.se/blog/links-posted-ccns-are-now-broadcasted-nostr-events-kind-39700 for client who don't render those bech32 formatted keys).
Author Public Key
npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe