Zum Hauptinhalt springen

Command reference

Every digstore command. Run digstore <command> --help for full flags and examples.

On-chain by default. init mints the store's singleton on Chia mainnet and commit anchors each new deployment root on-chain (both block until confirmed and spend real XCH). Each publishes one capsule and costs the uniform capsule price in $DIG (mint or commit) — paid to the DIG treasury in the same spend bundle (memo = store id). Both commands disclose the cost and check your balance before submitting; they block if the wallet is short on XCH or DIG. You need an unlocked wallet seed and a funded wallet first — see On-chain anchoring.

Start a store & preview — free, no spend

Try it before you pay. Scaffolding, previewing, and cost-previews cost nothing — $DIG is spent only when you publish (commit/deploy). Start here:

CommandWhat it does
digstore new <template> [dir] [--force] [--list]Scaffold a working project locally from a template — no wallet, no chain, no spend. Templates: static-site, vite-react, next-static, nft-drop, dapp-window-chia. Writes a dig.toml, a starter app, and (for the dapp/NFT templates) a window.chia usage example. --list prints the catalog.
digstore dev [--dir <path>] [--build <cmd>] [--port <n>] [--open]Local preview loop: builds on save and serves your project over the real chia:// read path (compile → verify → decrypt, exactly as a visitor's browser does) on http://127.0.0.1:<port>, with live reload and an injected dev window.chia shim. Free — no chain, no spend. Reads output-dir/build-command from dig.toml (flags override).
digstore doctor [--json]Pre-publish preflight: checks seed present/unlocked, wallet funds vs the capsule price in $DIG + XCH cost, dighub login, default remote reachable, and content dir present — printed pass/fail. Exits non-zero if a hard check fails. Reads only; never spends.
digstore commit --dry-run [--json]Preview the resulting version (root) and the exact DIG/XCH cost without spending, anchoring, or publishing anything.

The intended flow: digstore new <template> → edit → digstore dev (free preview) → digstore doctordigstore commit / digstore deploy (the only step that spends DIG).

Get set up & sign in

CommandWhat it does
digstore setup (alias: auth)One-shot onboarding: import/generate a seed, check funds, and (optionally) sign in to DIGHUb. Safe to re-run. --generate / --import, --no-login, --json.
digstore link <storeID> [--output-dir <dir>] [--remote <url>]Connect the current folder to an existing store — writes a dig.toml + remote so digstore dev/deploy work here.
digstore loginSign in to your DIGHUb account via device pairing (no password).
digstore whoamiShow the current DIGHUb login (handle / token presence).
digstore logoutSign out of DIGHUb (clear the stored session).

Wallet & on-chain anchoring

CommandWhat it does
digstore seed import [--mnemonic <words>]Import a BIP-39 mnemonic; encrypted to ~/.dig/seed.enc and unlocked for the session
digstore seed generate [--words 12|15|18|21|24]Generate a new mnemonic (shown once), encrypt, and unlock
digstore seed statusShow whether a seed exists and is currently unlocked
digstore lockLock the seed (clear the cached-unlock session)
digstore balance [--json]Show spendable XCH (mojos) and DIG (3-decimal display) + the wallet receive address (read-only)
digstore anchor [--wait-timeout <secs>]Resume a pending anchor: poll the chain and flip the store to confirmed
digstore anchor status [--json]Show the store's anchor state (network, launcher/store id, current coin, height) + the pointer embedded in the module
digstore anchor inspect <module.dig> [--json]Decode and print the on-chain pointer embedded in any compiled module file

Set the wallet passphrase non-interactively with DIGSTORE_PASSPHRASE. Global config lives in ~/.dig/config.toml (coinset_url, unlock_ttl, fee).

Stores & workspace

A single workspace (.dig/) can hold many stores. The commands below create and switch between the stores in your workspace.

CommandWhat it does
digstore init [name] [--dir <path>] [--private] [--wait-timeout <secs>]Initialize a store (default name default); --dir sets its content root. Mints the store singleton on Chia mainnet — the launcher id becomes the store id — and blocks until confirmed (--wait-timeout, default 300s). Costs the uniform capsule price in $DIG + an XCH fee (paid atomically in the same bundle; cost is disclosed before submission). Requires an unlocked seed, XCH, and DIG; on a confirmation timeout the store is kept pending and resumable with digstore anchor. Interactive when flags are omitted.
digstore storesList stores with the active marker, root, content root, and capacity
digstore use <name>Set the active store
digstore dir [<path>]Show or set the active store's content root

