No description
Find a file
Lee Smet d29a8dd052
All checks were successful
Build Holochain hApp / build (push) Successful in 4m35s
Modify client example to run some actual commands with cli
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2026-01-06 17:39:40 +01:00
.cargo Fix key value to actually store data 2025-12-18 15:52:11 +01:00
.github/workflows Install git in runner 2026-01-06 13:48:45 +01:00
cli Implement groups and ACL 2025-12-19 16:18:33 +01:00
conductor Fix conductor config file 2026-01-06 16:31:28 +01:00
scripts Modify client example to run some actual commands with cli 2026-01-06 17:39:40 +01:00
vxeddsa_support Implement groups and ACL 2025-12-19 16:18:33 +01:00
workdir Add Holochain project structure with zomes, CLI, and build scripts 2025-12-17 11:53:21 +01:00
zinit Update zinit start script 2026-01-06 16:55:35 +01:00
zomes Implement groups and ACL 2025-12-19 16:18:33 +01:00
.gitignore Simplify README.md 2026-01-06 13:58:30 +01:00
Cargo.toml Implement groups and ACL 2025-12-19 16:18:33 +01:00
README.md Simplify README.md 2026-01-06 13:58:30 +01:00
rust-toolchain.toml Add Holochain project structure with zomes, CLI, and build scripts 2025-12-17 11:53:21 +01:00

Holochain Key-Value Store

A distributed key-value store built on Holochain.

Quick Start

./scripts/install.sh   # Install dependencies
./scripts/build.sh     # Build the hApp
./scripts/run.sh       # Start the conductor
./scripts/test.sh      # Run integration tests

How do I install?

./scripts/install.sh

This installs Rust, the WASM target, Holochain CLI, and creates the conductor directories.

How do I run a node?

./scripts/build.sh     # Build the hApp first
./scripts/run.sh       # Start the conductor
./scripts/stop.sh      # Stop the conductor

The conductor runs via zinit (if available) or screen as a fallback.

How do I call the chain?

Use the CLI client:

# Build the CLI
cargo build --manifest-path cli/Cargo.toml

# Example commands (with conductor running)
./cli/target/debug/holokvs --port 8888 --app-id kv_store set mykey "Hello World"
./cli/target/debug/holokvs --port 8888 --app-id kv_store get mykey
./cli/target/debug/holokvs --port 8888 --app-id kv_store list
./cli/target/debug/holokvs --port 8888 --app-id kv_store delete mykey

For signed operations, provide an X25519 private key:

./cli/target/debug/holokvs --port 8888 --app-id kv_store set mykey "value" --x25519-sk <hex-key>

Where do I change logic?

  • Zome logic: zomes/coordinator/src/lib.rs
  • Data model & validation: zomes/integrity/src/lib.rs
  • CLI client: cli/src/main.rs

Project Structure

holo_ledger/
├── scripts/            # Build, run, and test scripts
├── zomes/
│   ├── coordinator/    # Application logic
│   └── integrity/      # Data model & validation
├── cli/                # Rust CLI client
├── conductor/          # Conductor config and data
├── workdir/            # DNA/hApp manifests
└── zinit/              # Process management

License

MIT