Build a dapp on Chia
End-to-end: scaffold a React app, wire the in-page Chia wallet (window.chia + WalletConnect fallback) with the dig-sdk, build and sign a spend via the chip35 wasm, then deploy on-chain and add a custom domain — one thread through every DIG primitive.
Changelog
What changed across the DIG developer surfaces — the dig-store CLI, the dig RPC, and the window.chia provider — including breaking changes and the versioning rules for each.
CLI tutorial
Full walkthrough of the dig-store CLI: initialize a store, commit files, and read content back. The parallel track to the web-first quickstart.
Command reference
Complete command reference for the dig-store CLI, including wallet, store, staging, history, content, remote, and maintenance commands.
Concepts & glossary
One-page index of the core DIG Network entities — capsule, store, generation, URN, retrieval key, the dig RPC, the chia:// protocol, and on-chain anchoring — each defined once and linked to its deep doc.
Deploy from GitHub Actions
Auto-publish your built site or dapp to your existing DIG store on every push with the dig-network/deploy-action — git-push-to-deploy, free PR previews, and a PR comment + GitHub deployment status. Keyless CI auth, no long-lived hub secret.
Deploy keys
Give your CI or an agent a revocable key that can publish new versions of your store — but never your wallet seed, and never the power to change ownership. Issue it once in DIGHUb, drop it into CI as DIGSTORE_WRITER_KEY, and revoke it any time.
DIG CLI tools
The DIG command-line suite at a glance: digs (the store CLI) for publishing content, dign (the node CLI) for serving it, and digd (the DNS helper) that makes .dig addresses resolve — what each is for, how to install it, and where its deeper docs live.
DIG Network
Overview of the DIG Network primitives: dig-store for content-addressable publishing, dig RPC for blind hosting and retrieval, and the DIG Browser for content access.
Error codes
Every DIG error code in one place: dig RPC JSON-RPC codes, dig-store CLI exit codes, and DIGHUb user-facing codes — each with what it means and what to do.
Example gallery
Example DIG dapps you can clone and open in a template — a static site, a wallet-wired React app, and an NFT drop page. Start from working code instead of a blank folder.
FAQ
Frequently asked questions about DIG — what it costs, whether you can iterate for free, how the host can't read your app, custom domains, and updates.
For app developers
Ship a website or app you truly own — minted on-chain as your own asset, not rented. Build and preview for free; pay a small uniform $DIG price only when you publish, with files encrypted in your browser so no host can read them.
For NFT developers
Mint a whole CHIP-0007 collection whose art lives permanently in a tamper-evident DIG capsule — wallet-signed on-chain mints auto-batched for large collections, real royalties, and honest drop mechanics that never fake what they can't yet prove on-chain.
Get help
Where to get help with DIG — the community Discord, GitHub issues, and how to file a report that gets answered fast.
How do I… use the dig-store CLI?
The shortest path through the dig-store CLI: install it, scaffold and preview for free, publish a capsule on-chain, share it over a remote, and read it back — each task linked to the page that walks it.
Install anywhere — the universal installer
The DIG Installer — the cross-platform installer for Windows, macOS, and x86-64 Linux. One elevated command installs the full DIG stack by default: the dig-store CLI plus the dig-node and dig-dns boot-start services, and registers dig.local.
Install on Ubuntu/Debian (apt)
Install dig-node and the dig-store CLI on Ubuntu/Debian from the apt.dig.net repository, and run dig-node as a managed systemd service.
Installing the CLI
Install the dig-store CLI: the raw per-OS/arch binary from the dig-store Releases page (with the macOS Gatekeeper fix), the guided DIG Installer for a full desktop setup, building from source, and the built-in self-updater.
L5 · §21 transport & push
The §21 transport: dig:// locator resolution, the REST surface, the JSON-outer / Chia-codec-inner envelope, 2-leg push v1 (inline | presigned), the authenticated head (PUSH_DST), per-request §21.9 auth with exact signing messages, ETag/delta/pull, tombstone revocation, and decoy indistinguishability.
On-chain anchoring
Wallet seed setup, on-chain costs, funding, anchor status, and chain-verified downloads for digs projects.
Point a consumer at your node
Make the DIG Browser, extension, or dig-store CLI read from your local dig-node first (dig.local → localhost), falling back to rpc.dig.net — local-first reads that share one .dig cache. The extension can also source its wallet data (balances, tokens, NFTs) from your node.
Project config & build-time values
The committable dig.toml manifest and how to inject PUBLIC build-time config (RPC endpoint, asset/CAT ids, feature flags) into a dapp — plus the one hard rule: a blind static capsule holds no server secrets.
Proofs & Security
Merkle proofs, verified downloads, signed roots, revocation, and host attestation for dig-store security.
Quickstart
Ship your first site on DIG — free to build and preview, you only pay the uniform capsule price when you publish. Web-first path (no wallet to start) plus a parallel CLI track.
Scaffold an app (create-dig-app)
npm create dig-app — scaffold a wallet-wired, deployable DIG app in one command. Five templates (static, vite-react, next-static, nft-drop, dapp-window-chia), all free to build and preview; you pay the uniform capsule price only when you publish.
Sharing over a remote
Publishing stores to remotes, downloading with verification, revoking roots, and understanding public vs. private access models.
Streaming & retrieval keys
Streaming resources by URN or retrieval key, listing keys per deployment, and checking out entire generations.
The dig:// remote (clone/pull/push)
Git-style remote protocol via dig:// URLs, per-request BLS signing, clone/pull/push operations, and self-hosted node setup.
Troubleshooting
Fixes for the most common DIG failures — funding, confirmation timeouts, push conflicts, verification errors, and wallet/session problems.
Troubleshooting — get unstuck
Every failure gives you a stable code and a request-id that ties straight to the server log, on-chain spends are race-guarded so you never double-pay, and clear pre-flight guards stop wasted capsules before you spend $DIG.
URNs & Encryption
URN format and semantics, derivation of retrieval and decryption keys, AES-256-GCM-SIV encryption, and public vs. private store differences.
Using dig-store in your project
Workflow for initializing projects, managing staging areas, running multiple stores in one workspace, and typical release loops.
What is dig-store?
Git-shaped, content-addressable project format with built-in encryption and URN-based addressing; compiles to a single self-defending WebAssembly module.