Things needed
VPS (could be supplemented with vmh locally or even a raspberry pi)
Building VPS
Deploy New Server in Vultr
Select Cloud Compute
Select location nearest you for best ping
Select Ubuntu 20.04
Select Server size 2 vCPUs 4GB Memory and 100GB (Current DAG is 58GB)
Disable Backups
Open PuttyGen and generate SSH key by moving mouse around screen
Save pub and priv key
Export key for other ssh applications
Copy public key and paste into vultr
Add hostname
Create Firewall
Name Firewall
Lock ssh down to your public ip
Add following rules
Copy IP From product dashboard
Paste IP name saved session and click save and open (should work if you generated key on same pc)
Add ssh key to putty under SSH auth
Login with username root and password in the vps dashboard (Right click into putty console to paste password and press enter)
Install Kaspa Node
Enter the following commands 1 at a time to install GO
curl -OL https://golang.org/dl/go1.19.linux-amd64.tar.gz
sha256sum go1.19.linux-amd64.tar.gz
Output should after last command should look like
Output
go1.19.linux-amd64.tar.gz
464b6b66591f6cf055bc5df90a9750bf5fbc9d038722bb84a9d56a2bea974be6 go1.19.linux-amd64.tar.gz
sudo tar -C /usr/local -xvf go1.19.linux-amd64.tar.gz
sudo nano ~/.profile
Add following to end of the file and use ctl+x to save
export PATH=$PATH:/usr/local/go/bin
Refresh your profile
source ~/.profile
Check version of go
go version
Output should be as follows
go version go1.19 linux/amd64
Run the following commands to obtain and install kaspad including all dependencies:
git clone https://github.com/kaspanet/kaspad
cd kaspad
go install . ./cmd/...
Start screen with name node
screen -S node
cd into /go/bin
cd ~/go/bin
For mining run kaspad with utxo
./kaspad --utxoindex
press ctrl+a+d to exit screen
check block sync status
./kaspactl GetBlockDagInfo
*virtualDaaScore should match that of the Public Blockchain
Configure Wallet
Start a new screen names daemon
screen -S daemon
From ~/go/bin run following
./kaspawallet create
Enter password for the key file
Record Public Key
Type the following to start daemon
./kaspawallet start-daemon
Press ctrl+a+d to leave screen
From ~/go/bin type
./kaspawallet new-address
This is your public wallet address you can give out to receive kaspa
Type the following to obtain your seed phrase
./kaspawallet dump-unencrypted-data
Type y and enter to reveal your seed phrase
STORE IN SAFE LOCATION AND DO NOT GIVE TO ANYONE
Configure Firewall Ubuntu
Ports 16111 and 16110 need to be opened. Check with following
sudo ufw status
To Open the Ports Type the Following
sudo ufw allow 16111
sudo ufw allow 16110
Verify ports are open with above status command
Start Mining
This section requires a bit of nuance. Currently the official miner and BZminer support mining directly to the node. To configure a stratum you can skip this part. Miners that require a stratum include LOLminer and SRBMiner. From my perspective the stratums are still very early and cause some instability/high latency. They do work but I have had periods of non payment in the past, meaning not functioning. For reliability I personally use the following method with BZminer.
Hive OS
In HiveOS Create a new wallet as seen below. Wallet address comes from the wallet address creation step above.
Create a New Flight Sheet as Follows
Click Setup Miner Config and Enter info
Congratulations you are solo mining KASPA
KASPA Stratum
Ok fine you don’t want to listen to me and you want to play hardbawls. Fine Vitalickmahbawls here is how you can use your little LOLMiner or SRBMiner etc. There are currently two flavors of stratums kaspad stratum and kstratum. You can also do an alternate configuration where you run the stratum on your hive miner. In my experience however kstratum is extremely slow with pings up to 800ms on a local network. Kstratum is the one used in the lolminer example for in hive so today we will cover kaspad stratum.
Kaspad Stratum can be found here
First we need to install Rust with the following commands
sudo apt update
sudo apt upgrade
curl https://sh.rustup.rs -sSf | sh
It will ask you if you want to proceed press 1 and enter
Configure shell to use the cargo command
source "$HOME/.cargo/env"
Verify Rust installation
rustc --version
Next clone the kaspad stratum and build
git clone https://github.com/fungibilly/kaspad-stratum.git
cd kaspad-stratum
cargo build --release
Start a third Screen and name stratum
screen -S stratum
Change Directory to target/release
cd ~/kaspad-stratum/target/release
Start Stratum
./kaspad-stratum -m <YOUR_NODE_WALLET> -r localhost:16110 -s 0.0.0.0:6969
You can see we have opened a port for the stratum that must be added into the firewall to allow. Press ctrl+a+d to leave screen running stratum and enter the following.
sudo ufw allow 6969 sudo ufw status
You can now set up a flight sheet in lolminer with a custom miner config as follows.
Consider supporting my work by becoming a paid subscriber.
If you are following along on your own local copy of Ubuntu, you might need to install the following:
sudo apt install git curl gcc screen cmake
I also found adding /root/go/bin to my PATH variable helps.
export PATH=$PATH:/usr/local/go/bin:/root/go/bin
hey guys, anyone can help me? how can i send the coins mined to my created node wallet to an exchange?