Thread Rating:
  • 8 Vote(s) - 4.75 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Raspberry Pi Sky Miner Setup for noobs - TESTNET READY
(02-24-2018, 12:47 PM)adhaelon Wrote: Here's how to set up Skywire on a cluster of Raspberry Pi 3's.

  • 8 x Raspberry Pi 3 Model B
  • 1 x 16 port Gigabit Switch (Tp-Link TL-SG1016D). You only need 8 LAN + 1 WAN, but they're so cheap I just went for 16.
  • 1 x 10 port USB Power Supply. There's a difference between a 'usb hub' and 'power supply'. EDIT: While the Raspberry Pi documentation recommends a power supply of 2.5A, there will be no peripherals connected and as such we only need around 1.3A. The Anker unit supplies 12A total, or 1.5A per Rpi. The alternative is to setup a dedicated PSU (Power Supply Unit) similar to the official SkyMiner.
  • 8 x 1ft Micro USB cables
  • 16 x Aluminium Heatsinks (1 small, 1 large per Rpi)
  • 8 x 1ft Cat6 Ethernet cables
  • 8 x MicroSDHC card A1 98mbps, 16GB. If budget permits, get faster and larger capacity.
  • 2 x Raspberry Pi mounting racks. I found a 10 pi rack in Australia but can only find a 4 rack on Amazon.
This will work using any router with a spare LAN port. I’m using an existing Belkin F9J1002v1, but will eventual upgrade to an OpenWRT compatible router. I'm also using Windows 10.

Everything you need (except the router) can be found here:

[Image: IMG_0061.jpg] [Image: IMG_0060.jpg]

Download and Install the following:

- SD Card Formatter -
- Win32 Disk Imager -
- Putty -

Install Operating System

You have two options in this guide:

1. Install the pre-configured Raspian-skywire image:
                  - 879MB - Test Net Ready
       - Go, Git and Skywire pre-installed. 
       - Skywire auto start scripts (attached below for reference)
       - Easy setup for any number of nodes (8, 16, 44, 128...). 

2. Install a fresh image of Raspbian Stretch Lite:
       - Need to install all software manually
       - No autostart scripts

Option 1 (recommended for complete noobs)

- Insert the micro SD card into PC and format using the SD Card Formatter.
- Open Win32 Disk Imager and select the rasbpian_skywire.img file, the SD card, then click 'Write'. Once the flash and validation is complete, you may see windows popping up saying that you need to format your micro SD card. Just click cancel to all.
- Safely eject the micro SD card from your pc.
- Repeat steps for all of the micro SD cards.

1. Hardware Configuration

- Connect the switch to a LAN port on your router.
- Assemble the Rpi rack and hook up the ethernet cables connected to the switch.
- Insert SD cards into each Rpi.
- Plug in USB power cables and switch on the USB power hub.

2. Remote Access via SSH
- In a web browser, type in your router's I.P address (google your router’s model number to find it, or use the command prompt ‘ipconfig’ and look for the default gateway). Find the DHCP client list which should look something like this:

[Image: Router_Manager_DHCP_Client_list.png]

- This list will show you all the devices connected to your network. You should see all of your nodes listed as 'raspberrypi' and an IP address assigned to each. Put these in a spreadsheet for easy reference later.

- Open Putty, type in the IP address of your node under Host Name and click Open. Click yes on the pop-up security alert. 
- A terminal will open asking for your node's login details. The default login details are:
    o   username: pi
    o   password: raspberry

[Image: Rpi_login_screen.png]

3. Configure Network Settings
For each of your Rpi's run through the following steps. I find it easier to have a Putty session open for each node at the same time and run through the steps concurrently. You can copy the below commands and paste them onto the command line by right clicking anywhere in the open Putty session.

[Image: Rpi_sessions.png]
- Enter the following on the command line to download and install updates to the operating system:
sudo apt-get -y update
sudo apt-get -y upgrade

- Enter the following to begin configuring your Rpi
sudo raspi-config
- A screen will pop up with a list of options. Navigate through the menus using your keyboard. The only items we need to change are the user password and Hostname:
         1 Change User Password: You will be prompted to enter a new password twice. Please note the characters will not show on the screen.
         2 Network options à Hostname: A suggested naming convention is rpi01, rpi02…rpi08.

[Image: Capture.png]
- Finish & Reboot. Ignore the “Server unexpectedly closed network connection” error.
- Right click the Putty window title bar and click ‘Restart session’. Log in (username: pi) with your new password.

Setup Static IP Addresses

Setup static IP addresses for your nodes. All nodes will be automatically assigned IP's via DHCP, but it's beneficial to manually define static IP's to ensure consistency. 

If you have an OpenWRT router you can configure the Static IP through the router manager page. Otherwise:

- Enter the following at the command line to open a file editor:
sudo nano /etc/dhcpcd.conf

-Add the following at the end of the file, making sure to update the IP address to match your network.
interface eth0
static ip_address=192.168.1.XX/24   #Where 'XX' is a device address as per the table above. E.g
static routers=   #Change to your router's IP address obtained above
static domain_name_servers=  
- It should look like this:
[Image: Static_IP_address.png]

