The libraries
| Library | What it is |
|---|---|
NextGenSoftware.Holochain.HoloNET.Client |
Connect to a Holochain conductor, install hApps, call zome functions and receive signals. Everything else builds on it. |
NextGenSoftware.Holochain.HoloNET.ORM |
Save, load, change and delete your own C# classes on Holochain, with change tracking and collections. Includes the Client. |
NextGenSoftware.Holochain.HoloNET.HyperNET |
Real-time player-to-player messaging for games and apps: zones, area of interest, reliable messages. Includes the Client. |
NextGenSoftware.Holochain.HoloNET.HDK |
Everything in one package: the Client, ORM and HyperNET. WEB5 STAR and HoloOASIS are not included yet because the STAR packages cannot be installed at the moment. |
NextGenSoftware.Holochain.HoloNET.Manager |
HoloNET Manager: a Windows (WPF) app and library for running a conductor and managing hApps. |
NextGenSoftware.Holochain.HoloNET.API |
The simple API: one line to save, load and delete data, share it with every agent and hear when it changes. Includes the Client and the OASIS hApp. |
NextGenSoftware.Holochain.HoloNET.Client.TestHarness |
A ready-to-run test harness that exercises the Client and ORM against a live conductor. |
The four packages for each library
Holochain needs a conductor (the program that runs your hApp). Each library comes in four packages, which differ only in the conductor they bundle:
| Package suffix | Bundles | Use it when |
|---|---|---|
| (none) | no conductor | You run a conductor yourself (hc sandbox, a launcher, a server), or the app is a browser or phone app. |
.Embedded |
Holochain 0.7.1 and 0.7.0 | You want HoloNET to start and stop the conductor for you (Windows). Choose the version at run time with HoloNETDNA.EmbeddedHolochainVersion. |
.Embedded.Holochain071 |
Holochain 0.7.1 only | The same, with a smaller download. |
.Embedded.Holochain070 |
Holochain 0.7.0 only | The same, for hApps built against 0.7.0. |
The bundled conductors are Windows programs. On other systems use the package with no suffix and run your own conductor. Use one variant per app: they have the same API and namespaces.
ORM, HyperNET, HDK, Manager, API and TestHarness depend on the Client variant that matches their own, so an .Embedded.Holochain071 package always pulls in the Client with 0.7.1 and nothing else.
All packages
Project templates
NextGenSoftware.Holochain.HoloNET.Templates is not a library: it adds dotnet new templates that create a ready-to-run project with HoloNET already wired in, for the popular .NET app types. See Templates.
dotnet new install NextGenSoftware.Holochain.HoloNET.Templates dotnet new holonet-blazor -n MyApp --HoloNET orm
Which one do I want?
| You want | Package |
|---|---|
| To save and load data in one line | NextGenSoftware.Holochain.HoloNET.API (add .Embedded on Windows to bundle the conductor) |
| To call your own hApp's zome functions | NextGenSoftware.Holochain.HoloNET.Client |
| To work with your own C# classes | NextGenSoftware.Holochain.HoloNET.ORM |
| Multiplayer networking | NextGenSoftware.Holochain.HoloNET.HyperNET |
| Everything in one reference | NextGenSoftware.Holochain.HoloNET.HDK |
| To start a new app | dotnet new install NextGenSoftware.Holochain.HoloNET.Templates, then dotnet new holonet-<app type> |
For maintainers: keeping this list complete
The list lives in one file, packages.json, and one script,
scripts/holonet_packages.py, checks, packs and verifies it. A public workflow runs the check on every push,
so a package cannot be forgotten.
| Command | What it does |
|---|---|
check |
The manifest and the repository agree: every project that makes a package is listed, every variant exists, every version matches, and this page is current. |
pack <folder> |
Builds and packs every package. |
verify-packed <folder> |
Every expected package exists and each depends only on its own variant. |
smoke <folder> |
Installs every package into a fresh app, builds it, runs it, and checks the conductors it bundles. |
verify-nuget |
After publishing: every package is on nuget.org at this version. |
set-version X.Y.Z |
Moves the whole family to a new version. |
docs |
Regenerates this page. |