NextGenSoftware.Holochain.HoloNET.Client.TestHarness
4.6.0
dotnet add package NextGenSoftware.Holochain.HoloNET.Client.TestHarness --version 4.6.0
NuGet\Install-Package NextGenSoftware.Holochain.HoloNET.Client.TestHarness -Version 4.6.0
<PackageReference Include="NextGenSoftware.Holochain.HoloNET.Client.TestHarness" Version="4.6.0" />
<PackageVersion Include="NextGenSoftware.Holochain.HoloNET.Client.TestHarness" Version="4.6.0" />
<PackageReference Include="NextGenSoftware.Holochain.HoloNET.Client.TestHarness" />
paket add NextGenSoftware.Holochain.HoloNET.Client.TestHarness --version 4.6.0
#r "nuget: NextGenSoftware.Holochain.HoloNET.Client.TestHarness, 4.6.0"
#:package NextGenSoftware.Holochain.HoloNET.Client.TestHarness@4.6.0
#addin nuget:?package=NextGenSoftware.Holochain.HoloNET.Client.TestHarness&version=4.6.0
#tool nuget:?package=NextGenSoftware.Holochain.HoloNET.Client.TestHarness&version=4.6.0
HoloNET Test Harness
Test Harness for HoloNET Holochain Client.
https://github.com/holochain-open-dev/holochain-client-csharp
https://github.com/NextGenSoftwareUK/holochain-client-csharp
You need to clone the following repo: https://github.com/holochain/happ-build-tutorial
And follow the instructions here: https://github.com/holochain-open-dev/wiki/wiki/Installing-Holochain--&-Building-hApps-Natively-On-Windows
Once you have Holochain setup on your machine and got the example hApp ready above, you need to copy it into a hApps folder in the root of the output folder (Debug or Release) where you installed this Test Harness package. HoloNET will be looking for it there.
The Test Harness sets the paths to the test hApp you compiled above using the following lines:
_holoNETClientAppAgent.Config.FullPathToRootHappFolder = string.Concat(Environment.CurrentDirectory, @"\hApps\happ-build-tutorial-develop");
_holoNETClientAppAgent.Config.FullPathToCompiledHappFolder = string.Concat(Environment.CurrentDirectory, @"\hApps\happ-build-tutorial-develop\workdir\happ");
If you wish to run the OASIS test (real world use case saving and loading an entry) then you will need to clone this repo:
https://github.com/NextGenSoftwareUK/OASIS-Holochain-hApp
The Test Harness will set the paths to the OASIS hApp you compiled above using the following lines:
_holoNETClientAppAgent.Config.FullPathToRootHappFolder = string.Concat(Environment.CurrentDirectory, @"\hApps\OASIS-Holochain-hApp");
_holoNETClientAppAgent.Config.FullPathToCompiledHappFolder = string.Concat(Environment.CurrentDirectory, @"\hApps\OASIS-Holochain-hApp\zomes\workdir\happ");
Finally, from within your app simply call the following method:
using NextGenSoftware.Holochain.HoloNET.Client.TestHarness;
await HoloNETTestHarness.TestHoloNETClientAsync(TestToRun testToRun);
You can pass in one of these values:
| Test | Description |
|---|---|
| WhoAmI | Will call zome function whoami on the whoami zome (part of the happ-build-tutorial above). |
| Numbers | Will call zome function add_ten on the numbers zome (part of the happ-build-tutorial above). |
| Signal | Will call zome function test_signal_as_string on the oasis zome. |
| SaveLoadOASISEntryWithTypeOfEntryDataObject | Will call the zome function create_entry_avatar on the oasis zome and once it receives the ActionHash back from the Holochain Conductor, it will load that entry using get_entry_avatar zome function (part of the OASIS hApp above). It will then map the data returned onto a new instance of the type passed in to CallZomeFunction function. See main HoloNET README for more info... |
| SaveLoadOASISEntryWithEntryDataObject | Will call the zome function create_entry_avatar on the oasis zome and once it receives the ActionHash back from the Holochain Conductor, it will load that entry using get_entry_avatar zome function (part of the OASIS hApp above). It will then map the data returned onto the object passed in to CallZomeFunction function. See main HoloNET README for more info... |
| SaveLoadOASISEntryUsingSingleHoloNETAuditEntryBaseClass | Will test the new HoloNETAuditEntryBaseClass by extending it with the Avatar class. It will call create_entry_avatar, get_entry_avatar, update_entry_avatar & delete_entry_avatar on the oasis zome and verify the results are as expected. This version will instantiate its own internal HoloNET Client to make calls to the Holochain Conductor. |
| SaveLoadOASISEntryUsingMultipleHoloNETAuditEntryBaseClasses | Will test the new HoloNETAuditEntryBaseClass by extending it with the AvatarMultiple & Holon class. It will call create_entry_avatar, get_entry_avatar, update_entry_avatar & delete_entry_avatar on the oasis zome and verify the results are as expected. This version passes in a HoloNETClient instance that is shared between the AvatarMultiple & Holon classes. |
| LoadTestNumbers | Will call zome function add_ten on the numbers zome 100 times (part of the happ-build-tutorial above). |
| LoadTestSaveLoadOASISEntry | Will call SaveLoadOASISEntry test 100 times (part of the OASIS happ above). |
You can also view the full source and run the Test Harness (and edit to suit your needs etc) here:
https://github.com/holochain-open-dev/holochain-client-csharp/tree/main/NextGenSoftware.Holochain.HoloNET.Client.TestHarness
NuGet Package:
https://www.nuget.org/packages/NextGenSoftware.Holochain.HoloNET.Client.TestHarness
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- NextGenSoftware.Holochain.HoloNET.Client (>= 4.6.0)
- NextGenSoftware.Holochain.HoloNET.ORM (>= 4.6.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.6.0 | 0 | 11/10/2026 |
| 3.0.4 | 484 | 5/26/2024 |
| 3.0.3 | 318 | 5/5/2024 |
| 3.0.2 | 330 | 4/19/2024 |
| 2.2.0 | 375 | 5/22/2023 |
| 2.1.4 | 364 | 4/27/2023 |
| 2.1.3 | 419 | 4/2/2023 |
| 2.1.2 | 447 | 3/18/2023 |
| 2.1.0 | 456 | 2/6/2023 |
| 2.0.2 | 503 | 1/2/2023 |
| 2.0.1 | 471 | 12/29/2022 |
| 2.0.0 | 477 | 12/28/2022 |
| 1.3.1 | 613 | 10/7/2022 |
| 1.3.0 | 599 | 10/7/2022 |
| 1.2.0 | 593 | 10/6/2022 |
| 1.1.1 | 569 | 9/29/2022 |
| 1.1.0 | 633 | 9/29/2022 |
| 1.0.2 | 641 | 8/24/2022 |
| 1.0.1 | 653 | 8/24/2022 |
| 1.0.0 | 624 | 8/23/2022 |
## v4.6.0 - Part of the HoloNET 4.6.0 release (every HoloNET package is versioned together): https://github.com/holochain-open-dev/holochain-client-csharp/releases/tag/v4.6.0
## v4.1.0 — Holochain 0.7.0 Wire Protocol Upgrade
Tracks HoloNET Client v4.1.0: full Holochain 0.7.0 conductor support.
- Conductor paths now configurable via HOLONET_* environment variables (no more hardcoded paths).
- Updated for Kitsune2/iroh (QUIC) sole network backend — tx5/WebRTC removed.
- DumpOpTimings exercises new paginated op-timing API on Admin and App interfaces.
- AwaitingMemproofs app status handled in app listing flow.
*Full Changelog:* https://github.com/holochain-open-dev/holochain-client-csharp/blob/main/CHANGELOG.md
---
## v3.0.5 (legacy)
- This release has multiple bug fixes.
- Bug fixes for Get DNA Definition Conductor API function.
- Bug fixes for Disconnect and Re-Connect issues.
- Dependencies updated such as the NextGen Libs it uses.
[HoloNET Manager v3.1.0](https://oasisomniverse.one/downloads/HoloNET_Manager_v3.1.0.msi)
**This is the UI to HoloNET and is also used to demo and test all functionality of HoloNET Client and HoloNET ORM. Read more about this above.**
**Please leave feedback in our [Telegram group](https://t.me/holonetchat). We are aware of a few bugs we are still working on, we originally wanted to wait till we got these fixed but if we are being honest we couldn't wait any longer to get this out there to get early feedback and see where the demands were for further features, enhancements and what part of the HoloNET Family we should focus more on etc...**
**We also REALLY need funding to keep this vital project alive, we are now out of runway so we would really appreciate your support:
https://www.gofundme.com/f/help-david-get-over-the-line-with-holonet-oasis-and-star**
**We also wanted help squishing these last few bugs because they have been quite tricky little buggers to track down! Please find them in our [GitHub Issues](https://github.com/holochain-open-dev/holochain-client-csharp/issues)... :)**
**Any other help would also be greatly appreciated, we are always looking for devs (and non devs) to join us on this exciting journey to the stars... We would love to hear from you! Thank you! :)**
**UPDATE: We have now opened our HoloNET Alpha Testers Programme, please get in touch on our [Telegram group](https://t.me/holonetchat) if you want to join and become one of our esteem amazing testers! You can also get early access to many exciting upcoming releases for HoloNET, STAR, OASIS & AR World/Our World before anyone else! Other perks and bonuses also available! So sign up now! Thanks!**
**NOTE: The documentation is still for the previous version, please bare with us while we update this soon... thank you!**
*Full Changelog:* https://github.com/holochain-open-dev/holochain-client-csharp/compare/v3.0.3...v3.0.5
NuGet Packages:
[NextGenSoftware.Holochain.HoloNET.Client](NextGenSoftware.Holochain.HoloNET.Client)
Lightweight version that does not come with the holochain binaries (hc.exe and holochain.exe).
[NextGenSoftware.Holochain.HoloNET.Client.Embedded](NextGenSoftware.Holochain.HoloNET.Client.Embedded)
This version comes with the holochain binaries (hc.exe and holochain.exe) integrated.
[NextGenSoftware.Holochain.HoloNET.Client.TestHarness](NextGenSoftware.Holochain.HoloNET.Client.TestHarness)
A console test harness for HoloNET Client.
[NextGenSoftware.Holochain.HoloNET.ORM](NextGenSoftware.Holochain.HoloNET.ORM)
The new HoloNET ORM (Object Relational Mapping) allowing very easy & rapid development of hApps. This consists of the HoloNETEntryBase, HoloNETAuditEntryBase, HoloNETCollection and HoloNETObservsableCollection classes. The first two can be extended to create your HoloNET Entry models that map directly onto your data structs in your rust hApp zome code. The second two are collections of these entries. You can then simply call basic CRUD methods on your classes such as Load, Save, Delete, etc making it very quick and easy to build hApps without having to worry about the lower complexities of Holochain or configure and use the Holochain Conductor or API's. You also get change tracking, version control & rollback functionality for free. HoloNET ORM allows any existing .net app/website/game/service to be rapidly and quickly converted to a Holochain hApp with very little code changes (you can simply add a new attribute to the properties in your models) and it will now map to your rust hApp structs (which WEB5 [NextGenSoftware.OASIS.STAR](NextGenSoftware.OASIS.STAR)) can also dynamically generate (it generates rust and c# code). More documentation will be coming soon for this...
[NextGenSoftware.Holochain.HoloNET.ORM.Embedded](NextGenSoftware.Holochain.HoloNET.ORM.Embedded)
This is exactly the same as above except it is using the embedded version of the HoloNET Client so it is integrated with the Holochain Conductor binaries.
[NextGenSoftware.Holochain.HoloNET.Manager](NextGenSoftware.Holochain.HoloNET.Manager)
The new UI to HoloNET Client & HoloNET ORM show casing all of their advanced features. This has many generic backend and UI components that can be used to allow other .net devs to rapidly construct their own .net hApps using HoloNET HDK (HoloNET Client, HoloNET ORM, HoloNET Manager, WEB5 STAR ODK/HDK & HoloNET HyperNET). The HoloNET Manager is currently implemented in WPF but we have plans to port this to Uno, MAUI & OpenSilver meaning it can run natively on Windows, Mac, Linux, TV's, IPads, tablets, android, IOS & web. The work for this has already begun so expect future releases soon...
[NextGenSoftware.Holochain.HoloNET.Manager.Embedded](NextGenSoftware.Holochain.HoloNET.Manager.Embedded)
This is exactly the same as above except it is using the embedded version of the HoloNET Client so it is integrated with the Holochain Conductor binaries.
[NextGenSoftware.Holochain.HoloNET.HDK](NextGenSoftware.Holochain.HoloNET.HDK)
The new HoloNET HDK consisting of HoloNET Client, HoloNET ORM, HoloNET Manager, WEB5 STAR ODK/HDK & HoloNET HyperNET. This package contains a plugin to the generic WEB5 STAR ODK No/Low Code Generator extending it so it can generate hApps from metadata built on top of the HoloNET Client/ORM. Release Coming Soon...
[NextGenSoftware.Holochain.HoloNET.HDK.Embedded](NextGenSoftware.Holochain.HoloNET.HDK.Embedded)
This is exactly the same as above except it is using the embedded version of the HoloNET Client so it is integrated with the Holochain Conductor binaries.
[NextGenSoftware.OASIS.STAR](NextGenSoftware.OASIS.STAR)
The new No/Low Code Generator allowing you to generate code for any supported OASIS Provider (web2 and web3) and currently supports Holochain, IPFS, Solana, EOS, Ethereum, Telos, SEEDS, MongoDB, SQLLite, Neo4j & Azure. The generated code runs on top of OASIS/STAR COSMIC ORM making it a very easy and powerful way to share data between any web2 or web3 provider. Release Coming Soon...
[NextGenSoftware.Holochain.HoloNET.HyperNET](NextGenSoftware.Holochain.HoloNET.HyperNET)
This is built on top of the HoloNET Client & HoloNET ORM and allows Unity and Unreal games to implement lag free P2P networking allowing near unlimited number of players to play online smashing previous limitations on classic cloud/server hosting. Release Coming Soon...
[NextGenSoftware.Holochain.HoloNET.HyperNET.Embedded](NextGenSoftware.Holochain.HoloNET.HyperNET.Embedded)
This is exactly the same as above except it is using the embedded version of the HoloNET Client so it is integrated with the Holochain Conductor binaries.