Wikistr
Wikistr is a decentralised wiki platform built on the nostr:naddr1qvzqqqrcvgpzp925xvyklj3z8u56ml2j5rpduparc5htdq8eknv7kmzxmyvkc4qwqqzkummnw3eq3q8xf0[Nostr] protocol, enabling collaborative creation, editing and distribution of wiki-style content through a relay-based social network architecture. Unlike traditional wiki systems that rely on centralised servers and databases, Wikistr stores articles as Nostr events, allowing content to be published, replicated and discovered across multiple relays.
Developed by fiatjaf and contributors within the Nostr ecosystem, Wikistr is often described as a “Wikipedia client for Nostr”, extending the protocol beyond social networking into collaborative knowledge publishing.
An actively maintained fork by imattau (the “3nostr version”) significantly expands the original with modern collaborative features, a multi‑column UI, patch‑based editing, private bookmarks, and improved relay handling – all while staying fully compatible with the Nostr protocol.
History
Origins
The origins of Wikistr can be traced to early experiments in decentralised knowledge publishing on Nostr.
One of the earliest implementations was nwiki, a command-line application created by fiatjaf that allowed users to create, edit and retrieve wiki articles represented as Nostr events. Nwiki demonstrated that wiki-style collaborative editing could be implemented entirely through Nostr relays without requiring a traditional web server or central database.
Wikinostr
The concept evolved into Wikinostr, a browser-based implementation that expanded the original command-line workflow into a graphical web interface.
Wikinostr introduced article browsing, revision management and collaborative editing using Nostr-native event structures. The project explored how encyclopaedic and community-maintained knowledge could operate within the Nostr ecosystem while preserving censorship resistance and user ownership.
Wikistr (original)
Wikistr emerged as a continuation and fork of the Wikinostr project.
The repository maintained by fiatjaf significantly expanded the capabilities of earlier implementations while adopting the naming convention used across several related Nostr projects such as Gitstr, Codestr and Websitestr.
The project is implemented primarily using Svelte and TypeScript and is distributed as a web application accessible through standard web browsers.
3nostr Wikistr (imattau fork)
The imattau/wikistr fork (often called the “3nostr version”) is an actively maintained continuation of the original Wikistr. It introduces several major enhancements:
-
Kind 30818 articles – Wiki pages are published as replaceable events of kind
30818, following NIP‑54. -
Multi‑column deck UI – Browse articles, search results, settings, and editors side‑by‑side, similar to a power‑user Nostr client.
-
Relay configuration & outbox model – Users can set custom read/write relays, merged with their Kind 10002 relay list. The client can fetch articles from followed authors’ relays to improve discovery.
-
Patches (Kind 1617) – Git‑like patch events allow users to propose edits to any article, following NIP‑34 workflows.
-
Private tags & bookmarks – Articles can be bookmarked or tagged privately; data is cross‑device synced using NIP‑04 encrypted events.
-
Local history & pinning – Recently viewed articles and pinned favourites are stored locally in IndexedDB.
-
Rich content support – NostrMarkup, AsciiDoc, LaTeX, and syntax highlighting for code blocks, also available in comments.
-
Diff viewer – Side‑by‑side or unified comparison of article revisions.
-
Theme support – Modern dark theme and a traditional “Biblestr” light theme.
The fork is built with Svelte 5, SvelteKit, TailwindCSS, Vite, @nostr/tools and @nostr/gadgets, and operates as a Progressive Web App (PWA).
Architecture
Wikistr operates entirely on top of the Nostr protocol.
Articles are represented as signed nostr:naddr1qvzqqqrcvgpzp925xvyklj3z8u56ml2j5rpduparc5htdq8eknv7kmzxmyvkc4qwqqzkummnw3eq3q8xf0[Nostr] events and distributed through relays. Users publish edits directly to relays using cryptographic identities rather than interacting with a central authority.
Key architectural characteristics include:
-
Decentralised storage via Nostr relays
-
Public-key based author identities
-
Cryptographically signed article revisions
-
Relay-level replication and discovery
-
Censorship-resistant publishing
-
No central database
-
No central hosting requirement
In the imattau/wikistr fork, the client also maintains a local IndexedDB cache that is updated in the background, reducing relay round‑trips. The fork additionally supports an “outbox” model where the client can query relays that followed authors use, improving article discovery.
Because article data exists as Nostr events, multiple revisions and competing interpretations can coexist simultaneously across the network. Clients may apply their own logic for presenting, ranking or selecting revisions.
This differs substantially from traditional wiki systems such as MediaWiki, where a single authoritative database typically maintains article history and state.
Data Model
Wikistr treats articles as collections of Nostr events.
Each revision is published as a signed event associated with a specific article identifier. Historical versions remain available provided they continue to be retained by participating relays.
This event-oriented model provides:
-
Immutable revision history
-
Distributed replication
-
Author verification
-
Independent archival
-
Protocol-level interoperability
The imattau/wikistr fork further refines the data model:
-
Kind 30818 (NIP‑54 replaceable events) for wiki articles.
-
Kind 1617 (NIP‑34) for patch proposals.
-
Private bookmarks and tags stored as Kind 1059 (NIP‑51) or encrypted with NIP‑04.
The resulting structure resembles a distributed append‑only knowledge graph rather than a conventional wiki database.
Relationship to the Nostr Ecosystem
Wikistr forms part of a broader family of applications built around Nostr as a general-purpose publishing protocol.
Related projects include:
-
nwiki - command-line wiki implementation
-
gitstr - Git patch and repository collaboration over Nostr
-
codestr - source code publishing and sharing
-
websitestr - decentralised website publishing
-
nak - command-line toolkit for Nostr operations
-
Jumble.ImWald – a Nostr knowledge base client that integrates with the imattau Wikistr
-
Alexandria library – a collection of Nostr‑based reference works
The imattau/wikistr fork explicitly follows NIP‑54 (wiki articles as replaceable events) and NIP‑34 (git‑like patches).
Together these projects demonstrate an architectural philosophy in which application functionality emerges from protocol-native data structures rather than platform-specific backends.
Design Philosophy
Wikistr follows several principles commonly associated with Nostr development:
-
User ownership of content
-
Cryptographic authorship
-
Relay portability
-
Open participation
-
Protocol-first design
-
Resistance to platform centralisation
Rather than maintaining a single canonical encyclopedia, Wikistr enables multiple perspectives and competing revisions to coexist. Authority emerges from user and client preferences rather than central moderation.
The imattau fork adds practical collaboration tools (patches, diffs, private bookmarks) while preserving these principles: patches let anyone suggest improvements without overwriting the original, and private data stays encrypted or local.
This approach aligns more closely with distributed knowledge networks than traditional collaborative encyclopedias.
Significance
Wikistr is among the earliest attempts to implement a wiki system entirely on top of Nostr.
The project demonstrated that Nostr could support collaborative publishing workflows beyond social networking and messaging, expanding the protocol into areas traditionally served by centralised content management systems.
The imattau/wikistr fork proved that a full‑featured wiki – with diffs, rich markup, patch‑based editing, private bookmarks, and cross‑device sync – can operate without any central server, using only Nostr relays and client‑side storage.
Alongside Gitstr, Codestr and related projects, Wikistr helped establish the concept of protocol-native applications within the Nostr ecosystem.
Lineage
The generally accepted repository lineage is:
nwiki
↓
Wikinostr
↓
fiatjaf/wikistr (original)
↓
imattau/wikistr (3nostr, actively maintained)
This progression reflects the evolution from a command-line proof of concept to a browser-based collaborative publishing platform operating entirely on Nostr infrastructure – with the imattau fork representing the current, feature‑rich continuation.
See Also
-
NIP‑54 (Wiki)
-
NIP‑34 (Git patches)
Contributors
-
lostcause (original article)
-
imattau (fork maintainer)
-
fiatjaf (original author)
Comments
Public conversation about this article.
No comments yet.
Article metadata
About this entry
Event Id
Raw event
Other authors
No one else has published this topic yet.