Holochain hApp for collaborative diagramming.
Real-time colloaboration delivered by syn.
PREREQUISITE: set up the holochain development environment.
Outside of nix shell you will need rust installed:
https://www.rust-lang.org/tools/install or https://rustup.rs/
Enter the nix shell by running this in the root folder of the repository:
nix develop
npm install
Run all the other instructions in this README from inside this nix-shell, otherwise they won't work.
npm start
This will create a network of 2 nodes connected to each other and their respective UIs. It will also bring up the Holochain Playground for advanced introspection of the conductors.
npm run dev
This will not launch a UI, you will have to open a browser window and navigate to the Local address provided by VITE. It can take a moment for the UI to come up after visiting the URL, let it load.
npm test
Create a custom network of nodes connected to each other and their respective UIs with:
AGENTS=3 npm run network
Substitute the "3" for the number of nodes that you want to bootstrap in your network. This will also bring up the Holochain Playground for advanced introspection of the conductors.
To package the web happ:
npm run package
You'll have the slate.webhapp
in workdir
. This is what you should distribute so that the Holochain Launcher can install it.
You will also have its subcomponent slate.happ
in the same folder`.
This repository is using these tools:
- NPM Workspaces: npm v7's built-in monorepo capabilities.
- hc: Holochain CLI to easily manage Holochain development instances.
- @holochain/tryorama: test framework.
- @holochain/client: client library to connect to Holochain from the UI.
- @holochain-playground/cli: introspection tooling to understand what's going on in the Holochain nodes.
Copyright © 2023,2024 Holochain Foundation & Lightning Rod Labs.
This program is free software: you can redistribute it and/or modify it under the terms of the license provided in the LICENSE file (MIT). This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.