Canon Defender

Canon Defender BlockDAG dvd-20260711.4

Protecting canonical data — a mainnet node that verifies its own chain offline, curates its peers, and resists poison/fork peers.

The full writeup

How it works and everything we found building it — the enforcing binary, the majority-vote design, the peer-curation sync win, and the honest limits.

→ Read the field report  ·  raw markdown

Pick your node

Two builds, same tooling (dashboard, peer-firewall, self-verify). They differ in how the node handles blocks. Not sure which? Install both and compare — and decide for yourself.

Enforcing node

Runs the enforcing binary (rc.8): it re-derives EVM state and rejects any block that doesn’t match its own AuthorizedMining + EVM-state guard. Bundled with the monitor, the peer-firewall, and a canonical read-proxy; can act as a sharing peer. (Like every node on this software right now, it settles ~1M EVM blocks behind the RPC tip.)

Linux (VPS or an always-on box) — replace YOUR-PUBLIC-IP with your real IP (from ifconfig.me); omit EXTERNAL_IP if you're behind NAT and only leeching:

curl -fsSL https://seed.dvdmining.com/canon-defender/setup-node-rc8.sh | sudo EXTERNAL_IP=YOUR-PUBLIC-IP bash

Windows (Docker Desktop):

curl.exe -fsSL -o setup-node-rc8.ps1 https://seed.dvdmining.com/canon-defender/setup-node-rc8.ps1
powershell -ExecutionPolicy Bypass -File setup-node-rc8.ps1 -ExternalIp YOUR-PUBLIC-IP

Full guide: README-enforcing-node.md · files: setup-node-rc8.sh · setup-node-rc8.ps1

⚠ Note: enforcing commits the node — once it writes its marker, the datadir can’t be reused by the pool binary. It favours strict validation over uptime (it can pause rather than accept a block that fails its guard).

Pool / relay node

Runs the pool binary (pool-v6.5.7) as a follower under Docker — it tracks the heaviest chain its peers serve. Runs the same monitor + peer-curation + firewall (detect-and-recover), but doesn’t natively reject blocks the way the enforcing build does.

Linux — replace YOUR-PUBLIC-IP with your real IP (omit EXTERNAL_IP if behind NAT):

curl -fsSL https://seed.dvdmining.com/canon-defender/setup-node.sh | EXTERNAL_IP=YOUR-PUBLIC-IP bash

Windows watcher (Docker Desktop):

powershell -ExecutionPolicy Bypass -File setup-node.ps1 -ExternalIp YOUR-PUBLIC-IP

Files: setup-node.sh · setup-node.ps1 · canon-monitor.py · README.txt

Am I on the canonical chain?

Every node ships with a self-check dashboard at http://127.0.0.1:8092. To check any node or RPC — yours or someone else’s — paste its address into the Canonical Chain Checker: it compares recent blocks (or, for a peer with a closed RPC, the tip it advertises) against the canonical network.

Or see the whole network at a glance on the Network Map — every peer we can see, placed by location and coloured by canon status, with a searchable list and a live count of NAT’d “leecher” nodes. No need to punch in an address.

Rules baked in

Canon Defender dvd-20260711.4 · build scheme dvd-<date>.<n> · VERSION · dvdmining.com