Back-compat aliases. digstore projects (for digstore stores) and the --project flag are kept only as hidden aliases for older scripts; new usage should say stores / store.

Staging & commits

CommandWhat it does
digstore add <path…> [-A] [--key <name>]Stage files (-A = the whole content root)
digstore stagedList the staging area
digstore unstageClear the staging area
digstore commit [-m <msg>] [--wait-timeout <secs>]Seal a new deployment: anchor the new deployment root on Chia mainnet and block until confirmed (--wait-timeout, default 300s), then compile the module + write the URN manifest. Publishes a new capsule for the uniform capsule price in $DIG + an XCH fee (paid atomically in the same bundle; cost is disclosed before submission). On failure/timeout the local deployment is not finalized (re-run to resume).
digstore commit --dry-run [--json]Preview the resulting version (root) + the exact DIG/XCH cost without spending or publishing anything.
digstore statusShow staged / modified / untracked + remaining capacity

History

CommandWhat it does
digstore log [--limit N]List deployments (each root hash is a commit)
digstore diff <a> <b>Compare two deployments

Reading content

CommandWhat it does
digstore urn [PATHS…] [--root <hex>]Preview the URN(s) and retrieval key(s) files will have
digstore keys [--root <hex>]List the retrieval key + URN for every committed resource
digstore cat <urn-or-retrieval-key> [--out <file>] [--salt <hex>] [--verify-proof]Stream a resource out — by URN (decrypted) or retrieval key (encrypted)
digstore checkout <root> --out <dir> [--salt <hex>]Write a whole deployment to a directory

Remotes & sharing

CommandWhat it does
digstore remote add|list|remove …Manage remotes
digstore clone <url>Clone a store from a remote. Verified: module identity + signed head + the served root is checked against the store's current on-chain singleton root (fails closed)
digstore push [remote]Push the local store's content + signed head
digstore pull [remote]Pull the latest content + signed head. Verified, including the on-chain root check
digstore revoke [--root <hex>|--all] [--reason <r>]Revoke a published root or the whole store with a signed tombstone
digstore serve [--bind <addr:port>] [--store <name>]Run a dig:// remote node for the active store — serves clone/pull/push over the §21 protocol (the same one rpc.dig.net speaks), so anyone can host an origin. Each request is authenticated by a signed message from the caller's identity key.

CI deploy

CommandWhat it does
digstore deploy [--store-id <hex>] [--output-dir <dir>] [--build-command <cmd>] [-m <msg>] [--remote <url>] [--writer-key <hex>] [--preview] [--if-changed]Advance an existing store from a fresh checkout (CI): reconstruct it locally, stage the output dir, commit + push a new capsule. Reads dig.toml. Never mints. --writer-key advances the root with a revocable writer-delegated key (no owner seed); --preview produces a free, no-spend content-addressed build; --if-changed makes a byte-identical build a no-op.
digstore deploy-key export [--out <file>]Export the store's §21 publisher deploy key (64-hex) to store as a CI secret

See Deploy from GitHub Actions for the full workflow.

Assets — NFTs, collections, DIDs, offers

Build the spend with the canonical CHIP-0035 builders, sign with your wallet, and push via coinset — every command is --json / --dry-run CI-safe.

CommandWhat it does
digstore nft mint|bulk|transfer|list …Mint an NFT (media stored permanently in a DIG capsule), bulk-mint, transfer, or list the NFTs the wallet owns.
digstore collection create|mint|show|list …Define a collection (shared id/name/royalty) and bulk-mint its items from a traits manifest, attributed to a creator DID.
digstore did create …Create a creator-identity DID (decentralized identifier) owned by the wallet.
digstore offer make|take|show …Make, take, and inspect Chia offers (XCH / CAT trades).

Maintenance

CommandWhat it does
digstore update [--check] [--yes]Update DigStore to the latest release
digstore compile [--metadata]Compile the active store to its self-serving .dig WASM module (used internally by the publish flow).
digstore completion <shell>Print a shell completion script (bash, zsh, fish, powershell, elvish).

Global flags

FlagEffect
--store <name>Operate on a specific store (overrides the active store). --project is a hidden back-compat alias.
-C, --cwd <path>Operating directory for this command (overrides the content root)
--dig-dir <path>Workspace location
--jsonMachine-readable output
--quietSuppress progress and hints
--verboseVerbose (debug-level) logging
--color <auto|always|never>Color output mode