Announcing hdk_crud crate for HDK 0.0.101

Based on the holochain-in-action acorn sessions, it became clear to me that I could and maybe should encapsulate the “dna_help” crate in the acorn project files into a standalone and published crate to crates.io. I hadn’t done it before. I’ve done it now :slight_smile:

I’ve updated the library to be based on HDK 0.0.101, the latest release at the time of writing.
And now I’ve added some unit tests with mockhdk and a running CI and the docs are pretty good. Now moving Acorn onto using the library (since it already was, when it was located local to acorn code as “dna_help” crate)
https://crates.io/crates/hdk_crud/0.0.13

https://docs.rs/hdk_crud/0.0.1/hdk_crud/example/index.html
(make sure you use 0.0.13 not that version though. For some reason docs.rs hasn’t published docs versions for my new publishes yet)

I think it might be the first general purpose crate on crates.io for HC development that’s out there. Previously there are a few that are still just hosted on github, but they’re largely considered unstable and not well documented for external use.

This could get people up off the ground with Zomes PDQ (pretty darn quick). So you’re all aware of what hdk_crud gets you:
resolve_dependencies helper function for use in validate hooks
helper function for committing an initial cap_grant for recv_remote_signal, usually during init
The biggest thing is the crud! macro which basically takes a get_peers function and an entry type and provides create, fetch(read), update, and archive(delete) for the entry type exposed as Zome API functions.
long story short, import this crate and use crud! to spin up basic zome functions to create read update and delete entries for an entry type
:slight_smile:
if you’re wondering what lightningrob labs is, it is a new organization name that Acorn and other projects supported by Harris-Braun Enterprises will be developing some of the projects under

6 Likes