BR048 - Nostr: Coracle, Damus, NDK, Snort, Primal, DVMs + MORE ft. William Casarin, Pablo & Hodlbod
I’m joined by guests William Casarin, Pablo and Hodlbod to discuss the latest updates in Nostr.
Stats
00:02:19 Stats rundown from Primal:
Users: 557,963
Public Keys: 33,362,789
Zaps: 1,729,678
BTC Zapped: 137.16945829
Public Notes: 66,705,394
Reposts: 13,692,981
Reactions: 24,111,325
All Events: 132,307,294
Nostr
Software Releases & Project Updates
NIPs
00:03:23 NIP-72: Moderated Communities (Reddit Style) Merged
00:14:49 NIP-79: Digital Contracts, Covenants, and Agreements PR Open
Introduces a new proposal (NIP-79) to standardize the representation of digital contracts, covenants, and agreements within the Nostr protocol. This NIP provides guidelines for creating, signing, and managing these entities, enhancing the protocol’s capabilities for secure digital transactions.
Clients
00:16:08 Coracle
Now supports kind 1808 [Demo]
Fix scrambled person list
Add NIP-32 labeling for events
Add Explore tab which surfaces labels from your follows list
Add NIP-36 reports
Fix zaps bug
Fix person info relays
Switch to nostr.build for image hosting
Fix url placement in non-empty text box
Stop sending invalid search requests
Stop loading new notes automatically
Refactor gift wrap stuff in preparation for extension support
Optimize store.notify
Add field components
Fix spotify album embed
00:19:36 Damus
v1.6-17 (Aug 23)
Add support for status URLs
Click music statuses to display in spotify
Add settings for disabling user statuses
Nostrscript + Nostrdb will be amazing. Will Post
“I currently have support in nostrscript for fetching from relays, but if scripts work against a database in realtime they will be much faster and simpler.”
“Nostrdb can be responsible for syncing stuff in the background while scripts work off the local cache (using the same relay query interface)”
00:23:58 Amethyst
Release v0.75.1: Status updates
Adds support for NIP-315: Status Updates
Adds support for NIP-40: Expiration Timestamp, prunes events accordingly
Amethyst’s new DM model
Allows users to backup their outgoing DMs to a separate Nostr pubkey. If somebody gets access to the main key, they won’t be able to find or even count your outgoing messages. That will create a new class of micro apps to manage DM backup and recovery.
To recover DMs, the backup client re-signs all past messages to a new key your main client just created. If you have two or three clients, you can use 2-3 DM keys. The backup client can keep forwarding your own backed-up DMs to 2-3 other keys so that all clients can sync and see the same messages.
You don’t need to trust the counter party or the group you are talking with. They cannot expose your messages without significantly exposing themselves (leaking their main account’s private key).
00:24:29 Snort
Snort V2 Design
NIP-24 Encrypted secret chats (nsec login only)
NIP-13 Proof of Work (POW)
NIP-31 Alt tag spec for unknown event kinds
Render mentioned zap goals (Kind 9041)
Embed fonts in src (No more google fonts requests)
Native key storage for Android app (Nip7os interface)
nsecBunker support
00:31:14 Iris
Added note previews:
Content loading, infinite scroll and performance improved
Photo grid display
Now supports secret chats that don’t leak metadata. It works also for group messaging. (30 Jul)
Method
A shared nostr account is created for the secret chat / group. Its nsec can be shared via link, qr code or invite message from a single-use anonymous account.
Users can then communicate using the shared account’s messages-to-self. Iris signs the inner messages with your own key, but the arrangement could be used for anonymous group messaging as well.
Inner message encryption to be added at some point, so you can ensure that only certain group participants can read the message.
This arrangement doesn’t introduce any new event kinds and works also in clients that haven’t implemented a special UX for it. You can just log in with the nsec and message yourself.
Earned hrfbounties bounty #3.
Current Heredia Update
Revamped Settings
Posts: New Post button has found a new home in the feed. Spruced-up posting screen. Easy tagging
Fresh Home Feed Design
User Statuses (NIP-38/NIP-315): User statuses are now integrated
00:31:31 Nostr.kiwi
Update 1 (19 Jul)
Browse by communities and user groups
Progressive web app
Communities feed, communities long form, and communities chats
3 modes of sign in - nsecbunker, browser extension, your nsec
#zaps - one tap zap on all devices, customize your list of zap amounts in settings
#zaps with NWC and Alby NWC
#zaps with wallet (browser and mobile)
spam filters
create user groups and browse feed by user groups
Update 2 (21 Jul)
Search - Users, communities and tags
List of a list of hashtags - Instead of browsing feed by a single tag, you can group a set of tags. That means you can group #meme, #memes, and #funny and browse in your feed.
00:31:57 njump
Exited the beta and is ready for production
Njump currently lives under nostr.com, you can reach it appending a nostr (NIP-19) entity (npub, nevent, naddr, etc) after the domain, nostr.com/p/{nip-19-entity}, for example:
The typical use of njump is to share a resource outside the nostr world (clients), where the nostr: schema is not (yet) active.
00:35:32 Nostur iOS 1.5.0
Follow hashtags
Undo send after posting
Offline posting: will save and post next time there is a connection
Share post with web link
Lists are now Feeds
Relay Feeds
Music streams (m3u8)
Improved tab button logic for navigating/scrolling
Improved image upload quality
00:36:37 Lume v1.2.0
UI: New UI
UI: New onboarding process
Feat: Add “more” button to note, user can open as new screen or copy shareable link (nostr.com)
Feat: Add splash screen
Feat: Relay discovery (part 3/3 of onboarding process)
Feat: Replace user’s follows widget to Network, it will show all postr from user’s following and everyone they follow
Feat: Save onboarding process state, if user closes app, user can restart when reopen
Feat: When user upload image in composer, also publish it as NIP-94
00:37:51 Primal
Web App
Now has an edit Profile page (25 Jul)
iOS
TestFlight 2 is here (26 Jul): Media uploads, faster feed refresh, solidified reply UI and note editing, plus a bunch of fixes. IMO, daily driver candidate.
Android
v0.14.3 - Beta 3 (Aug 10)
Explore: content search
Explore: user search
Profile: follow/unfollow
Launched a new content moderation system for Nostr:
Perfect transparency & complete user control
All filtering is optional
Subscribe to other user’s mute lists
Subscribe to filtering algorithms
Search filter lists
Define “never filter” allow lists
Development Kits
00:47:40 NDK v0.8.21 - The Protocol Is the App Store
Adds NIP-89 (app stores need not apply)
Adds NIP-90 support (data vending machines)
Adds NIP-99 support (craigslist-like events)
NDK-Dexie-cache released
NDK-Svelte-components released
Highlights component support
UserCard and a few more user-centric components
NDK-Svelte: Make it extraordinarily easy for non-nostr developers to develop nostr apps
Libraries
00:53:37 Rust Nostr v0.23.0
implement nip-39 external identity tag parsing
Allow to stop and (re)start Client
SDK: improve send_msg method
SDK: add FilterOptions
Implement serde serializers for NostrWalletConnectURI
Feature/add NIP-58 support in eventbuilder
Add support to NIP94
Add support to NIP53
Add httpdata struct to get http auth information from tags in event
SDK: Add wait_for_ok to Options
Improve subscriptions system
Add new functions to NWC
Other
00:54:18 Highlighter v0.2.1 “Thanks, Comrade Google!”
Create nostr highlights from ANYWHERE on the web, (including paywalls)
Create BOOKMARKS from anywhere on the web
Add comments to any website
Add nostr encrypted bookmarks
All WITHOUT granting ANY access to the extension
Move search to a separate route at /search (seo related);
Use params instead of searchParams when searching (seo related);
Render appropriate meta tags on server side (seo related);
Use mute lists to filter out search results that aren’t questions (previously only recent questions were curated);
Fix mentions and question quotes in search results;
Fix username position (answers)
00:58:07 Data Vending Machine - Service Provider by Pablo [Demo]
This is an implementation of a very simple Data Vending Machine Service Provider.
This codebase uses @tiero ‘s Prem AI (premai.io) for easily self-hostable AI backends.
Try them with Highlighter’s Dev environment (use the search bar at the top with, e,g, an Overcast URL)
01:04:30 Stemstr is now live
Create, connect and collaborate to bring amazing new music into the world.
The place where music can be freely downloaded, remixed and shared with others.
01:04:40 Amber: v0.0.7
Support for get_public_key
UI for encrypt/decrypt nip04
Updated dependencies
01:05:42 Magic Webstore
Store metadata: view any store’s activity metrics
Nostr auth: connect your store to your nostr identity
Notifications: authed merchants get a DM when they get a sale
Visa gift cards: turn your store proceeds into dollars.
01:05:52 Nostree.me v.0.1.2 “Slug me baby”
List slugs:
Use slugs to identify your lists, this results in very friendly urls
Group several lists together using the same slug in both lists
Unique identifiers
These are unique urls for your lists, they use nostr standards (nip19) to work, and compared to slugs they will always point to a unique list
Docs: New docs page to help with questions about using nostree
Change of kind for lists: Lists will be created with kind30001 to get more interoperability with all the protocol.
Many UX improvements
01:07:43 nostr-zap v0.21.0
Cache lightning wallet uri a162660
Bitcoin Projects Leveraging Nostr
01:08:01 Geyser integrated Zaps
Zap from any nostr client Geyser projects
Get recognized in the leaderboard, no need to login!
The funding amount will be verified by Geyser’s node (so Zaps can’t be faked!)
01:08:53 Umbrel
Now you can sync your private relay on Umbrel with public relays, and back up past & future Nostr activity, even if the connection between your client & your private relay goes down.
Project spotlight
01:10:02 Vendata.io: A Nostr client to interact with data vending machines by Pablo
Home page: a feed of “global” data vending machine activity
See the DVM requests you published
See the results you received
Create generic job chains:
Create a personalized trending topics list based on what you’ve written in the past week
Create transcription of 10 podcasts and compile them into a TL;DR of 5 paragraphs
Create AI images based on the content of every note you’ve written in the past week
Summarize what topics your network has been most actively discussing in the past 24 hours into a well-formatted one-pager
01:11:54 FOMOstr – Twitter’s “You might have missed” on nostr!
01:14:50 Zapgoals: A zap fundraisers for bitcoin donations for your goals launched.
01:14:58 0xchat: A new privacy-focused chat app built on the Nostr protocol.
01:15:27 atomstr: RSS/Atom gateway to Nostr is live. It generates Nostr profiles for each RSS feed and posts new entries to given Nostr relay(s). Users can subscribe to these feeds by connecting to the relay.
01:15:54 Vault: A free, open source, and decentralized password manager.
Vault utilizes zero-knowledge encryption to safeguard your data while storing it on NOSTR network for enhanced resilience.
Vault saves all your passwords and notes securely by encrypting your data twice; once with your secret key and once with your passcode.
Your data are not stored on any centralized server, but rather on a set of relay servers. This means that it is resilient to attacks and that you are the only one who can access your passwords.
Vaults facilitate searchable items, allowing you to effortlessly copy the desired information with a single click.
Vault is free, open source, and decentralized
01:16:41 w3.do - A free URL shortener service enabled by the NOSTR protocol
01:17:21 Imp Chat by Impervious: Private Group Messaging for #nostr
Mobile application that brings private group messaging to #nostr.
Positions ‘stealth’ public keys at the heart of its design, delivering unrivaled privacy by ensuring your private communications remain untraceable and unassociated to your public identity - all while retaining the ability to receive and post notes with your publicly associated identity.
Incorporates group message identity decoupling and variable message padding, along with end-to-end encryption, disappearing messages, clandestine public keys, private user chat groups, advanced encryption techniques, and user-controlled functionalities
Request early access to Imp Chat on Test Flight
01:17:21 Pulsar [Github / Clearnet Site / TOR Site]
Pulsar is a simple nostr group chat app that aims to follow best practices to secure all of the data and metadata associated with a chat instance.
It works by sending fixed-length, fixed-frequency messages over the nostr messaging network.
Each chat instance is encrypted with a shared secret that also acts as an invite for others to join the chat group and decrypt the messages
Each real keypair of the participants in the chat instance is wrapped in an ephemeral keypair (which is what is broadcasted to the relays)
All messages are encrypted by default with the shared secret using the ephemeral keypairs
A fresh ephemeral keypair is also created for each message
All messages are padded with garbage data to give them each the same length
Additionally a padded / encrypted message is posted every 3 seconds while the instance is open (this is the pulse) which prevents outside observers from identifying the real messages AND when real messages are posted
01:21:19 Spring: The Nostr Browser for Android [First Look]
Current Features:
Add nsec keys or npubs, switch between keys
Browse events on the homepage
Open any event in any web app that supports this event kind and has been published on nostr using NIP-89
Open/close/hide the browser tabs, grouped by app/domain
Log in inside the opened apps as if you have the ‘browser extension’ (nip-07 interface injected into tabs)
Pin apps/tabs to your app “drawer” for fast access
Access your contact list at the search page, profiles sorted by recently-accessed first
Search through profiles, notes and long posts
Tab menu - if there is an event-id/npub in the url of the opened tab, you can zap the event, or open with another app from the menu
Context menu - if you long-tap on a link with event-id/npub in the url, you can zap/open-with from the context menu
Nostr: links clicked inside a tab are handled by showing a list of apps that support this event (NIP-89)
Long-tap on a text selection with event-id/npub to open the context menu to zap/open-with
News & Noteworthy
Hypernostrization
01:28:21 Apple allowed Current to keep the zap button on posts
Current explained how and why in their blog post on habla.news
Events
01:30:23 Nostrasia registrations open
All Unconference updates will be communicated via Notes on the Official Nostrasia account or via Nostrasia official account DM. The npub for the official Nostrasia account is: npub1nstrcu63lzpjkz94djajuz2evrgu2psd66cwgc0gz0c0qazezx0q9urg5l
The personal npub that you enter into this form will receive a DM with your ticket once tickets are distributed. This may be several weeks from now. You must have access to that ticket number when registering in-person at the venue.
01:31:27 Nostrville Free two-day summit focused on the future of nostr, with an emphasis on the power of nostr + bitcoin (2023-11-09 - 2023-11-11)
01:32:11 Pleblab Introduces the NostrDev course
“In just under 8 hours, we’ll guide you from being a novice to becoming a proficient Nostr developer, enabling you to create resilient, censorship-resistant decentralized networks.”
Who is this course for?
Anyone wants to start learning how to code on Nostr
Anyone who is trying to learn to code
Those looking to develop on freedom tech
Digital privacy enthusiasts looking to expand their knowledge
Anyone wants to build a Nostr Reddit
Reads & Resources
01:32:50 Here’s a list of our top recently released reads and resources:
NOSTR GUIDE by uselessshit
Apple allowed Current App to keep the zap button on posts by Current on Habla.news
Episode submission ideas
We’re looking for ideas for interesting panel conversations. To send Bitcoin related questions, just go to bitcoin.review and follow the contact links at the bottom of the page.
Get in touch with the pod
Nostr & LN ⚡nvk@nvk.org (not an email!)