Tonight I got my new Raspberry Pi running NKN in 4 minute 17 seconds, by copy pasting one line of script. The new “Fast Deploy” by nknx.org works and works great! This is my short write-up:
Preparation: Get the hardware goodies
Lazy person like me will just get a CanaKit: https://www.canakit.com
which includes Raspberry Pi 3 B v1.2 (Quad Core 1.2GHz 64bit CPU, 1GB RAM, 802.11b/g/n WiFi), 32GB microSD, case, power supply, etc.
You can find out the full spec of Raspberry Pi 3 here:
https://www.raspberrypi.org/products/raspberry-pi-3-model-b/
Step 1: Headless WiFi ssh installation
Just follow this simple tutorial:
Step 2: Make sure your Raspberry Pi has public IP address and can be reached.
This might involve configuring your WiFi router to enable port forwarding (TCP/UDP, 30001-30003).
Step 3: Nknx fast deploy (ARM) with beneficiary address
Here I’m using a new feature called “Fast Deploy” of the upcoming nknx.org node manager. It basically downloads a script and then run it. (Editor’s note: The script is very advanced, feature packed, and foolproof. This is the nknx.org team’s secret sauce, and they spent a lot of midnight oil perfecting this script. It makes complicated things simple for users.) It installs go language and other necessary environment, download and compile NKN software. Eventually it will report the IP address to nknx backend server so it will show up in your node manager dashboard.
Stopwatch timed: 4m17s
When all is said and done, the success screen should show something like this:
=============================================================
NKN ADDRESS OF THIS NODE: NKN_LOCAL_WALLET_ADDR
PASSWORD FOR THIS WALLET IS: LOCAL_WALLET_PASSWORD
=============================================================
ALL MINED NKN WILL GO TO: NKN_BENEFICIARY_ADDR
=============================================================
Step 4: watch it sync
After about 5 minutes, my new node’s IP address automatically shows up on NKNx.org node manager. It shows the state as “start syncing”
Since nknx.org has 5 minutes interval in querying data, you might want to use command line to check real-time state of your node by using nknc like below. Since I’m not that patient, I used a lot of nknc to see how is my node syncing up the blockchain.
./nknc --ip YOUR_IP_ADDRESS info -s
{
"id": "1",
"jsonrpc": "2.0",
"result": {
"addr": "tcp://x.x.x.x:30001",
"currTimeStamp": 1563944931,
"height": 3024,
"id": "NNNNNNNNNNNNNN",
"jsonRpcPort": 30003,
"proposalSubmitted": 0,
"protocolVersion": 30,
"publicKey": "KKKKKKKKKKK",
"relayMessageCount": 1,
"syncState": "SYNC_STARTED",
"uptime": 275,
"version": "v1.0.4-beta",
"websocketPort": 30002
}
}
During initial blockchain sync, nknd uses about 0.5-1.5 cores CPU (out of 4) and 12.5% RAM. In contrast, during normal operation nknd uses on average 20% of 1 core CPU (out of 4 core) and 13% of RAM.
It takes about 30-40 minutes to sync up to the latest block. This is an area to improve, e.g. download the latest snapshot https://nkn.org/ChainDB_latest.zip.
Step 5: I’m mining, yay!
How can I try it out?
nknx.org is going to open public beta on August 6th, 2019. You can find more here: