Applications
Applications on the Digital Objects Network ship as plugins: .pexe
archives the driver loads from ~/.dobj/actions/ at startup. A .pexe is a
zip of two files:
manifest.toml— the plugin's name and version, its classes (the object types it defines, with emoji and descriptions), its actions, and themodule_hashthat pins the exact proof logic the script compiles to.plugin.rhai— the action logic as a Rhai script. The SDK compiles it into pod2 predicates, so the same script defines both what an action does and what its zero-knowledge proof must show.
Two example applications live in the repo under
examples/:
| Application | What it is | Classes | Actions |
|---|---|---|---|
| ⛏️ craft-basics | Survival-crafting starter | 6 | 9 |
| 🚀 craft-rocket | Factory tech tree with a rocket win condition | 53 | 84 |
Installing a plugin
dobj install takes a local .pexe path or an http(s) URL, validates it, and
hot-reloads the running daemon's catalog — no restart needed:
# from a published release URL...
~/.dobj/bin/dobj install https://example.com/my-plugin.pexe
# ...or a local file
~/.dobj/bin/dobj install ./my-plugin.pexe
# confirm the new actions are in the catalog
~/.dobj/bin/dobj actionsFrom source
The pexe
CLI builds plugin sources into archives and can install them in one step:
git clone https://github.com/dobjlabs/digital-objects-network
cd digital-objects-network
just install-plugins # build + install every plugin under examples/
# or a single plugin:
cargo run -p pexe --release -- build --install examples/craft-rocketpexe build also rewrites the module_hash in each manifest to match the
hash the compiled script actually produces, so the manifest always matches
what the driver will accept.