Skip to content

Project · developer-library

contacts

a building block for managing contactsSmall zome for managing a contact list for an agent
How you run it
not recorded
Holochain version
0.1.3
Activity
stalled
Checked
27 October 2026

What is contacts and what is it for?

contacts is a small reusable Holochain module that lets an application keep a list of the other agents it has added or blocked. It is distributed as a zome and a JavaScript package of Web Components, so other Holochain projects can include it rather than writing their own contact handling.

contacts belongs to holochain-open-dev, a community organisation that builds and shares reusable open-source building blocks for Holochain applications. Its own documentation — which describes the project as of its most recent update — presents contacts as one of those building blocks rather than as a finished application: a module other Holochain projects can pick up and include in their own DNA. Nothing in the README records when or why the work was started.

In plain terms, the module keeps a list of the other agents a Holochain application has added or blocked — the contacts an app decides to remember about. It is deliberately small and assumes as little as possible about the DNA it is dropped into, so a project can add contact handling without adopting a larger framework. The same work is also packaged as an npm module of browser-friendly Web Components for the interface side.

A developer building a Holochain app that needs to track which agents it trusts or has blocked can add contacts as a dependency, register it in the DNA's dna.yaml, and compile, following the numbered steps in the README. That README is the fullest maintainer documentation reachable today; it marks its 'Including the UI' section as still to be written, so the JavaScript package is described but has no documented usage.

How to get it

As a library

  1. Create a folder for the zome inside the consuming DNA's zomes directory, with the name you want the zome to have in your DNA.
  2. Add a Cargo.toml in that folder, then add the module as a git dependency: contacts = {git = "https://github.com/holochain-open-dev/contacts", package = "contacts"}
  3. Create a src folder beside the Cargo.toml containing the line: extern crate contacts;
  4. Add the zome into your dna.yaml file with the name contacts.
  5. Compile the DNA with: CARGO_TARGET=target cargo build --release --target wasm32-unknown-unknown
  6. Interface usage is not documented: the README's 'Including the UI' section is marked TODO.

Source: https://raw.githubusercontent.com/holochain-open-dev/contacts/main/README.md

Questions people ask

How does contacts get added to a Holochain DNA?
As a build-time dependency: the README instructs adding contacts to the consuming DNA's Cargo.toml as a git crate, declaring an extern crate in a src file, registering the zome in dna.yaml under the name contacts, and compiling the DNA for wasm32-unknown-unknown. source
Is there a user interface for contacts?
The README says the module is packaged with an npm package of Web Components, but its 'Including the UI' section currently reads TODO, so no usage instructions for that package are documented. source
Who is contacts meant for?
Holochain developers building other DNAs: the README states the module is designed to be included in other DNAs while assuming as little as possible from them. source

From 3 public sources, checked 23 September 2026.

Try contacts

  • Code on GitHubOpen on GitHub ↗Last change 21 June 2023.
  • ReleaseNo GitHub release recorded.
  • The project's own files do not say how it is run.

Details & sources

Evidence

Last change
api.github.com/repos/holochain-open-dev/contactslisted by a third party · seen since 20 October 2026 · github.repository@1
Activity
api.github.com/repos/holochain-open-dev/contactslisted by a third party · seen since 20 October 2026 · liveness@1

Compatibility

holochain-client
—
happ.yaml
absent
web-happ.yaml
absent
Do you maintain contacts?Add your name to this project’s page.
Claim this page