Sirius's avatar
Sirius
sirius@iris.to
npub1g53m...drvk
developing iris.to
Sirius's avatar
Martti Malmi 1 year ago
Published npm package nostr-social-graph and its demo on https://search.iris.to It builds a social graph from Nostr follow events. You can query followed users, followers and follow distances. You can change the graph root user, efficiently calculating new follow distances. It maps public keys to integers as internal representation, consuming less memory and storage when serialized. My graph of 23 000 users and 120 000 follow relationships is 2.2 MB on disk. The package also includes pre-crawled datasets of follows and profiles that you can optionally use. They're used on https://beta.iris.to and https://search.iris.to for hydrating the search index and profile cache. https://beta.iris.to uses the social graph for filtering of replies and notification, so you don't need to see that reply guy again (unless he's followed by people you follow — need to add "muted by followed users" support). https://www.npmjs.com/package/nostr-social-graph
Sirius's avatar
Martti Malmi 1 year ago
As clients implement WoT filtering based on follow lists, the meaning of "follow" might become more like "endorsement", whether we like it or not. Your followers might complain / unfollow if your follows bring unwanted content to their feed. Other lists would be used when you just want to follow without endorsing.
Sirius's avatar
Martti Malmi 1 year ago
おはようございます ☕️ Woke up at 5 am Helsinki time to adjust to Tokyo time.
Sirius's avatar
Martti Malmi 1 year ago
Added cashu.me wallet to https://beta.iris.to . When you sign in as a new user, you're all set to send and receive zaps without configuring anything. It sets [npub]@npub.cash as your lightning address. Haven't implemented zap button send via cashu yet, but you can copy the zap invoice and pay it in the wallet. image
Sirius's avatar
Martti Malmi 1 year ago
image Nostr.band API down @brugeman When API is down and user not logged in, maybe I should show "Follows" or "Adventure" feed curated by my own social graph or something as a placeholder. Best would be NDK SQLite adapter which could calculate the trending stuff locally.
Sirius's avatar
Martti Malmi 1 year ago
Is there some way to receive normal zaps to a cashu wallet?
Sirius's avatar
Martti Malmi 1 year ago
When ZapGuy fake zap spam? I don't think many clients filter zappers.
Sirius's avatar
Martti Malmi 1 year ago
This weird song got stuck in my head "Warm Leatherette" live 6.23.06. Trent Reznor, Peter Murphy, Atticus Ross, Jeordie White.
Sirius's avatar
Martti Malmi 1 year ago
Check out https://new.iris.to for a ReplyGuy-free Nostr experience. When logged in, it hides replies from people who are not in your social graph. You can display the hidden messages by clicking on the button underneath. There's also "Adventure" feed for showing all notes from your social graph: image I have worked on it together with the Nestr "decentralized GitHub" team. Nestr frontend and Iris are built from the same codebase using build configuration options for different branding and features. You can easily extend the configuration to make your own branded version. Source code to be released soon™. The client is based on NDK. Full SocialGraph up to 2nd degree is downloaded on first login, and thereon only missing follow lists are queried. I'll be experimenting with options to go beyond 2nd degree. The graph is serialized and saved locally in a compressed format, which is much faster to load than it is to reconstruct the graph from Nostr events. My graph consisting of 260 follow lists and 23000 users is 3 MB on disk. It's still very much work-in-progress and mostly tested on desktop Brave, but it's already my favorite way to browse Nostr.
Sirius's avatar
Martti Malmi 1 year ago
I wrote this in junior high school. The teacher didn't appreciate it, and I had to write a new one. image