- 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
.
- Build the DNA (assumes you are still in the nix shell for correct rust/cargo versions from step above):
npm run build:happ
npm run test
To test out the UI:
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.
To package the web happ:
npm run package
You'll have the notebooks.webhapp
in workdir
. This is what you should distribute so that the Holochain Launcher can install it.
You will also have its subcomponent notebooks.happ
in the same folder`.
We are 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/client: client library to connect to Holochain from the UI.