Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/audiences/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@ Connect, re-auth, a declined request, and watch-only sessions that can't sign.

→ [Wallet session can't sign](../support/troubleshooting.md#wallet-session)

## Node & extension issues

The browser extension shows your node as offline even though it's running and healthy.

→ [The extension shows my node as offline](../support/troubleshooting.md#extension-offline)

## Pre-flight & cost checks — don't waste a capsule

`digstore doctor` (environment + readiness), `--dry-run` (preview the cost and the would-be capsule), and `--if-changed` (a byte-identical build is a no-op).
Expand Down
1 change: 1 addition & 0 deletions docs/protocol/peer-network.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ peer_id = SHA-256( SubjectPublicKeyInfo DER ) // 32 bytes
- **The listener requires a client certificate** (`CERT_REQUIRED`). A peer that presents no certificate, or whose TLS handshake fails, is dropped — there is no fallback to a weaker transport.
- **After the TLS handshake, peers exchange a `Handshake`** carrying the `network_id` (the network genesis challenge as lower-case hex), the protocol version, the node's declared listen port, and its node type + capabilities. A `network_id` mismatch, or a protocol version below the minimum-compatible floor, ends the connection. The `Handshake` is the Chia-streamable message (big-endian) — this layer speaks the Chia peer protocol, not a bespoke framing.
- **Unauthenticated peer traffic is rejected.** A message received before a completed mTLS handshake + `Handshake` exchange is not processed.
- **The mainnet genesis challenge is not yet public**, so a stock `dig-node` uses an all-zero placeholder for `network_id` and skips peer bring-up entirely (the read path — serving/fetching capsules — is unaffected). A developer or private deployment that wants the peer network up today can set the `DIG_NETWORK_GENESIS` environment variable to a 64-character hex value (32 bytes); any valid non-zero value brings the gossip peer pool up under that id. See [Configure dig-node](../run-a-node/configure.md).

:::note The relay link is authenticated differently
A node's link *to the relay* is a standard server-authenticated `wss://` connection (the relay presents a TLS certificate; the node does not present one to the relay). Peer↔peer identity is never delegated to the relay — end-to-end payloads carried over the relay remain authenticated by the peer protocol itself, so a relay cannot forge a peer.
Expand Down
12 changes: 12 additions & 0 deletions docs/support/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,18 @@ Confirm the store has at least one confirmed capsule; `"latest"` on a brand-new

Not an error — you cancelled the signature in your wallet. Nothing was signed or broadcast. Re-try and approve if you meant to publish.

## Node & browser extension

### "The extension shows my node as offline" {#extension-offline}

Your `dig-node` is running and `/health` answers fine, but the DIG browser extension still reports it offline.

Modern Chrome enforces **Private Network Access**: it blocks a page/extension request to a private address (127.0.0.1 included) unless the node's CORS preflight response allows it. Older `dig-node` builds didn't send that allowance.

- Update to the latest `dig-node` release (v0.13.0 or later) and restart the service.
- Reload the extension after the node restarts.
- Still offline? Confirm you're hitting the node directly at its configured port, not a stale cached connection — reload the extension's own background/service-worker context too.

## CLI setup

### "no seed found" {#no-seed}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
sidebar_position: 6
title: Troubleshooting — get unstuck
description: "Jeder Fehler liefert dir einen stabilen Code und eine request-id, die direkt zum Server-Log führt, On-Chain-Spends sind race-guarded, sodass du nie doppelt zahlst, und klare Pre-Flight-Guards verhindern verschwendete capsules, bevor du $DIG ausgibst."
description: "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."
keywords:
- DIG troubleshooting
- error codes
Expand All @@ -16,66 +16,72 @@ tags:
- capsule
---

# Troubleshooting {#troubleshooting}
# Troubleshooting

> Jeder Fehler liefert dir einen **stabilen Code** und eine **request-id**, die direkt zum Server-Log führt, On-Chain-Spends sind **race-guarded**, sodass du nie doppelt zahlst, und klare **Pre-Flight-Guards** verhindern verschwendete capsules, bevor du $DIG ausgibst.
> 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.

## Das Denkmodell — finde deinen Fehler anhand seines Codes {#the-mental-model--find-your-failure-by-its-code}
## The mental model — find your failure by its code

Jede Oberflächedie dig RPC, die digstore-CLI, DIGHUb, der `chia://`-Loader, das SDK — bildet einen Fehler auf einen **STABILEN Code** ab. **Verzweige anhand des Codes, niemals anhand der Meldung.** Ein konsolidierter Katalog deckt sie alle ab und wird auch maschinenlesbar veröffentlicht.
Every surfacethe dig RPC, the digstore CLI, DIGHUb, the `chia://` loader, the SDK — maps a failure to one **STABLE code**. **Branch on the code, never the message.** One consolidated catalog covers all of them and is also published machine-readable.

Pre-Flight-Guards (`digstore doctor`, `--dry-run`, `--if-changed`) und fortsetzbare Anker sorgen dafür, dass eine hängende oder wirkungslose Veröffentlichung **niemals stillschweigend Geld ausgibt**.
Pre-flight guards (`digstore doctor`, `--dry-run`, `--if-changed`) and resumable anchors mean a stuck or no-op publish **never silently spends**.

## Häufige Veröffentlichungsfehler {#common-publishing-failures}
## Common publishing failures

Unzureichende Mittel, ein Bestätigungs-Timeout (fortsetzbardein Spend geht nicht verloren) und das Non-Fast-Forward „remote root has advanced".
Insufficient funds, a confirm timeout (resumableyour spend isn't lost), and the non-fast-forward "remote root has advanced".

→ [Troubleshooting](../support/troubleshooting.md)

## Lese- & Verifizierungsfehler {#read--verify-failures}
## Read & verify failures

Proof-Mismatch, Entschlüsselungs-/Salt-Fehler und Not-Found-/Decoy-Antworten.
Proof mismatch, decrypt/salt errors, and not-found / decoy responses.

→ [Lese- & Verifizierungsfehler](../support/troubleshooting.md#verification-failed)
→ [Read & verify failures](../support/troubleshooting.md#verification-failed)

## Wallet- & Session-Probleme {#wallet--session-issues}
## Wallet & session issues

Verbindung, Re-Authentifizierung, eine abgelehnte Anfrage und Watch-Only-Sessions, die nicht signieren können.
Connect, re-auth, a declined request, and watch-only sessions that can't sign.

→ [Wallet-Session kann nicht signieren](../support/troubleshooting.md#wallet-session)
→ [Wallet session can't sign](../support/troubleshooting.md#wallet-session)

## Pre-Flight- & Kostenprüfungen — keine capsule verschwenden {#pre-flight--cost-checks--dont-waste-a-capsule}
## Node & extension issues

`digstore doctor` (Umgebung + Bereitschaft), `--dry-run` (Vorschau der Kosten und der voraussichtlichen capsule) und `--if-changed` (ein bytegleicher Build ist ein No-Op).
The browser extension shows your node as offline even though it's running and healthy.

→ [Deploy aus GitHub Actions](../digstore/cli/deploy-from-github-actions.md) · [On-Chain-Anchoring → Kosten & Sicherheit](../digstore/cli/onchain-anchoring.md#cost-and-safety)
→ [The extension shows my node as offline](../support/troubleshooting.md#extension-offline)

## Referenz der Fehlercodes {#error-codes-reference}
## Pre-flight & cost checks — don't waste a capsule

CLI-Exit-Codes · RPC `-32xxx` · DIGHUb · dig-loader · SDK — eine konsolidierte Tabelle.
`digstore doctor` (environment + readiness), `--dry-run` (preview the cost and the would-be capsule), and `--if-changed` (a byte-identical build is a no-op).

→ [Fehlercodes](../support/error-codes.md)
→ [Deploy from GitHub Actions](../digstore/cli/deploy-from-github-actions.md) · [On-chain anchoring → cost & safety](../digstore/cli/onchain-anchoring.md#cost-and-safety)

## FAQ {#faq}
## Error codes reference

Kosten, die kostenlose Testphase, warum der Preis einheitlich ist, wo man $DIG bekommt, und „gibt es ein Testnet?".
CLI exit codes · RPC `-32xxx` · DIGHUb · dig-loader · SDK — one consolidated table.

→ [Error codes](../support/error-codes.md)

## FAQ

Cost, the free trial, why the price is uniform, where to get $DIG, and "is there a testnet?".

→ [FAQ](../support/faq.md)

## Hilfe bekommen {#get-help}
## Get help

Discord + GitHub, und wie man einen guten Bericht einreicht — **niemals Geheimnisse einfügen**.
Discord + GitHub, and how to file a good report — **never paste secrets**.

→ [Hilfe bekommen](../support/get-help.md)
→ [Get help](../support/get-help.md)

## Status & Changelog {#status--changelog}
## Status & changelog

→ [Status](../support/status.md) · [Changelog](../support/changelog.md)

---

## Tiefer einsteigen: das Protokoll {#go-deeper-the-protocol}
## Go deeper: the protocol

- **Lese- & Verifizierungsfehler** → [Proofs & Sicherheit](../digstore/format/proofs-and-security.md) · [URNs & Verschlüsselung](../digstore/format/urns-and-encryption.md)
- **RPC-`-32xxx`-Codes** → [die dig-RPC-Methoden](../rpc/methods.md) · [Konformität](../rpc/conformance.md)
- **Alles** → [Protokoll-Deep-Dive](../protocol-deep-dive.md) · [Konzepte & Glossar](../concepts.md)
- **read & verify failures** → [Proofs & security](../digstore/format/proofs-and-security.md) · [URNs & encryption](../digstore/format/urns-and-encryption.md)
- **RPC `-32xxx` codes** → [the dig RPC methods](../rpc/methods.md) · [Conformance](../rpc/conformance.md)
- **Everything** → [Protocol deep-dive](../protocol-deep-dive.md) · [Concepts & glossary](../concepts.md)
Loading
Loading