Raspnode was launched as a project and this page contains information for running and working with the raspnodes made as rewards for that project.

CONTENTS

QUICK START GUIDE

Plug in the USB drive to your raspnode (this stores the blockchain, not for Litecoin as the blockchain will fit on its 16GB microSD card). Plug in an Ethernet cable to the raspnode and your router (or see below if you are using a WiFi adapter). Plug in a USB keyboard and HDMI monitor if you need/want to interact with your raspnode (although SSH is enabled by default for those who would rather login over their network). If you selected the option to run a full node (and not the GUI option) then you can plug in the power adapter and this will start your raspnode. It will boot up and Bitcoin/Litecoin will start running automatically.

If you are using WiFi instead of directly cabling you'll need to setup your network information to connect. Once your raspnode has powered on and you see the login prompt login with 'pi' and the supplied password. Run the command:

pi@raspnode~$ sudo raspWifi

and follow the steps to setup your connection. Alternatively you can setup wifi information in the desktop environment by running the 'WiFi Config'.

If you are wanting to run Qt (graphical user interface) for your node or you wish to setup wifi information in the desktop, run:

pi@raspnode~$ startx

to launch the desktop. To launch Qt, select the terminal icon (to the right of the menu button) and run:

pi@raspnode~$ raspQt

NOTE: The first time you run your raspnode it will generate a new wallet for you (whether you will use it or not) and it will have to re-index the blockchain. This will take a while and if you are using the web interface (see below) it may take a while to update, be patient. Shutting down bitcoin/litecoin on the Raspberry Pi can also take a long time, this is normal.

RASPNODE BASICS

To change the password for user 'pi', run:

pi@raspnode~$ passwd

You will be prompted to enter your current password and then enter a new password (entered twice). To change the password for the 'root' user, run:

pi@raspnode~$ sudo passwd

You'll just be prompted to enter a new password (twice).

To logout of the command line, run:

pi@raspnode~$ exit

To shutdown your raspnode, use:

pi@raspnode~$ raspShutdown

To turn your raspnode back on, unplug the power supply from the raspnode and replug it in.

Your raspnode has a web interface that can be found on your local network. Get the local IP address of your raspnode by running:

pi@raspnode~$ raspInfo

This grabs current data so can take some time to fully respond (especially if you are syncing the blockchain). Then on any browser in your home network go to that local address (it probably looks something like 192.168.1.87). The web interface is informational only at this time (for security and time to develop reasons).

Raspnode will try to open up a port on your router for incoming connections using UPnP, but many routers disable UPnP so you may have to open up port 8333 (9333 for Litecoin) and direct it to your raspnode's local address. How you do this varies by the make and model of your router.

If you wish to start/stop/restart your raspnode or make various changes, use the specified commands listed below.

RASPNODE COMMANDS

raspStart

raspStart will start whatever crypto node is set to run on your raspnode (Bitcoin Core, Bitcoin XT, or Litecoin) in "server/daemon" mode (not with the Qt graphical user interface). It sets a "keep alive" file so that if the crypto node crashes for any reason, it will restart on its own within an hour. With this set, it will also start upon boot.

raspStop

raspStop will stop the currently running crypto node (Bitcoin Core, Bitcoin XT, or Litecoin). It will also remove the "keep alive" file so that your crypto node will not start on its own. This also means that your crypto node will not start upon boot. Bitcoin can take some time to properly stop on the Raspberry Pi, especially if it is still syncing the blockchain, so be patient. Do not try to force a stop or unplug your Raspnode while your crypto node is stopping.

raspRestart

raspRestart will properly stop the currently running crypto node (Bitcoin Core, Bitcoin XT, or Litecoin) and then reboot your Raspberry Pi. You should use this command to reboot even if you aren't running a crypto node at the time.

raspShutdown

raspShutdown will properly stop the currently running crypto node (Bitcoin Core, Bitcoin XT, or Litecoin) and then shutdown and power off your Raspberry Pi. You should use this command to shutdown even if you aren't running a crypto node at the time.

sudo raspWifi

sudo raspWifi (this should always be run with 'sudo') will check to see if you have a wireless adapter, and if so will scan for available networks and then walk you through setting up your wireless connection. TECHNICAL NOTE: this script will overwrite any existing wpa_supplicant.conf file so if you have multiple networks saved that data will be overwritten. raspWifi only keeps one network in wpa_supplicant.conf at a time.

raspInfo

raspInfo will gather and display current data about your raspnode such as local network address, public IP, what crypto node is running, blocks, data used and available, connections, and so on. This collects data when called so while it is the most relevant data bitcoin can take time to respond (especially when syncing) so it may take a while to fully report back.

raspWebOn

raspWebOn will start the local web server and allow you to access the local web interface. This also sets a "keep alive" so that the web server will start on reboot/boot.

raspWebOff

raspWebOff will stop the local web server so you can't access the local web interface. This will also remove the "keep alive" so that the web server will not start up on reboot/boot.

raspQt

raspQt will stop any currently running crypto nodes in "server/daemon" mode and launch the Qt graphical user interface (GUI) and wallet for that node (Bitcoin Core, Bitcoin XT, or Litecoin). For this to work it has to be launched in a terminal window open in the desktop environment. To get to the desktop, run 'startx' at the command line. To shutdown your Qt node, just close out the window and wait for the node to stop (no need to use 'raspStop' with Qt).

raspUpdate

raspUpdate will check the raspnode.com website for any updates to the software (either updates to the Bitcoin Core/XT or Litecoin as well as updates to the raspnode software additions such as scripts and the web interface). If there are updates it will show you a description of the updates and ask if you wish to update or not.

raspSwitchToXT

raspSwitchToXT will stop Bitcoin Core if running and switch your raspnode over to running Bitcoin XT. If a node was previously running, it will automatically start up XT (keeping the "keep alive" file) and if a node wasn't running, then it will switch to XT but not start it. You will need to run 'raspStart' to get XT running. This works because currently Core and XT can use the exact same data structures for the blockchain (so if you switch back and forth, you aren't doubling the storage you need on your raspnode). If that ever changes switching like this will break. This is just for nodes running Bitcoin, not Litecoin.

raspSwitchToCore

raspSwitchToCore will stop Bitcoin XT if running and switch your raspnode over to running Bitcoin Core. If a node was previously running, it will automatically start up Core (keeping the "keep alive" file) and if a node wasn't running, then it will switch to Core but not start it. You will need to run 'raspStart' to get Core running. This works because currently Core and XT can use the exact same data structures for the blockchain (so if you switch back and forth, you aren't doubling the storage you need on your raspnode). If that ever changes switching like this will break. This is just for nodes running Bitcoin, not Litecoin.

KICKSTARTER PATRONS

I'd like to thank all of the kickstarter backers that helped to make Raspnode a reality. These following backers get a special shoutout for their extra patronage:

Chuck LeDuc Díaz (@celeduc)

Koen Vingerhoets (IThron)

The Dwayna

Alistair Milne (@alistairmilne)