This is a Windows port of DigiAsset Core originally created by mctrivia. All core logic, chain analysis, RPC methods, and DigiAsset protocol implementation are their work. This repository only adds Windows (MSVC) build support, platform-specific stubs, and a console dashboard UI.
Most people should use this — you do not need to clone or build anything. On
the Windows PC that will run the node, open PowerShell as Administrator (click
Start, type PowerShell, right-click Windows PowerShell, choose Run as
administrator) and paste this single line:
iwr https://raw.githubusercontent.com/chopperbriano/DigiAssetWindows/master/setup-digiasset.ps1 -OutFile "$env:TEMP\setup-digiasset.ps1" -UseBasicParsing; powershell -ExecutionPolicy Bypass -File "$env:TEMP\setup-digiasset.ps1"It installs the whole stack as GUI apps — the DigiByte wallet, IPFS Desktop (tray icon), and the DigiAsset node dashboard — writes every config, installs the VC++ runtime, opens the firewall, and adds a background task that auto-updates and re-checks health. The apps open when you log in (set up Autologon for an always-on box). It asks only for your DGB payout address. Full walkthrough: NODE-SETUP.md.
Building from source is only for developers — see Build on Windows below. If you just want to run a node and earn DGB, use the one line above.
Two ways to take part:
- 🖥️ Host a node and earn DGB — use the one-liner above. Full guide: NODE-SETUP.md.
- 🏦 Run your own pool (accept nodes, verify them, pay hosts) — guide: POOL-SETUP.md.
- How It Works (Architecture)
- Build on Windows
- Optional Build Targets
- Install DigiByte
- Install IPFS
- Configure DigiAsset for Windows
- Permanent Storage Pools & Getting Paid
- Documentation
- Other Notes
DigiAsset for Windows is the "brain" that ties together three separate programs. To
run a full node you install and run all three. There is also a fourth,
optional program (DigiAssetPoolServer.exe) that only pool operators need.
| # | Program | What it provides | Why DigiAsset for Windows needs it |
|---|---|---|---|
| 1 | DigiByte Core wallet (digibyted) |
The DigiByte blockchain, a JSON-RPC interface, and a wallet | DigiAsset for Windows reads every block and transaction from it over RPC to find DigiAsset issuances/transfers. For pool payouts it also calls the wallet's sendtoaddress. |
| 2 | IPFS Desktop / kubo | Content-addressed file storage (the actual asset images + metadata) | DigiAssets store their media on IPFS. DigiAsset for Windows pins those files so they stay available, via IPFS's HTTP API. |
| 3 | DigiAsset for Windows (this repo) | The chain analyzer, asset database, RPC server, web UI, and dashboard | The coordinator: reads the chain from DigiByte Core, decodes DigiAsset data, and pins the right files on IPFS. |
DigiByte Core and IPFS are external programs you download and install. DigiAsset for Windows is what you build here (or download from Releases).
| Executable | Needed? | What it does |
|---|---|---|
DigiAssetWindows.exe |
Required | The node itself. One process runs the sync engine, asset database, JSON-RPC server, the built-in web UI (http://localhost:8090), and the console dashboard. This is the program you run. |
DigiAssetWindows-cli.exe |
Optional | A command-line client that sends RPC commands to a running DigiAssetWindows.exe (query assets, trigger actions). Useful for scripting; the web UI covers most needs. |
DigiAssetPoolServer.exe |
Optional — pool operators only | A standalone pool server that pays node operators for hosting. Most users never run this. See Permanent Storage Pools & Getting Paid. |
You do not need a separate web-server exe — the web UI is built into
DigiAssetWindows.exe.
reads blocks/txs (RPC :14022) pins/serves files (API :5001)
DigiByte Core ──────────────────────► DigiAsset for Windows ───────────────► IPFS (kubo)
blockchain + wallet DigiAssetWindows.exe file storage
▲ │ │
│ sendtoaddress (pool payouts) │ └──► web UI http://localhost:8090
└─────────────────────────────────────┘
| Port | Program | Purpose |
|---|---|---|
| 14022 | DigiByte Core | JSON-RPC — DigiAsset for Windows reads the chain and sends payouts here |
| 12024 | DigiByte Core | P2P network (blockchain sync) |
| 5001 | IPFS (kubo) | HTTP API (pin / cat / findprovs) |
| 4001 | IPFS (kubo) | Swarm P2P — other peers connect here. Forward this if you want pool payouts (see below) |
| 8090 | DigiAsset for Windows | Built-in web UI |
| 14028 | DigiAssetPoolServer | Pool server HTTP (operators only) |
This fork builds a Windows version with Visual Studio and MSVC in the main branch, with upstream tracking in the 'upstream-master' branch. Upstream changes from DigiAsset-Core/DigiAsset_Core are merged periodically.
Most dependencies (libcurl, OpenSSL, SQLite3, libjsonrpccpp) are replaced by vendored source files or Windows-native stubs (WinHTTP), so no vcpkg or external package manager is needed beyond the jsoncpp and libjson-rpc-cpp subprojects that are already in the repo.
Note: If you want to skip building from source, download the pre-built binaries from the Releases page. You will still need to install IPFS Desktop and DigiByte Core wallet as described below. Run DigiAssetWindows.exe from a cmd prompt — the web server is built in (no separate exe needed).
- Visual Studio 2022 (Community or higher) with the "Desktop development with C++" workload
- CMake 3.20+ (included with VS — select "C++ CMake tools for Windows" in the installer)
git clone --recursive https://github.com/chopperbriano/DigiAssetWindows.git
cd DigiAssetWindowsThe --recursive flag is required to fetch the jsoncpp and libjson-rpc-cpp submodules. If you already cloned without it, run:
git submodule update --init --recursive.\config-jsoncpp.batOpen jsoncpp\build\jsoncpp.sln in Visual Studio. Select your build configuration (Debug or Release). Build ALL_BUILD, then build INSTALL.
.\config-libjson-rpc.batOpen libjson-rpc-cpp\build\libjson-rpc-cpp.sln. Use the same configuration as above. Build ALL_BUILD, then INSTALL.
nuget.exe install boost -Version 1.82.0 -OutputDirectory packagesIf you don't have nuget.exe, download it from https://www.nuget.org/downloads
.\config.batOpen build\digiasset_core.sln in Visual Studio, select the same configuration (Debug or Release) as the libraries above, and build ALL_BUILD.
Or build from a Developer Command Prompt:
cd build
msbuild src\DigiAssetWindows.vcxproj /p:Configuration=ReleaseThe DigiAssetWindows.exe binary will be in build\src\Release\ (or Debug\). This single executable includes the core sync engine, RPC server, and web UI server.
You can enable the CLI, Web server, and test suite by passing CMake options:
cmake .. -DBUILD_CLI=ON -DBUILD_WEB=ON -DBUILD_TEST=ON| Target | Binary | Description |
|---|---|---|
BUILD_CLI |
DigiAssetWindows-cli.exe |
Command-line RPC client |
BUILD_WEB |
digiasset_core-web.exe |
Standalone web server (legacy, now built into main exe) |
BUILD_TEST |
Google_Tests_run.exe |
Google Test suite |
DigiAssetPoolServer.exe (the optional pool server) is built automatically on
Windows/MSVC — no flag needed. It lands in build\pool\Release\. You only run
it if you operate your own Permanent Storage Pool; see
Permanent Storage Pools & Getting Paid.
For faster initial blockchain sync, add to config.cfg:
verifydatabasewrite=0
This disables SQLite write verification (fsync), significantly reducing sync time.
Download and install the latest verison of the DigiByte Core Wallet. https://github.com/DigiByte-Core/digibyte/releases/download/v8.22.2/digibyte-8.22.2-win64-setup.exe Install to the default locations, unless you need to change the location on your hard drive. Then add the following lines to the digibyte.conf file.
rpcuser=user
rpcpassword=pass11
rpcbind=127.0.0.1
rpcport=14022
whitelist=127.0.0.1
rpcallowip=127.0.0.1
listen=1
server=1
txindex=1
deprecatedrpc=addresses
addnode=191.81.59.115
addnode=175.45.182.173
addnode=45.76.235.153
addnode=24.74.186.115
addnode=24.101.88.154
addnode=8.214.25.169
addnode=47.75.38.245
Download and install IPFS Desktop from https://github.com/ipfs/ipfs-desktop/releases
After installation, verify the IPFS API is running. The line "RPC API server listening on" shows the port (usually 5001). You can access the IPFS web UI at http://localhost:5001/webui in your browser.
The first time you run DigiAsset for Windows it will ask you several questions to set up your config file. Run DigiAssetWindows.exe from a cmd prompt:
DigiAssetWindows.exeThe single executable runs both the sync engine and the web UI server. The console displays a live dashboard with sync progress, service status, asset count, and a link to the web UI (default: http://localhost:8090/).
This will create config.cfg — the wizard creates only the basic config. For a full list of config options see example.cfg.
Make sure DigiAsset for Windows is running correctly and then press ctrl+c to stop it and continue with instructions.
NOTE: For peer connectivity and pool payout verification, forward these inbound ports to this machine:
Inbound TCP:4001 # IPFS swarm — lets peers (and the pool) reach your node
Inbound TCP:12024 # DigiByte P2P — inbound blockchain peers (optional)DigiAssets keep their files on IPFS, but IPFS only holds a file while someone pins it. Permanent Storage Pools (PSPs) are the incentive layer that keeps those files alive: when an asset is created, the creator pays a small fee, and that fee is shared over time among the node operators who agree to permanently host ("pin") the asset's files. In short — run a node, host the files, earn DGB.
There are two roles. Most people are node operators; only pool runners are pool operators.
- Run DigiByte Core + IPFS +
DigiAssetWindows.exeas described above. - In
config.cfg, subscribe to a pool and set your payout address (the#is the pool number; seeexample.cfgfor all keys):Both pools need a payout address or the node errors with "Could not generate new PSP payout address". Apsp0subscribe=1 psp0payout=<your DGB address> # pool 0 = local pool (no server); needs a payout too psp1server=https://pool.digistamp.co # pool 1 = the pool server you're joining psp1subscribe=1 psp1payout=<your DGB address>_labelvalue auto-creates an address, but only if a DigiByte wallet is loaded — use a real address to be safe. The installer sets all of this for you. - Strongly recommended: forward IPFS port 4001 (or set
Addresses.Announcein kubo). The pool verifies you're actually hosting before it pays you. Forwarded nodes verify instantly and reliably. Nodes behind NAT can still qualify through a fallback provider-record check, but it's slower and less reliable — so forwarding the port is the difference between "paid promptly" and "maybe paid eventually." Details in pool/README.md. - Watch the dashboard's Payment row for your status (
registered (no payouts yet)→ the pool hasn't enabled payouts;active→ it has).
Heads-up about the original pool. The pool historically run by Matthew Cornelisse (
ipfs.digiassetx.com, pool #1) has not paid anyone since ~July 2024 — its payout endpoints return HTTP 500. Registration and hosting still work, but no DGB arrives. This is exactly why this fork ships a pool server so the community can run their own paying pools.
Run DigiAssetPoolServer.exe. It is a self-contained server that:
- serves the canonical permanent-asset list (
/permanent/<page>.json), - accepts node registrations (peerId + payout address) and keepalives,
- verifies that each registered node is really hosting the content (direct IPFS dial, with a NAT-tolerant DHT fallback), and
- pays verified nodes from your DigiByte Core wallet, on your explicit command, with a spend budget and a per-period guard.
It's a separate program from DigiAssetWindows.exe on purpose: it links its own
minimal server/dashboard so it can run independently, and it only exists because
the upstream pool went dormant. Full setup — pool.cfg keys, the DigiByte Core
RPC credentials it needs, the verification model, and the [P]/[E] payout
flow — is documented in pool/README.md.
The web UI is built into DigiAssetWindows.exe. Once running, open http://localhost:8090/ in your browser.
For running a paying Permanent Storage Pool, see pool/README.md.
This project is a Windows port of DigiAsset Core by mctrivia and contributors. The core DigiAsset protocol implementation, chain analyzer, RPC interface, database schema, and all blockchain logic are entirely their work.
This fork adds only:
- Windows/MSVC build system and platform stubs (WinHTTP, OpenSSL stubs, vendored SQLite3)
- Console dashboard UI (VT100-based TUI)
- Embedded web server (no separate exe)
- Sync performance optimizations (prefetch pipeline, UTXO caching)
- If submitting pull requests please utilize the .clang-format file to keep things standardized.
- Upstream changes are tracked on the
upstream-masterbranch and merged intomasterperiodically.