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
24 changes: 24 additions & 0 deletions docs/build-a-dapp/deploy-existing-app.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,30 @@ The publish-success screen shows every way to reach it, all free:
- **A `.dig` address** (`http://<storeId>.dig/`) — opens in *any* browser once [dig-dns](../run-a-node/universal-installer.md#browse-dig-names-directly) is installed on that device.
- A **`*.on.dig.net`** friendly subdomain is an **optional** upgrade (a separate, paid registration) — never required to view or share what you just published.

## Find the store behind a subdomain {#x-dig-store}

Any `*.on.dig.net` subdomain will tell you which store it serves. A `HEAD` request on its root answers with two response headers:

| Header | Value |
|---|---|
| `X-Dig-Store` | The 64-hex store id |
| `X-Dig-URN` | The full `urn:dig:chia:<storeId>` address |

```sh
curl -sI https://chia-offer.on.dig.net/ | grep -i '^x-dig-'
# X-Dig-Urn: urn:dig:chia:6ed1e80d44840735bf3c94a38f93e9a7c2e1077872681edf7c5985a14d17513f
# X-Dig-Store: 6ed1e80d44840735bf3c94a38f93e9a7c2e1077872681edf7c5985a14d17513f
```

Both are listed in `Access-Control-Expose-Headers`, so in-browser code can read them cross-origin too:

```js
const response = await fetch('https://chia-offer.on.dig.net/', {method: 'HEAD'});
const storeId = response.headers.get('X-Dig-Store');
```

That turns a friendly domain into a verifiable address: hand the store id to `dign open chia://<storeId>/`, or to any [dig RPC](../rpc/what-is-the-dig-rpc.md) read call, and the content is checked against the chain rather than trusted because of the domain it came from. A subdomain pinned to one root also returns `X-Dig-Root`.

## Related

- [Quickstart](../quickstart.md) — the shorter end-to-end "ship a site" path (web and CLI)
Expand Down
45 changes: 31 additions & 14 deletions docs/run-a-node/apt.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,18 @@ tags:

On Ubuntu, Debian, and other Debian-family distributions, install the DIG ecosystem from the **`apt.dig.net`** repository. You get the `dig-node` service and the `dig-store` CLI as ordinary apt packages — signed, and upgraded with `apt upgrade` like anything else on the box. Installing `dig-node` sets up and **enables a systemd service** so your node starts on boot and stays running.

:::note Pre-release — infrastructure being provisioned
`apt.dig.net` is still being stood up, so these commands may not resolve yet. They are the **real, intended** flow — bookmark this page. In the meantime, use the cross-platform [universal installer](./index.md#universal-installer-any-os) or grab a binary from the [Releases page](https://github.com/DIG-Network/dig-node/releases).
:::
## What apt serves today {#what-apt-serves-today}

Check this before you choose apt, because the repository trails the current releases:

| Package | apt serves | Current release | Architectures |
|---|---|---|---|
| `dig-node` | 0.43.0 | 0.64.0 | `amd64` only |
| `dig-store` | 0.17.0 | 0.19.3 | `amd64`, `arm64` |

**Choose apt** when you want `dig-node` managed by your package manager on an x86-64 Debian-family box and an older node is acceptable.

**Choose the [DIG Installer](./universal-installer.md)** when you want the current `dig-node`, or you are on `arm64`, or you want the `dign` and `digd` short aliases, `dig-dns`, `dig.local`, and the `chia://` scheme handler — none of which are part of these apt packages.

## 1. Add the signing key

Expand All @@ -45,23 +54,29 @@ echo "deb [signed-by=/usr/share/keyrings/dig.gpg] https://apt.dig.net stable mai
sudo apt update && sudo apt install dig-node dig-store
```

- **`dig-node`** — the headless node service (serves the [dig RPC](../rpc/what-is-the-dig-rpc.md), hosts capsules, keeps the local `.dig` cache).
- **`dig-store`** — the CLI for creating, committing, and reading stores. Optional if you only want to serve, but usually wanted alongside.
- **`dig-node`** — the headless node service (serves the [dig RPC](../rpc/what-is-the-dig-rpc.md), hosts capsules, keeps the local `.dig` cache). Installs `/usr/bin/dig-node`.
- **`dig-store`** — the CLI for creating, committing, and reading stores. Installs `dig-store` plus its `digs` alias. Optional if you only want to serve, but usually wanted alongside.

## 4. Check the service

Installing `dig-node` registers a **systemd** unit — `net.dignetwork.dig-node.service` (shown as **"DIG NETWORK: NODE"**) — and **enables + starts it for you**, so it's already running and will come back on every boot. No manual enable step is needed.
Installing `dig-node` registers the **systemd** unit `dig-node.service` and **enables + starts it for you**, so it's already running and will come back on every boot. No manual enable step is needed.

Check it's running and watch its logs:

```sh
systemctl status net.dignetwork.dig-node # is it active? when did it start?
journalctl -u net.dignetwork.dig-node -f # follow the node's logs live
systemctl status dig-node # is it active? when did it start?
journalctl -u dig-node -f # follow the node's logs live
```

`systemctl status` should report `active (running)`. The node now serves the dig RPC on its local endpoint and begins hosting/caching content.
`systemctl status` should report `active (running)`. The node now serves the dig RPC on `127.0.0.1:9778` and begins hosting/caching content.

The package also registers the OS **`chia://` scheme handler**, so clicking a `chia://…` link opens it through your node — see [Open `chia://` links from anywhere](./universal-installer.md#chia-scheme-handler). (`apt.dig.net` serves the same native `.deb` described in [Native OS packages](./universal-installer.md#native-os-packages).)
The service runs as its own unprivileged `dig-node` system account — never root — and keeps its `.dig` cache in `/var/lib/dig-node`. Change any of its settings with a drop-in:

```sh
sudo systemctl edit dig-node
```

→ [Configure dig-node](./configure.md) for the settings you can set

## What dig-node does once it's running

Expand All @@ -84,14 +99,16 @@ sudo apt update && sudo apt upgrade # picks up new dig-node / dig-store r
To restart after a config change, or stop the service:

```sh
sudo systemctl restart net.dignetwork.dig-node
sudo systemctl stop net.dignetwork.dig-node # stop serving (does not uninstall)
sudo systemctl disable net.dignetwork.dig-node # don't start on boot
sudo systemctl restart dig-node
sudo systemctl stop dig-node # stop serving (does not uninstall)
sudo systemctl disable dig-node # don't start on boot
```

To run a newer `dig-node` than the repository carries, use the [DIG Installer](./universal-installer.md) instead of apt — it always resolves the current release. Pick one route per machine and stay on it, so there is only ever one `dig-node` and one service to reason about.

## Other operating systems

apt is the **Ubuntu/Debian-native** path. For Windows, macOS, or non-Debian Linux, use the cross-platform **[DIG Installer](./index.md#universal-installer-any-os)** (`curl … | sh`), which installs the `dig-node` and `dig-dns` services (as a Windows service / `systemd` / `launchd`) plus the `dig-store` CLI on every OS, all by default in one run. To **read** DIG content without running a node, just get the **[DIG Browser ↗](https://github.com/DIG-Network/DIG_Browser/releases)**.
apt is the **Ubuntu/Debian-native** path on x86-64. For Windows, macOS, `arm64` Linux, or non-Debian Linux, use the cross-platform **[DIG Installer](./universal-installer.md)**, which installs the `dig-node` and `dig-dns` services (as a Windows service / `launchd` / `systemd`) plus the `dig-store` CLI in one run. To **read** DIG content without running a node, just get the **[DIG Browser ↗](https://github.com/DIG-Network/DIG_Browser/releases)**.

## Related

Expand Down
8 changes: 7 additions & 1 deletion docs/run-a-node/configure.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,13 @@ The node only ever stores and relays **ciphertext** keyed by hashes — configur

## Apply settings

Set values in the config file or as `DIGNODE_*` environment variables (env overrides file). After changing settings, restart the service (the Windows service / `systemctl restart net.dignetwork.dig-node` / `launchctl`).
Set values in the config file or as `DIGNODE_*` environment variables (env overrides file). After changing settings, restart the node:

```sh
dign stop && dign start
```

That works on every platform and every install route. To drive the service manager directly instead, use the id for your route — see [finding the service on your machine](./universal-installer.md#service-ids).

## Related

Expand Down
51 changes: 35 additions & 16 deletions docs/run-a-node/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,35 +35,54 @@ When both are installed, the browser/extension read from your local dig-node; ot

| Your machine | Use |
|---|---|
| **Ubuntu / Debian** | The native **[apt repository](./apt.md)** — `apt install dig-node dig-store`, auto-enabled as a systemd service. |
| **Windows / macOS / Linux (any)** | The cross-platform **[DIG Installer](#universal-installer-any-os)** — one `curl \| sh` (or download) installs the full stack for every OS. |
| **Windows / macOS / Linux (any)** | The cross-platform **[DIG Installer](#universal-installer-any-os)** — one command installs the current `dig-node`, `dig-dns`, and the `dig-store` CLI. |
| **Ubuntu / Debian (x86-64)** | The native **[apt repository](./apt.md)** — ordinary `apt` packages you upgrade with the rest of the box. It currently serves an older `dig-node` than the DIG Installer does. |

Both install `dig-node` plus the `dig-store` CLI; the DIG Installer additionally installs `dig-dns` by default. apt is the Debian-native path (signed, `apt upgrade`-able); the DIG Installer covers everything else.

### apt (Ubuntu / Debian) — recommended on Debian-family systems

The native path: a signed apt repository at `apt.dig.net`. It installs `dig-node` as a managed **systemd service** and keeps it updated with `apt upgrade`.

→ **[Install on Ubuntu/Debian via apt](./apt.md)**
The DIG Installer is the path to a current node on every platform. apt is the Debian-native alternative when you want `dig-node` managed by your package manager — see [what apt serves today](./apt.md#what-apt-serves-today) before choosing it.

### DIG Installer (any OS) {#universal-installer-any-os}

The cross-platform path — Windows, macOS, and any Linux. The **DIG Installer** detects your OS and installs the full DIG stack in one run — the `dig-store` CLI, plus the `dig-node` and `dig-dns` boot-start services — with no package manager needed:
The cross-platform path — Windows, macOS, and Linux. The **DIG Installer** detects your OS and installs the full DIG stack in one run — the `dig-store` CLI, plus the `dig-node` and `dig-dns` boot-start services — with no package manager needed.

It registers system services and writes into a protected install root, so it needs administrator rights and stops without changing anything if it doesn't have them:

```sh
curl -fsSL https://dig.net/install.sh | sh
# macOS / Linux
curl -fsSL https://dig.net/install.sh | sudo sh
```

```powershell
# Windows (PowerShell)
# Windows — in a PowerShell opened with "Run as administrator"
irm https://dig.net/install.ps1 | iex
```

This is the same self-contained `dig-installer` shipped on the [Releases page](https://github.com/DIG-Network/dig-installer/releases) — download and run it directly if you prefer not to pipe to a shell, or on Windows. Doing so also opens a guided [GUI wizard](./universal-installer.md#gui-installer), if you'd rather click through than use flags.
This is the same self-contained `dig-installer` shipped on the [Releases page](https://github.com/DIG-Network/dig-installer/releases) — download and run it directly if you prefer not to pipe to a shell. Doing so also opens a guided [GUI wizard](./universal-installer.md#gui-installer), if you'd rather click through than use flags.

:::note Pre-release
The hosted installers (`apt.dig.net`, `dig.net/install.sh`) are still being provisioned. Until they're live, build from source or grab a binary from the [dig-node Releases](https://github.com/DIG-Network/dig-node/releases). The commands here are the real, intended ones.
:::
→ **[Full installer reference — flags, platforms, service ids](./universal-installer.md)**

### apt (Ubuntu / Debian)

A signed apt repository at `apt.dig.net` installs `dig-node` as a managed **systemd service** on x86-64 Debian-family systems.

→ **[Install on Ubuntu/Debian via apt](./apt.md)**

## Check it works

Ask your node to open a real store — this one is a live DIG-hosted app:

```sh
dign open chia://6ed1e80d44840735bf3c94a38f93e9a7c2e1077872681edf7c5985a14d17513f/
```

Your node resolves the store, verifies it against the chain, and opens the result in your default browser. If a page loads, your node is serving.

`dign open` hands the address to your browser, so it is a check you watch rather than one you script. For a scriptable signal, ask the node for its status instead:

```sh
dign status --json
```

→ [More ways to verify + the health checks the installer runs](./universal-installer.md#an-always-on-service-verified-after-install)

## Just want to read content?

Expand Down
2 changes: 1 addition & 1 deletion docs/run-a-node/run-a-relay.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Install it with the [universal installer](./universal-installer.md):

```bash
# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/DIG-Network/dig-installer/main/install.sh | sh -s -- --with-relay
curl -fsSL https://dig.net/install.sh | sudo sh -s -- --with-relay
```

```powershell
Expand Down
Loading
Loading