Skip to main content

45 docs tagged with "capsule"

View all tags

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.

CHIP-0035 store-coin spends & delegation

The canonical CHIP-0035 wasm builder constructs every store-coin spend; admin / writer / oracle delegation is the on-chain primitive behind Teams and revocable CI deploy tokens — never hand-rolled.

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.

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.

Conformance & Security

Blind serving model, decoy streams, CORS, caching, rate limiting, and conformance checklist for dig RPC endpoints.

Deploy an existing app (web upload)

Already have a built site or SPA? How DIG serves it — the store as your file set, index.html + assets + routes, the anchored-root serve model — and a worked example: upload a real dist/ folder through DIGHUb's web upload and reach it.

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.

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.

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 content consumers

Open chia:// content that your own browser verifies against the blockchain — no host can alter or fake it, private content stays private from the host, and it's permanent and re-hostable anywhere, so nobody can take it down or lock you in.

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 tipped for your store

Every store gets a public, shareable tip page, and a one-line script embeds a Tip button on any site. Visitors tip you directly in $DIG, wallet to wallet — no account, no backend, no middleman.

How do I… use DIGHUb?

The shortest path through DIGHUb: create a store, publish a capsule, give it a web address, and get tipped — all from the browser, wallet connected only when you publish or spend.

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.

L0 · Identity & naming

Layer 0 of the DIG Protocol: store vs capsule vs generation. store_id is the CHIP-0035 singleton launcher id. A store is an ordered sequence of capsules.

L0 · URN & addressing

The normative urn:dig:chia URN grammar, the rootless retrieval_key = SHA-256(canonical) invariant, resourceKey normalization, the three-way scheme split (chia:// vs §21 dig:// vs dig://* browser), and the salt addressing extension.

L1 · BLS signatures & domain separation

Chia AugScheme (G1 48B / G2 96B), the five mutually-distinct role DSTs (PUSH/NODE/TOMB/REQ/ATTEST) with their exact signing-message preimages, rogue-key rejection, and the host↔guest parity fixtures.

L1 · Cryptography

Layer 1 read-crypto: HKDF-SHA256 key derivation (salt-mixed secret), AES-256-GCM-SIV fixed-nonce seal, the byte-exact constants table, and the one-crypto-implementation invariant (producer = host = verifier = dig-client-wasm).

L1 · Merkle inclusion proofs

The D5 per-resource UNTAGGED leaf = SHA-256(ciphertext), the NODE_TAG fold, odd-node carry-up, the proof-length ≤ ceil(log2 n) binding contract (D8), and the base64 X-Dig-Inclusion-Proof wire layout.

L2 · Capsule format (the DIGS data section)

BINDING contract D1: the DIGS blob byte layout (big-endian, self-describing), all 13 SectionIds and their body formats (KeyTable D3, ChunkPool D4, MerkleNodes D5, ChainState, PublicManifest, Filler), and the big-endian rationale.

L2/L3 · The self-defending module

Fixed-size obfuscation (128 MiB uniform blob, deterministic ChaCha20 filler), WASM injection memory layout (BINDING D2: 2 MiB offset, 384 MiB ceiling), the self-serving guest pipeline, oblivious gather, decoy generation, and the disabled host-attestation gate.

L4 · DIG CAT payment & pricing

The DIG CAT TAIL asset id, the treasury inner puzzle hash, 3-decimal units, the dynamic USD-pegged per-capsule amount (no protocol constant), the atomic commit-bundle convention, and its non-enforcement caveat.

L4 · On-chain anchoring (CHIP-0035)

store = a CHIP-0035 singleton; capsule = a singleton update + root-advance. Free mint vs DIG-paid commit, the owner-discovery memo hint, and admin/writer/oracle delegation as the Teams / deploy-token primitive.

L6 · The blind host model

The provider-blindness invariant, serve_blind (framing-only decode), the root-pinned immutable response cache, the *.on.dig.net + custom-domain resolver, the /v1 control plane (CHIP-0002 login, JWT sessions, refresh reuse-detection, action re-auth, GitHub-OIDC CI), and the accept-on-signature push trust model.

L6 · The dig RPC (machine interface)

The dig RPC is THE machine interface of the protocol: JSON-RPC 2.0 over HTTP POST, the full method catalogue, the chunk wire object (chunk_lens first-window-only, NO decoy field), range/window math, error codes incl. -32004, and the node profile vs the network profile.

L6 · Verification, provenance & anchoring

The four ordered integrity gates (merkle inclusion → authenticated decryption → anchored-root pinning → risc0 execution), anchored-root pinning against the CHIP-0035 singleton via coinset.org, the authenticated head, tombstones, the MOCK-by-default risc0 caveat, the freshness contract, and provenance UX surfacing.

Methods

Complete dig RPC method set: dig.getContent, dig.getProof, dig.getCapsule, dig.getManifest, dig.listCapsules, dig.listCollectionItems, dig.getCollection, and service discovery methods.

On-chain anchoring

Wallet seed setup, on-chain costs, funding, anchor status, and chain-verified downloads for digs projects.

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.

Protocol: Overview

The DIG Protocol as seven bottom-up layers, normative and implementation-defined. The capsule (storeId:rootHash) is the fundamental unit; the host is blind and the reader verifies against the chain. This is the authoritative protocol reference.

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.

Run a DIG node

What a dig-node is, why you'd run one, and how to install it — the apt repository for Ubuntu/Debian or the cross-platform DIG Installer.

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.

Store Structure

Store identity via on-chain singleton launcher id, generations as capsules, content root, on-disk layout, and compiled module structure.

Streaming

Streaming chunk model for byte methods: chunk object structure, 64 KiB alignment, reassembly, proof verification, and reference client loop.

The dig-store WASM Store Format

Architecture of the content-addressable, encrypted WebAssembly store format: identity, generations, URNs, and compiled modules.

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.

Using dig-store in your project

Workflow for initializing projects, managing staging areas, running multiple stores in one workspace, and typical release loops.

Webhooks

Register an HTTPS endpoint to be notified when a deployment changes state — queued, building, ready, or error. Each event is signed so you can verify it came from DIGHUb. The event contract — payload shape and signature — is stable; delivery is rolling out.

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.

What is the dig RPC?

Network-wide read interface for dig-store capsules via JSON-RPC 2.0; blind by construction, verifiable without trust, and streamable at any size.