KDX (it's the acronym for Kaspa Desktop eXperience) is a 3-in-1 GUI utility that combines all three Kaspa's main components (a node, a wallet and a miner) into a single GUI-based facility. As of version 2.10.5 (on June 05 2022) its internal components are the following:
Download it, install and start.
KDX is a “full wallet” in Bitcoin terminology, and as such it contains the full Kaspa node, and inquires addresses balances from that node. To know the true current balance of any address, the node must first by synced with the rest of the network. So please note that neither a wallet nor a miner will be functional until the KDX node is fully synced. Specifically you won't see your correct balance until the DAG is 100% synced.
To see the syncing process progress watch the "DAG sync" indicator on the main tab, it should become 100%. The “Wallet online” line in the “Wallet” tab could be misleading in that regard: it's online only in the sense that there's a running node inside of it, but it does not tell if the node is synchronized. Also make sure the value of "Blue score" indicator on the main tab is not less than 42,000,000 (for 2023 March 28th, and even more for future dates), and the "DAA score" indicator value on the Wallet tab is not less than 43,555,000 (as for 2023 Mar 28th, and even more for future dates). These values growth pace is about 1 per second, according to Kaspa's current blockrate, so each day they get higher for about 86400.
For a detailed view of the syncing stages enable the "Advanced settings" checkbox in the Settings tab of KDX. You'll see the new tab called KASPADkd0. There will be displayed the log of the KDX's embedded Kaspa node. See this article to know what is what there, what stages the syncing process consists of and how long do they take.
It also takes KDX some time for the balance to be scanned and gathered. All this time the wallet will remain in the "Offline" state. If the balance does not appear correctly after the wallet reaches "Online" state, restarting the KDX could help, and then, it it's still not correct, try using the "Scan more addresses" button in the "Wallet" tab's "Debug" sub-tab, and let the KDX process that click for like 10 minutes. Maybe restart KDX again after it.
There are several configuration templates in KDX you can choose among; it starts by default in a "Kaspad node" mode on the mainnet (i.e. not a testnet, devnet or something) where it doesn't mine, but you still can use the wallet to send and receive coins. In that mode the PC with a running KDX could be used as a node provider for your mining rigs.
If you want the KDX to mine, change its working mode in the settings to a "GPU miner" and activate the "Enable Mining" checkbox there in the settings (notice it's a solo mining in which it could be very hard to find a block with your single GPU these days, when the network hashrate is extremely high. Probably you should stick to pool mining instead, see the “Mining” section of this wiki).
Just one thing: to be able to mine on AMD GPUs, you need to click the Settings
tab and change there in the Service configuration
editbox the cuda-workload
line with the opencl-workload
one, leaving the nearby numerical value intact (see screenshot on the right).
There's a CPU miner in KDX as well, but there's no real sense using it because
There are multiple reports that during upgrade kaspad v.0.12.6 locks up and experiences some sort of database problem. At that KDX freezes when trying to use "Delete Data Folder" button as it is trying to stop kaspad, which is hanging. The solution is to exit KDX completely and delete the data folder manually. Data folder is located in users home folder in its .kdx/data
subdirectory (i.e. %userprofile%/.kdx/data
in the case of Windows). Folders starting with dot are hidden on Unix systems. In OSX Finder there is a shortcut to show them (Command+Shift+.) (last key Dot/Period).
When you download the Mac version of the KDX you'll see the message: "KDX cannot be opened because the developer cannot be verified" (see screenshot "KDX Mac version warning"). This is because the application is unsigned. It doesn't mean though it's somehow insecure, it's just that the whole signing procedure takes time and money and bureaucracy efforts, so not performed.
Thus to install KDX to Mac platform you have to go to security settings of your Mac and allow it. A quick google search will explain how to do this.
Windows has the same prompt but when it asks it offers app to run, whereas mac just blocks unsigned apps and requires users to go through the security settings to allow it.
This is a step by step guide to install KDX on Linux. You'll need root access using "sudo". Follow the steps copying the commands into your shell. You can paste it in the shell using CTRL+SHIFT+V.
1. Open a shell using CTRL + ALT + T key combination
2. Download package information from all configured sources
sudo apt update
3. Install required packages: curl, gcc, make, git and golang
sudo apt install -y curl gcc make git golang
4. Install RUST
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Type 1 and press ENTER when asked
5. Close shell
exit
6. Open a new shell using CTRL + ALT + T key combination
7. Install NodeJS
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - && sudo apt-get install -y nodejs
8. Close shell
exit
9. Open a new shell using CTRL + ALT + T key combination
10. Install nwjs
Check the latest nwjs version at https://dl.nwjs.io/ and update the first line accordingly:
nwjsVersion=v0.75.0
mkdir ~/bin
cd ~/bin
wget https://dl.nwjs.io/${nwjsVersion}/nwjs-sdk-${nwjsVersion}-linux-x64.tar.gz
tar xvf nwjs-sdk-${nwjsVersion}-linux-x64.tar.gz
ln -s nwjs-sdk-${nwjsVersion}-linux-x64 nwjs
echo 'export PATH=/home/${USER}/bin/nwjs:$PATH' >> ~/.bashrc
11. Close shell
exit
12. Open a new shell using CTRL + ALT + T key combination
13. Install emanator globally
git clone https://github.com/aspectron/emanator
cd emanator
npm install
sudo npm link
14. Move to Home folder
cd ~
15. Clone Aspectron's KDX github repository
git clone https://github.com/aspectron/kdx.git
16. Install KDX
cd kdx
npm install
17. Install kaspad binaries
emanate --local-binaries
18. Run KDX
nw .
To create a shortcut on your Desktop to run KDX, open a shell and type:
cd ~/kdx && echo -e '#! /bin/sh\n~/bin/nwjs/nw ~/kdx/.' >> kdx.sh && chmod +x kdx.sh
echo -e "[Desktop Entry]\nName=KDX\nExec=$HOME/kdx/kdx.sh\nIcon=$HOME/kdx/resources/images/kdx-icon.png\nTerminal=false\nType=Application" >> ~/Desktop/kdx.desktop
Double click on the new KDX Desktop Icon and select “Mark as Trusted” in the pop up window.
Double click on the icon again and it should run KDX normally.
Sometimes KDX version releases are delayed compared to when the newer version of the Kaspa core files set is released, and sometimes this core release is better be installed ASAP because it addresses, say, certain stability issues of the Kaspa network. In that case the manual replacement of the core files set in the KDX installation is the fastest way to switch to the newest core version.
To replace the files set do the following:
%programfiles%\Kaspa\KDX\bin\windows-x64
;In case of any trouble stop KDX again, remove all files from the node DB folder %userprofile%/.kdx/data
, start KDX again and let it resync from scratch.
You can't use a core CLI wallet from the Kaspa core files set to operate KDX/web wallet coins. These 2 types of wallets are incompatible and even have a different seed phrase format: 12 words for KDX/web and 24 words for core CLI. The only way to use coins from one of the wallets on another one is to create the other one and transfer coins there (see Setting up a CLI wallet article to know how to create the core CLI wallet).
There are several configuration templates available at the Settings tab of the KDX GUI. Their meaning are the following:
threads
parameter in the "gpuminer:km0"-"args"
section of the json configuration file in the editbox located above the configuration templates dropbox;To restore the wallet from the 12-words seed phrase, do the following:
Currently (2022 Sep 04) KDX does not support that functionality. The closest you can have is switching wallets by restoring them from their seed phrases, one at a time, see the previous chapter to know how.
KDX Wallet key file location and name: %appdata%\Kaspa\kaspa.kpk
. A hint: if you delete the keyfile, then KDX will ask for a new wallet.
See the KDX and web wallets FAQ section to know some more info about the internals of their functionality.
Newest KDX releases can be anytime found here: https://kdx.app/
KDX sources are available here: https://github.com/aspectron/kdx
The web wallet shares the codebase of KDX in many aspects, so generally most of what you know and what could be said about KDX could as well be said about the web wallet. Its sources are available here: https://github.com/aspectron/kaspa-wallet-pwa
For those who are more comfortable with CLI toolchain there's a KDX/web compatible CLI Wallet, and its source could be seen at https://github.com/aspectron/kaspa-wallet-cli
Command line example: node kaspa-wallet.js --rpc 10.0.0.8:16110 info
Run command example: `node pwa.js --host 10.0.0.6 --grpc 10.0.0.8`
In case you have an issue with KDX wallet — say it is does not show "Receive Address", or transactions window is empty that can happen after recovery from the seed phrase — the solution is to stop the application, remove all files from the %localappdata%\kdx\User Data
folder and start KDX again.