Build a dapp on Chia
End-to-end: scaffold aplikasi React, hubungkan wallet Chia dalam-halaman (window.chia + fallback WalletConnect) dengan dig-sdk, bangun dan tandatangani sebuah spend melalui wasm chip35, lalu deploy on-chain dan tambahkan domain kustom — satu alur melalui setiap primitif DIG.
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.
Concepts & glossary
Indeks satu halaman untuk entitas inti DIG Network — capsule, store, generation, URN, retrieval key, dig RPC, protokol chia://, dan anchoring on-chain — masing-masing didefinisikan sekali dan tertaut ke dokumen mendalamnya.
Configure dig-node
Configure a dig-node: listen ports and listeners, the cache cap, and the upstream the node blind-fetches from — via config and DIGNODE_* environment variables.
Conformance & parity
The cross-implementation parity discipline: frozen canonical()/retrieval_key() goldens, the C8 crypto fixtures, the shared URN conformance vectors, the OpenRPC-vs-server diff test, and what every reimplementation MUST pass.
Conformance & Security
Blind serving model, decoy streams, CORS, caching, rate limiting, and conformance checklist for dig RPC endpoints.
DIG Network
Ringkasan primitif DIG Network: dig-store untuk penerbitan content-addressable, dig RPC untuk blind hosting dan retrieval, serta DIG Browser untuk akses konten.
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.
For integration developers
Platform yang sepenuhnya machine-readable — OpenAPI/OpenRPC, taksonomi error yang dikatalogkan, penetapan harga live, JWKS, JSON per-halaman, dan @dignetwork/dig-sdk yang bertipe — sehingga Anda menghubungkan wallet + pembacaan terverifikasi ke aplikasi Anda tanpa perlu meng-scrape satu baris pun prosa manusia.
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… integrate DIG into my app?
The shortest path for integrating developers: connect a wallet, read verified content, build a spend the right way, and deploy from CI — using the typed @dignetwork/dig-sdk and the dig RPC, no prose-scraping required.
Inclusion vs execution proofs
Two proof types: synchronous Merkle inclusion proofs that pin served bytes to an on-chain root, and asynchronous ZK / risc0 execution receipts that attest faithful serving — gated on the control plane.
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.
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.
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.
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.
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.
L7 · DIG Node peer network
The normative node↔node protocol: mTLS peer identity (peer_id = SHA-256(TLS SPKI DER)), the two RPC tiers (mTLS-authenticated PEER/CONTROL vs anonymous PUBLIC-READ so browsers can retrieve content), the dual-mode public gateway (rpc.dig.net's mTLS front for node-class clients — the dig-store CLI, the SDK, any DIG-identity-key holder — across the full dig.local/localhost/rpc.dig.net ladder, plus its plain-HTTPS+CORS front for browsers, with an ephemeral self-signed client certificate for channel-bound anonymous reads), the ordered NAT-traversal ladder (direct → UPnP → NAT-PMP → PCP → relay-coordinated hole-punch (signalling only) → relayed/TURN transport), the relay's four roles (STUN, introducer, hole-punch signalling, relayed transport), STUN reflexive-address discovery, introducer + gossip peer discovery, PEX peer-exchange (node↔node stream + the RLY-008 relay introducer binding), the Kademlia DHT with provider records that locate which peers hold content (find_node/find_providers/add_provider/ping over a framed dig-nat mTLS stream; content-key = SHA-256(domain-tag ‖ store_id[‖root[‖retrieval_key]])), the relay RelayMessage wire (RLY-001..RLY-008), the peer RPC methods (dig.getPeers/dig.announce/dig.getNetworkInfo/dig.getAvailability/dig.listInventory/dig.fetchRange), and the relay-last-fallback invariant (prefer hole-punch signalling over full relaying).
L7 · Private retrieval (onion routing)
The normative privacy-mode content-retrieval protocol: the per-request speed-vs-privacy toggle on the dig RPC surface, how a private read is onion-routed end-to-end (requester → guard/entry → middle → exit → providers → back) with a who-knows-what table, telescoping circuit construction over dig-nat mTLS (ntor X25519 + HKDF-SHA256 handshake, fixed-size 512-byte ChaCha20-Poly1305 layered cells, the RELAY command set), the onion-relay directory (dig-dht tag 0x04) and relay advertisement, guard nodes, the exit reusing the ordinary merkle-verified content read, and the honest threat model (partial-adversary unlinkability, stronger than Tor on exit integrity, weaker on anonymity-set size and Sybil cost).
Machine-readable surfaces
Every machine-readable entry point: /openrpc.json, /error-codes.json, /llms.txt, /knowledge-graph.json, the sitemap, and per-page schema.org JSON-LD — so an agent integrates DIG without scraping a single line of human prose.
Manage your node
Operate a running dig-node: the control.* admin RPCs (status, cache, peers) and the DIG Browser's My Node UI that drives them.
Methods
Complete dig RPC method set: dig.getContent, dig.getProof, dig.getCapsule, dig.getManifest, dig.listCapsules, dig.listCollectionItems, dig.getCollection, and service discovery methods.
Panel Kontrol dig-node
Kelola dig-node lokal Anda dari Panel Kontrol pada DIG Chrome extension: ruang cache .dig yang dicadangkan dan eviksi LRU, sumber hulu, store yang di-hosting, sinkronisasi, peer, status langsung, dan pemasangan token kontrol.
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.
Protocol: Overview
DIG Protocol sebagai tujuh lapisan bottom-up, normatif dan implementation-defined. capsule (storeId:rootHash) adalah unit fundamentalnya; host bersifat blind dan pembaca melakukan verifikasi terhadap chain. Ini adalah referensi protokol yang otoritatif.
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.
Sharing over a remote
Publishing stores to remotes, downloading with verification, revoking roots, and understanding public vs. private access models.
Status
Where to check the health of the DIG services — the dig RPC (rpc.dig.net), DIGHUb (hub.dig.net), and the resolver (on.dig.net) — plus how RPC and provider versions are signalled.
Streaming
Streaming chunk model for byte methods: chunk object structure, 64 KiB alignment, reassembly, proof verification, and reference client loop.
The DIG SDK
@dignetwork/dig-sdk — ChiaProvider (injected window.chia + WalletConnect→Sage), DigClient (verified reads), Paywall (pay-to-unlock / NFT-gating), and the canonical CHIP-0035 spends at the /spend subpath.
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.
The https://dig.local endpoint
Your dig-node serves DIG content over HTTPS at https://dig.local, on your machine's loopback, with a certificate your browser trusts. Privacy and integrity for local reads, with a plain-http fallback for clients that can't use it.
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 the public network RPC
Public RPC endpoint usage, portability across nodes, operating your own node, and rate limiting policies.
What is the dig RPC?
Antarmuka baca yang berlaku di seluruh jaringan untuk capsule dig-store melalui JSON-RPC 2.0; blind secara konstruksi, dapat diverifikasi tanpa kepercayaan, dan dapat di-streaming pada ukuran berapa pun.