DigiByte v9.26.0-rc18 Release Notes
WARNING: This is a TESTNET-ONLY release. DO NOT use on mainnet.
Development Branch: https://github.com/DigiByte-Core/digibyte/tree/feature/digidollar-v1
Join the Developer Chat: https://app.gitter.im/#/room/#digidollar:gitter.im
⚠️ TESTNET RESET — READ THIS FIRST
RC18 resets the testnet to a new chain: testnet18. This means:
- Your old testnet blockchain data must be deleted (see Upgrade Notes below)
- The chain starts from block 0 — everyone syncs fresh
- New ports: P2P port is now 12032, RPC port is 14025
- BIP9 activation is LIVE — DigiDollar activates via real miner signaling, not auto-activation
🔑 Oracle Operators — IMPORTANT
Your oracle wallet and keys are NOT lost. They are stored in your old testnet data directory. To migrate:
- Before deleting old data, copy your oracle wallet:
- Linux: Copy
~/.digibyte/testnet17/wallets/oracle/to a safe location - Windows: Copy
%APPDATA%\DigiByte\testnet17\wallets\oracle\to a safe location - macOS: Copy
~/Library/Application Support/DigiByte/testnet17/wallets/oracle/to a safe location
- Linux: Copy
- Install RC18 and start the node (it creates the new
testnet18directory) - Copy your saved oracle wallet into the new testnet18 wallets directory:
- Linux:
~/.digibyte/testnet18/wallets/oracle/ - Windows:
%APPDATA%\DigiByte\testnet18\wallets\oracle\ - macOS:
~/Library/Application Support/DigiByte/testnet18/wallets/oracle/
- Linux:
- Load and start your oracle:
digibyte-cli -testnet loadwallet "oracle" digibyte-cli -testnet -rpcwallet=oracle startoracle <your_oracle_id>
Your existing Schnorr keypair carries over — you do NOT need to run createoraclekey again. The private key lives in your wallet file.
📡 BIP9 Activation Process
RC18 uses real BIP9 miner signaling for DigiDollar activation. This means:
- DigiDollar features are disabled at launch — the DigiDollar tab will show "Not yet activated"
- Miners signal support by setting bit 23 in block headers
- Once 70% of blocks in a 200-block window signal support, activation locks in
- DigiDollar fully activates after the lock-in period completes (min block 600)
- We are testing the full activation lifecycle — this mirrors how mainnet activation will work
You can monitor activation progress with:
digibyte-cli -testnet getdigidollardeploymentinfoWhat's New in RC18
RC18 is a testnet reset release with a critical multi-algo difficulty fix, Mask Values privacy support, consecutive send improvements, and UI polish.
🔴 CRITICAL: Multi-Algo Difficulty Fix (GetAlgo)
A hardcoded mainnet height check (145,000) in CBlockIndex::GetAlgo() broke difficulty adjustment for all non-Scrypt algorithms on testnet. Because testnet never reaches height 145,000 during testing, all 5 algos were stuck at minimum difficulty, producing instant blocks. The fix removes the height check entirely and uses version bit parsing, which works correctly on all networks.
All Fixes: RC18 (Compact Summary)
RC18 Fixes
- 🔴 GetAlgo mainnet height removal — removed hardcoded height 145,000 from
CBlockIndex::GetAlgo()that broke multi-algo difficulty on testnet; now uses version bit parsing on all networks - 🔒 Mask Values privacy — DigiDollar tabs (DD Balance, DGB Locked, Active Positions, DD Pending, Send Amount, Available Balance, Position List) now properly masked when "Mask Values" is enabled, with full signal chain support
- 💸 Consecutive DD sends — allow spending trusted unconfirmed DigiDollar UTXOs so users can send multiple DD transactions without waiting for confirmations
- 🖥️ Redeem display improvement — REDEEM transactions now show collateral return and fee change as separate line items instead of a single combined amount
- 🧪 Mask Values privacy tests — TDD test suite for all 7 DigiDollar widget mask behaviors
Technical Changes
| File | Change |
|---|---|
configure.ac
| Version bump RC17 → RC18 |
src/kernel/chainparams.cpp
| Testnet18 chain params, P2P port 12032 |
src/chainparamsbase.cpp
| Testnet18 data dir and ports (P2P 12032, RPC 14025) |
src/chain.cpp
| Remove hardcoded mainnet height 145,000 from GetAlgo(); use version bit parsing
|
src/qt/digidollarsendwidget.cpp
| Mask Values privacy support for send amount / available balance widgets |
src/qt/digidollarwidget.cpp
| Mask Values privacy for DD Balance, DGB Locked, Active Positions, DD Pending widgets |
src/qt/digidollarpositionmodel.cpp
| Mask Values privacy for position list |
src/qt/transactionrecord.cpp
| Show collateral return and fee change separately in REDEEM display |
src/wallet/spend.cpp
| Allow spending trusted unconfirmed DD UTXOs for consecutive sends |
src/test/digidollar_mask_values_tests.cpp
| TDD tests for Mask Values across 7 DD widgets |
What is DigiDollar?
DigiDollar is a USD-pegged stablecoin built natively into DigiByte. It uses an over-collateralized model where users lock DGB to mint DUSD at the current oracle price of DGB.
The world's first truly decentralized stablecoin native on a UTXO blockchain, enabling stable value transactions without centralized control.
DGB becomes the strategic reserve asset (21B max, only ~1.94 DGB per person on Earth). Everything happens inside DigiByte Core wallet. You never give up control of your private keys. No centralized company, fund or pool. Pure decentralization.
Learn more: https://digibyte.io/digidollar
Wallet GUI Guide
How to Use DigiDollar in the Wallet
- Open the DigiDollar Tab — Click "DigiDollar" in the top navigation bar (will show activation status until BIP9 activates)
- Mint DigiDollars — Lock DGB as collateral to create DUSD. Enter the amount and confirm.
- Send DigiDollars — Use the DigiDollar tab's send function or "Send DGB" with a DD address
- Receive DigiDollars — Click "Receive DGB" to get your DD-capable address
- View History — DD Transactions tab shows complete transaction history (auto-refreshes)
- Redeem DigiDollars — Burn DUSD to unlock your DGB collateral after the lock period expires
- Coin Control — Use manual DD input selection for advanced redemptions
- Address Book — Save frequently used DD addresses for quick sending
- Export History — Export DD transactions to CSV for record keeping
- Mask Values — Enable "Mask Values" to hide all balances and amounts across DGB and DigiDollar tabs for privacy
Oracle Operator Setup
Prerequisites
- DigiByte Core RC18 built from source with curl support (or download the binary)
- An assigned oracle ID (0–7 for testnet, contact the maintainer)
New Oracle Setup (First Time)
# Step 1: Start your node
digibyted -testnet -daemon
# Step 2: Create a wallet
digibyte-cli -testnet createwallet "oracle"
# Step 3: Generate your oracle key (one-time)
digibyte-cli -testnet -rpcwallet=oracle createoraclekey <your_oracle_id>
# Step 4: Start the oracle
digibyte-cli -testnet -rpcwallet=oracle startoracle <your_oracle_id>Existing Oracle — Upgrading from RC17 or Earlier
Your oracle keys are safe. See the Testnet Reset section at the top for migration steps. The key point: copy your oracle wallet from the old testnet17 directory (or testnet13 if upgrading from older RCs) to the new testnet18 directory.
After migration:
# Step 1: Start your node with RC18
digibyted -testnet -daemon
# Step 2: Load your existing wallet
digibyte-cli -testnet loadwallet "oracle"
# Step 3: Start the oracle
digibyte-cli -testnet -rpcwallet=oracle startoracle <your_oracle_id>⚠️ After every node restart, you must re-load your wallet and re-start the oracle. Your key persists in the wallet — you never need to run
createoraclekeyagain.
Qt Wallet Users
- Start DigiByte Qt with
-testnet - Go to File → Open Wallet → oracle to load your wallet
- Go to Help → Debug Window → Console
- Type:
startoracle <your_oracle_id>
Current Oracle Operators (Testnet)
| ID | Operator | Status |
|---|---|---|
| 0 | Jared | ✅ Active |
| 1 | Green Candle | ✅ Active |
| 2 | Bastian | ✅ Active |
| 3 | DanGB | ✅ Active |
| 4 | Shenger | ✅ Active |
| 5 | Ycagel | ✅ Active |
| 6 | Aussie Epic | ✅ Active |
| 7 | LookIntoMyEyes | ✅ Active |
For the complete guide, see DIGIDOLLAR_ORACLE_SETUP.md.
Complete RPC Command Reference
DigiDollar Commands (Wallet)
| Command | Description |
|---|---|
mintdigidollar
| Mint DigiDollars by locking DGB as collateral |
senddigidollar
| Send DigiDollars to another address |
redeemdigidollar
| Redeem DigiDollars to unlock DGB collateral |
getdigidollarbalance
| Show your DigiDollar balance |
listdigidollarpositions
| List your active collateral positions |
listdigidollartxs
| List your DigiDollar transaction history |
getdigidollaraddress
| Get or create a DigiDollar receive address |
validateddaddress
| Validate a DigiDollar address |
listdigidollaraddresses
| List all DigiDollar addresses in your wallet |
importdigidollaraddress
| Import a DigiDollar address for watch-only |
getdigidollarstats
| Get network-wide DigiDollar statistics |
getdigidollardeploymentinfo
| Get DigiDollar activation/deployment status |
calculatecollateralrequirement
| Calculate DGB collateral needed for a DD mint |
estimatecollateral
| Estimate collateral requirement by tier |
getdcamultiplier
| Get the current DCA multiplier for collateral |
getredemptioninfo
| Get info about redeeming a specific position |
getprotectionstatus
| Check if liquidation protection is active |
Oracle Commands
| Command | Description |
|---|---|
createoraclekey <id>
| Generate a new oracle Schnorr keypair (one-time) |
getoraclepubkey <id>
| Show the oracle public key stored in your wallet |
startoracle <id>
| Start running as an oracle operator |
stoporacle <id>
| Stop your oracle |
getoracleprice
| Get the consensus price |
getalloracleprices
| Per-oracle breakdown |
getoracles
| Network-wide oracle status |
listoracle
| Show your local oracle status |
sendoracleprice
| Manually submit a price (testing) |
Upgrade Notes
⚠️ This is a Testnet Reset
RC18 uses a new chain: testnet18 (port 12032). Your old testnet data is incompatible.
Steps to upgrade:
- Save your oracle wallet (if you run an oracle — see Oracle migration section above)
- Close your old wallet
- Delete old testnet data:
- Linux: Delete
~/.digibyte/testnet17/(and any older testnet directories) - Windows: Delete
%APPDATA%\DigiByte\testnet17\ - macOS: Delete
~/Library/Application Support/DigiByte/testnet17/
- Linux: Delete
- Download and install RC18
- Update your
digibyte.conf— theaddnodeaddresses remain the same:testnet=1 [test] digidollar=1 addnode=oracle1.digibyte.io
- Launch with
-testnet— a newtestnet18directory will be created automatically - Restore your oracle wallet if applicable (see migration steps above)
Configuration
Minimum digibyte.conf for DigiDollar Testing:
testnet=1
[test]
digidollar=1
addnode=oracle1.digibyte.ioOptional Settings:
[test]
txindex=1
digidollarstatsindex=1
algo=sha256dKnown Issues
- BIP9 activation requires sufficient mining hashrate to progress through signaling windows
startoraclemust be re-run after every node restart- DigiDollar features are disabled until BIP9 activation completes (~block 600 with continuous mining)
Network Information
| Setting | Value |
|---|---|
| Network | Testnet (testnet18) |
| Default P2P Port | 12032 |
| Default RPC Port | 14025 |
| Oracle Node | oracle1.digibyte.io |
| Address Prefix | dgbt1... (bech32) |
| Multi-Algo Activation | Block 100 |
| BIP9 Signaling Start | Block 200 |
| BIP9 Threshold | 70% (140 of 200 blocks) |
| DD Activation (earliest) | Block 600 |
| Oracle Consensus | 5-of-8 Schnorr threshold |
| Exchange Sources | 6 (Binance, CoinGecko, KuCoin, Gate.io, HTX, Crypto.com) |
Quick Start
New to DigiDollar?
- Download the binary for your platform (see Downloads above)
- Create your config file (see Configuration section)
- Launch with
-testnetflag:./digibyte-qt -testnet - Wait for the blockchain to sync
- Monitor BIP9 activation:
digibyte-cli -testnet getdigidollardeploymentinfo - Once activated, the DigiDollar tab becomes fully functional
- You need DGB to mint — ask in Gitter and someone can send you testnet DGB
Want to Run an Oracle?
See the Oracle Operator Setup section above, or read DIGIDOLLAR_ORACLE_SETUP.md for the complete guide.
Troubleshooting
"DigiDollar tab says Not Activated"
- This is expected! RC18 uses real BIP9 activation. DigiDollar features unlock after miners signal support and the activation threshold is reached.
- Monitor progress:
digibyte-cli -testnet getdigidollardeploymentinfo
"Can't connect to network"
- RC18 uses port 12032 (not 12031 or 12030). Check your firewall.
- Make sure
addnode=oracle1.digibyte.iois under[test]in your config
"Old testnet data"
- Delete ALL old testnet directories (testnet10, testnet11, testnet12, testnet13, testnet17) — RC18 uses testnet18
"No wallet is loaded" when running oracle commands
- Load your wallet first:
digibyte-cli -testnet loadwallet "oracle" - For Qt: File → Open Wallet → oracle
"Mining not working"
- Blocks 0-99 are scrypt-only. After block 100, multi-algo activates.
- Set
algo=sha256din config for fastest CPU mining after block 100
"Oracle price shows 0 or N/A"
- Oracle prices require BIP9 activation first
- Wait for activation and sufficient oracle operators to come online
Feedback & Community
Please report issues and feedback to help us prepare for mainnet launch.
When reporting bugs, start your message with BUG: and include: what happened, steps to reproduce, platform (Windows/Linux/Mac), and any error messages from your debug.log file.
- Developer Chat (Gitter): https://app.gitter.im/#/room/#digidollar:gitter.im
- GitHub Issues: https://github.com/DigiByte-Core/digibyte/issues