MDK Logo

Terminology

The vocabulary you need before running anything — ORK, app-node, worker, manager, thing, mock, and how they compose

This page explains the terms you need to familiarize yourself with, using an Antminer rack as an example.

Terms you need to name

TermWhat it isLives at
ORK (Orchestration Kernel)The pull-only kernel that owns the device registry, routes commands, and aggregates telemetry.backend/core/ork/index.js
App NodeThe developer-owned gateway between non-Node clients (UI, AI agents) and ORK. Mandatory whenever a non-Node consumer reaches the kernel; not used in the in-process Antminer-rack example below.backend/core/app-node/
WorkerA device-family translator. Speaks the MDK Protocol upward to ORK and the vendor's native API downward to one device family (one miner brand, one container type, one pool API).backend/workers/docs/install-pattern.md
Manager classThe JavaScript class a worker exports, one per supported device model. Instances drive a single rack of devices.e.g. AM_S19XP, AM_S21 in backend/workers/miners/antminer/index.js
ThingOne registered device instance. Created by calling manager.registerThing({ info, opts }). Identified by a generated deviceId.runtime, in manager.mem.things

How they compose, for an Antminer rack

The same shape repeats for every other device family (Whatsminer, container vendors, pool APIs). For a multi-worker view, parallel workers, and multi-site deployments, see architecture.md#scaling.

What this section does NOT cover

Next steps

On this page