- Install the holochain dev environment (only nix-shell is required): https://developer.holochain.org/docs/install/
- Enable Holochain cachix with:
nix-env -iA cachix -f https://cachix.org/api/v1/install
cachix use holochain-ci
- Clone this repo and
cd
inside of it. - Enter the nix shell by running this in the root folder of the repository:
nix-shell
npm install
This will install all the needed dependencies in your local environment, including holochain
, hc
and npm
.
Run all the other instructions in this README from inside this nix-shell, otherwise they won't work.
Create a whole network of nodes connected to each other and their respective UIs with.
npm run network 3
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.
If you only want to run a single conductor and a UI connected to it:
npm start
To run another agent, open another terminal, and execute again:
npm start
Each new agent that you create this way will get assigned its own port and get connected to the other agents.
npm run test
npm run build:happ
To package the web happ:
npm run package
You'll have the habit_tracking.webhapp
in workdir
. This is what you should distribute so that the Holochain Launcher can install it.
You will also have its subcomponent habit_tracking.happ
in the same folder`.
This repository is using this tooling:
- NPM Workspaces: npm v7's built-in monorepo capabilities.
- hc: Holochain CLI to easily manage Holochain development instances.
- @holochain/tryorama: test framework.
- @holochain/conductor-api: client library to connect to Holochain from the UI.
- @holochain-playground/cli: introspection tooling to understand what's going on in the Holochain nodes.