Skip to content

Project · developer library

y-holochain

a toolkit for real-time shared editingHolochain provider for Yjs -- build real time p2p shared editor apps
How you run it
not recorded
Holochain version
0.2.1
Activity
stalled
Checked
27 October 2026

What is y-holochain and what is it for?

y-holochain is an open-source library that lets a Yjs shared document — the data model behind many collaborative editors — be held and synchronised between participants through Holochain rather than through a central service. It exists so that developers building on Holochain can add real-time shared editing while keeping the editor bindings Yjs already provides.

y-holochain is published under the holochain-open-dev organisation as a Holochain provider for Yjs, the shared-data library behind many collaborative editors. The project states its purpose plainly: to make it easier to build peer-to-peer, real-time collaboration software using Holochain, reusing the editor bindings Yjs already offers for editors such as Quill, ProseMirror and TipTap.

In practice it is two pieces that meet in a single app. A pair of small Rust zomes — one integrity zome and one coordinator zome — sit inside a DNA and store and serve the shared document. On the front end, a JavaScript package wraps a Yjs document in a provider that talks to those zomes, so edits made by one participant reach the others while the editor keeps the bindings it already had.

A developer adding it to an existing project scaffolds a yjs zome, adds the two crates, and replaces each zome's lib.rs with the provided crate. After creating a document through a zome call, the front end builds a HolochainProvider around the Yjs document and binds it to an editor, exactly as Yjs documents are bound elsewhere. The repository README carries the full steps and a worked example. [JSON ends — FAQ below]

How to get it

As a library

  1. Scaffold a yjs zome in your DNA: run 'hc scaffold zome yjs'.
  2. Add the coordinator crate to the zome: run 'cargo add -p yjs hc_zome_yjs_coordinator'.
  3. Add the integrity crate to the zome: run 'cargo add -p yjs hc_zome_yjs_integrity'.
  4. Replace the integrity zome's lib.rs with: extern crate hc_zome_yjs_integrity;
  5. Replace the coordinator zome's lib.rs with: extern crate hc_zome_yjs_coordinator;
  6. In your front end, import HolochainProvider from 'y-holochain' and construct it with the Holochain client, the cell role name, the 'yjs' coordinator zome name and the document's ActionHash, then bind the Yjs document to your editor as usual.

Source: https://github.com/holochain-open-dev/y-holochain

Questions people ask

What do I need in place before using y-holochain?
A Holochain DNA carrying a yjs integrity zome and a yjs coordinator zome, and a front end that imports the y-holochain package and points a HolochainProvider at the cell and zome holding the document. source
Which editors can it be used with?
Editors that Yjs already supports through a binding; the project's README names Quill, ProseMirror and TipTap as examples. source

From 3 public sources, checked 23 September 2026.

Try y-holochain

  • Code on GitHubOpen on GitHub ↗Last change 9 August 2023.
  • Release0.0.5Published 9 August 2023.
  • The project's own files do not say how it is run.

Details & sources

Evidence

Release
github.com/holochain-open-dev/y-holochain/releases/tag/0.0.5shipped in a release · seen since 20 October 2026 · github.release@1
Last change
api.github.com/repos/holochain-open-dev/y-holochainlisted by a third party · seen since 20 October 2026 · github.repository@1
Activity
api.github.com/repos/holochain-open-dev/y-holochainlisted by a third party · seen since 20 October 2026 · liveness@1

Compatibility

holochain-client
0.16.0 · package.json @ 8739f47
happ.yaml
absent
web-happ.yaml
absent
Do you maintain y-holochain?Add your name to this project’s page.
Claim this page