Skip to content
Small team, full backlog, zero orders dropped. Support replies are slower than we’d like. Read our status update → Zero orders dropped. Status → 📬 Check your spam folder — most of our replies land there. We do answer. Status update → 📬 Check your spam folder. Status →

Run DCENT_OS in 15 Minutes — No Miner Required

Before you start

Prerequisites — all free
You needWhy
Linux, or Windows with WSLThe daemon workspace is host-testable on any Linux (or Windows WSL).
rustupInstalls the pinned Rust 1.90.0 toolchain in step 2.
gitClones the public GPL-3.0 repository.
Node.js (with npm) + Python 3Builds the dashboard and serves it with mock telemetry.

You do not need: a miner, a pool account, a wallet, or a soldering iron.

The run

  1. Get the source

    git clone https://github.com/DCentralTech/DCENT_OS.git
    cd DCENT_OS

    You should see

    A working tree containing DCENT_OS_Antminer/, DCENT_OS_ESP/, and TESTING.md — the file this tutorial follows.

    Proves the published tree is public and complete. Undo delete the folder.

  2. Install the pinned toolchain and type-check everything

    cd DCENT_OS_Antminer/dcentrald
    rustup toolchain install 1.90.0
    cargo +1.90.0 check --workspace --locked

    You should see

    Cargo compiles every crate in the workspace and exits without errors. --locked means you built exactly the dependency set we ship — no silent substitutions.

    Proves the workspace compiles from a cold clone. Undo nothing to undo.

  3. Run the test suite — the same one our CI runs

    cargo +1.90.0 test --workspace --locked

    You should see

       Compiling dcentrald v…
        Finished `test` profile [unoptimized + debuginfo] target(s) in …
         Running unittests …
    
    test result: ok. … passed; 0 failed; … ignored

    Exact test counts change from release to release, so we don't print one — the contract is the ok and the 0 failed on every crate's summary line. The suite exercises the Stratum V1/V2 clients against in-process mock pools, share validation, BIP 320 version-rolling reconstruction, ASIC frame codecs, autotuner logic, and the API contracts — all without hardware.

    Proves the mining logic passes CI on your machine — not just ours. Undo nothing to undo.

    If the build or tests fail here

    A failure in this step on a clean checkout with the pinned 1.90.0 toolchain is exactly the kind of result the project wants reported — open a GitHub issue with your OS, toolchain version, and the tail of the output. Most first-run failures are environment, not code: confirm rustup show lists 1.90.0, and on WSL make sure you cloned inside the Linux filesystem, not /mnt/c (a general WSL performance/locking caveat, not a DCENT_OS-specific one).

  4. Build the dashboard and start it on mock telemetry

    cd ../dashboard
    npm ci
    npm run build
    python3 scripts/preview-with-mocks.py --port 4173

    You should see

    A local server on port 4173 backed by ~70 mocked API endpoints with realistic mining data. Your terminal stays attached to the server — leave it running.

    Proves the shipped UI is real, not renders. Undo Ctrl-C stops the server.

  5. Drive the product

    Open http://127.0.0.1:4173 and switch between the three modes: Space Heater / Mining / Hacker.

    You should see

    The full product UI — the autotuner panel, the shares table with pool-target vs achieved difficulty, the Companion chat, the Hacker-mode tools — rendered from mock data, no miner required. The telemetry is mocked; the interface is real. On real hardware, the difference is that the numbers are yours.

    Proves what you'd actually operate day-to-day. Undo close the tab, Ctrl-C the server.

  6. Optional: cross-compile the real firmware binary

    cd ../dcentrald
    cargo build --release --target armv7-unknown-linux-musleabihf    # Zynq (S9/S17/S19)

    You should see

    An ARMv7 release binary under target/armv7-unknown-linux-musleabihf/release/ — the artifact class that runs on a Zynq control board. "A successful build proves the published tree is complete and standalone." (If cargo reports the target is missing, rustup target add armv7-unknown-linux-musleabihf installs it — standard rustup usage, not a DCENT_OS-specific step.)

    Proves you could produce the miner-side binary yourself. Undo nothing to undo.

  7. Stop

    Press Ctrl+C in the terminal running the preview server. That's the whole teardown: nothing was installed system-wide, nothing is listening anymore, and the checkout is just a directory you can delete.

    You should see

    The preview server stops and your shell prompt returns in that terminal. Reload http://127.0.0.1:4173 and the browser now fails to connect instead of serving the dashboard — that refusal is the confirmation. Nothing was installed system-wide, nothing is listening on port 4173 any more, and the checkout is an ordinary directory you can delete.

    Proves the exit is as small as the entry. Undo already done.

What you just proved — and what you didn't

ProvedNot proved
The published source is complete, standalone, and passes its own CI suite on your machine. The dashboard is a real product surface, not renders. Nothing about live mining. Accepted shares on real silicon are a different tier with different evidence — that's deliberate. Connected ≠ mining, scheduled ≠ flashed, upload ≠ mined.

Where this ladder goes next

Tier 2 and everything past it depend on which control board is actually inside the machine — one model name maps to several different control boards, and dcent doctor can only answer that for a miner that boots and reaches your network. If yours is dark or off-network, identify the board from the outside first.

Deeper: build from source · architecture · security model.

The no-hardware first-run idea has prior art we're glad to credit: Mujina's first-run tutorial (256 Foundation) proved a firmware doc could start before the hardware does. DCENT_OS stands on the shoulders of the open-source mining ecosystem — Skot's Bitaxe, the OSMU community, and Braiins' pioneering work.

Current as of 2026-08-13. Commands quoted verbatim from the public repository's TESTING.md (Tier 0) — if the repo and this page ever disagree, the repo wins; tell us and we'll fix the page. If a step fails on your machine we want the log — open a repository issue.


Companion tool — DCENT_Toolbox: Install DCENT_Toolbox · Run a read-only dcent doctor pass first.