- Press crtl-X, then Y to save and press enter to return back to the command line. 

- Reboot for the changes to take effect:
sudo reboot

4. Configure Skyminer 
The remaining steps only need to be completed on your Manager Node. You can dedicate any node to be your Manager, but I typically use the first node (.101). All the other nodes (secondary nodes) will connect to the Manager and you'll be able to see them listed on one interface screen.

- Close all Putty sessions. Open a new putty session using the IP of the node you wish to use as the Manager (in my case it is
- We need to compile a list of the Static IP’s (created in the previous step) to allow the nodes to communicate with each other. Type the following command:
sudo nano ips.txt

- A file editor will open with a pre-populated list. List only your secondary node static IP addresses (not your Manager Node!) which you created earlier. Make sure there are no blank lines after the last item in your list. When done press Ctrl-X, and Y to exit.

[Image: secondary_ip_address_file.png]

- Type the following to open a file editor:
sudo nano

- Update the following line by replacing 'manager_node_ip' with your actual Manager’s IP address (e.g. or whatever you chose yours to be). Do not change anything else:
nohup ./node -connect-manager -manager-address manager_node_ip:5998 -manager-web manager_node_ip:8000 -discovery-address -address :5000 -web-port :6001 > /dev/null 2>&1 &  
Ctrl-X, and Y to exit.

-The next line of code will do a bunch of things to complete the setup process... configure SSH keys between all of your nodes, update your Manager’s new Static IP address (if you changed it), and turn on the ‘auto start on boot’ function for all nodes and reboot:
-For each node you will be prompted to confirm you wish to continue, type yes and enter your password.
- Wait 60 seconds for the nodes to boot and go to 'http://manager_node_ip:8000' (making sure to replace manager_node_ip with your Manager’s actual IP) in a web browser. 
- Change the password and you will see your all your nodes in the list.
- Close the Putty session.

Option 2 (Manual)

Follow the same steps as Option 1, until you get to 3. Configure skyminer. The only exception being that you should flash the clean version of Raspbian Stretch Lite and enable SSH using this guide:

Boot and Configure Node

- Remove previous version of Go and install version 1.10.2
sudo apt-get remove golang
sudo apt autoremove
sudo tar -C /usr/local -xzf go1.10.2.linux-armv6l.tar.gz

- Create new Go directories
mkdir go
mkdir go/bin
mkdir go/src

- Update environmental variables
sudo nano ~/.profile
-A file editor will open. Scroll to the bottom and enter the following:
export GOROOT=/usr/local/go
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export GOBIN=$HOME/go/bin
- Press crtl-X, then Y to save and press enter to return back to the command line. 

- Confirm Go installation and Install Git
source ~/.profile
go version
sudo apt-get -y install git

Install and Run Skywire

- Download and Install Skywire Software
mkdir -p $GOPATH/src/
cd $GOPATH/src/
git clone
cd $GOPATH/src/
go install ./...

For Manager Node

- Run Skywire
cd $GOPATH/bin
nohup ./skywire-manager -web-dir ${GOPATH}/src/ &
cd $GOPATH/bin
nohup ./skywire-node -connect-manager -manager-address :5998 -manager-web :8000 -discovery-address -address :5000 -web-port :6001 > /dev/null 2>&1 &

- Go to 'http://primary_node_ip:8000' in a web browse, where 'primary_node_ip' is your primary node's IP e.g.
- Login to Skywire. The default password is '1234'.
- If all went well, you should see your primary node listed.
- Start the setup of the next Rpi.

For Secondary Nodes

- Run Skywire on your secondary node by entering the two lines of code below. Make sure to substitute the 'manager_node_ip' with your actually Manager's IP address in this command:
cd $GOPATH/bin
nohup ./skywire-node -connect-manager -manager-address manager_node_ip:5998 -manager-web manager_node_ip:8000 -discovery-address -address :5000 -web-port :6001 > /dev/null 2>&1 &

- Go to 'http://manager_node_ip:8000' in a web browser and check to see if the secondary node is online.
- Start the setup of the next Rpi.

Good luck!
HELLO after doing all steps and insert my manager ip on browser it asks for a password which password should i input because i get incorrect password each time i enter my pi putty password
Can someone please extend the guide if you have followed this guide so far and now want to switch to Mainnet?
(04-15-2020, 12:00 PM)iroc Wrote: Can someone please extend the guide if you have followed this guide so far and now want to switch to Mainnet?


Would be very helpful for a update guide for DIY RPI 3 miners to Mainnet
QQ, based on this doc. It looks like it is easier to wipe my testnet and move to mainnet from scratch with skyimager then just update teh public keys in the whitelist. Is that true?
Found this at Skyfleet going to give it a shot:
I have written a detailed guide on how to get mainnet on raspberry PI:

Here is the skywug post:

I just updated it, it is very detailed. I would appreciate any feedback on the github issue tracker.
[-] The following 1 user says Thank You to ADepic for this post:
  • skyguy

Forum Jump:

Users browsing this thread: 1 Guest(s)