[DEPRECATED] Create your own Raspberry Pi's Peercoin wallet and Full Active Node

TL;DR: This guide is about building your personal Raspberry Pi’s Peercoin wallet with Peerbox (http://peerbox.me/). The main purpose is to have a secure Peercoin wallet that can be used as a 24/7 running Full Active Node, which contributes to the Peercoin’s network security (c.f. CoinDesk’s related article: http://www.coindesk.com/bitcoin-nodes-need/).
10 PPC are also rewarded to users running a Full Active Node with their Raspberry Pi!


This guide assumes that you already have some basic knowledges with either Linux or MacOS X (the only operating systems that will be taken into consideration in this guide).

Before we start, what you need is:

[ul][li]1x Functional Raspberry Pi that can be connected to Internet via its Ethernet interface[/li]
[li]1x SD card bigger than 2GB[/li]
[li]The latest Peerbox image available at this address: http://www.peerbox.me/[/li][/ul]


1. Locate your SD card

Open a Terminal and type in the following command (choose your corresponding operating system):

(Linux)

fdisk -l # You can also use the mount command

(MacOS X)

diskutil list

You should see a list of devices that are plugged to your computer as below (MacOS X):

[...] /dev/disk13 #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *7.9 GB disk13 1: DOS_FAT_32 MY_USB_DRIVE 7.9 GB disk13s1

What matters here is the /dev/deviceID string which corresponds to your plugged in SD card. In the example above with MacOS X it’s “/dev/disk13”. Do not pick any of the disk13s* for your device name, as they are for identifying the partitions of your device.

For Linux we will choose as an example “/dev/sdb” but you can also face /dev/sda for example. Note that for Linux you should not pick the numbered device names as they are for identifying each partition, i.e. /dev/sdb1, /dev/sdb2, etc. are the partitions of your “/dev/sdb” device.

An easy way to locate your SD card is to look for the SIZE field which should match your SD card’s size (in my case I have a 8 GB SD card). You can also plug and unplug your SD card to check which /dev/deviceID string appears/disappears.

2. Download and verify the Peerbox image

If you haven’t downloaded the LATEST peerbox image yet, you can download it from this address:
http://www.peerbox.me/ (Peerbox 0.24.1 has been downloaded for this guide)

Check that the image is valid. If it is not, STOP NOW and download it again:

shasum -a 256 peerbox-raspi-v0.24.1.img.gz 4165e4b6895c872c9bc7b988d70fb5bb242cb236e45c96ce5accfae9c7b7eff6 peerbox-raspi-v0.24.1.img.gz

If you have a different checksum than the one expected (c.f. Peerbox download page), STOP NOW!

Unzip the file:

gunzip -d peerbox-raspi-v0.24.1.img.gz

Check that the file is present in your current directory:

ls -l peerbox-raspi-v0.24.1.img -rw-r----- 1 thireus staff 2002780160 Nov 26 21:07 peerbox-raspi-v0.24.1.img

3. Copy the image on your SD card

Eject your SD card, which was in my case earlier identified as “/dev/disk13” for MacOS X and “/dev/sdb” for Linux:

(Linux)

sudo umount /dev/sdb?

(MacOS X)

sudo diskutil unmountDisk /dev/disk13

Copy this image file on your SD card with the command:

sudo dd bs=8m if=peerbox-raspi-v0.24.1.img of=/dev/disk13

This last operation will take a while to complete ~10-20min, just be very very patient until it finishes. If you interrupt this process you will have to start all over again.

Once the operation is completed, just eject the disk:

(Linux)

sudo eject /dev/sdb

(MacOS X)

sudo diskutil eject /dev/disk13

4. Ready to be used!

Insert the SD card in your Raspberry Pi’s SD card slot. Plug your home’s Ethernet network cable to your Raspberry Pi and power it on.

Once your Raspberry Pi started, you have two ways of accessing it: SSH or directly.

ssh sunny@YOUR_RASPBERRYPI_IP password: peerbox.me

If you can’t access it via SSH, try to hard reboot your Raspberry Pi. If you still can’t, you can always plug a keyboard and a monitor to your Raspberry Pi to access Peerbox directly.

Login: sunny Password: peerbox.me

[b]/!\ FOR YOUR SECURITY /![/b]
Once logged in change the sunny user’s password with the passwd command.

Check your peerbox info using the following command:

peerbox-info -a

Your Peerbox’s wallet is at this location (make sure to save it on an external encrypted storage using SCP or via this guide):

/var/lib/ppcoind/wallet.dat # /!\ BY DEFAULT THIS WALLET IS NOT ENCRYPTED WITH ANY PASSPHRASE /!\

You can also directly interact with ppcoind:

ppcoind getinfo

To retrieve the list of addresses for your Peerbox wallet use the following command:

ppcoind getaddressesbyaccount ""

To generate a fresh new Peercoin address (and add it to the list) use the following command:

ppcoind getaccountaddress  ""

Well done, you know have a fully functional Peerbox!
Enjoy!

5. Become a Full Active Node

If you want to contribute to the network, you need to be a Full Active Node (your home router’s port# 9901 open, that will allow your Peercoin client to have more than 8 connections with the network). A Peercoin client running in Full Active Mode is a client that contributes to securing the Peercoin network.

Learn more about how to become a Full Active Node via this other Guide:
[GUIDE] How to become a Peercoin Full Active Node at home in less than 10 minute - http://www.peercointalk.org/index.php?topic=3626


List of useful links:

[ul][li]Peerbox Website - http://www.peerbox.me/[/li]
[li]Peercoin Peerbox Forum - http://www.peercointalk.org/index.php?board=68.0[/li]
[li]Peercoin on Raspberry Pi - Get 10 PPC for Setting Up a Node! - http://www.peercointalk.org/index.php?topic=2800.0[/li]
[li][GUIDE] How to become a Peercoin Full Active Node at home in less than 10 minutes - http://www.reddit.com/r/peercoin/comments/2nh911/guide_how_to_become_a_peercoin_full_active_node/[/li]
[li]How to use google authenticator with Peerbox - https://github.com/peerchemist/Peerbox/wiki/How-to-use-google-authenticator-with-Peerbox[/li]
[li]Peerbox Reddit Page - http://www.reddit.com/r/Peerbox/[/li][/ul]


Original post: http://www.reddit.com/r/peercoin/comments/2o6nto/guide_create_your_own_raspberry_pis_peercoin/

Guide updated to include:

To retrieve the list of addresses for your Peerbox wallet use the following command: [code]ppcoind getaddressesbyaccount ""[/code]

To generate a fresh new Peercoin address (and add it to the list) use the following command:

ppcoind getaccountaddress ""

Added:
[ul]How to use google authenticator with Peerbox - https://github.com/peerchemist/Peerbox/wiki/How-to-use-google-authenticator-with-Peerbox[/ul]

Can’t find the shasum on the downloads page… (v 0.24.2)

Yep, I know :(. I have reported this issue already: Sha256 checksum missing · Issue #17 · peerchemist/Peerbox · GitHub, but [member=30983]peerchemist[/member] is not planning to put it on the download page since he upgraded his website’s template…

[member=32378]Treeshare[/member] if you can also please bug him with that, maybe he’ll change his mind.

You can always find this info on releases ANN thread: Cryptoblog - notícias sobre bitcoin e criptomoedas!

[member=30983]peerchemist[/member], I’m not sure this thread is easy to find, and not sure people will bother trying. A single pinned thread containing all checksums of all Peerbox versions would have been more appropriated. However, I still think the checksum for the current version must be displayed bellow the download button on your site. The reason is simple, if your website receives audience from people who are not familiar with Peercointalk they will not find the current checksum if it is not explicitly displayed on your site.

People are lazy, people don’t want to spend hours seeking for information. Make things easy for them and Peerbox will receive the popularity and adoption it really deserves.

Alright, I will speak to web designer about solution.

When it will be for Raspberry Pi2? ???

Can’t a person contribute to the Peercoin’s network security by “just” minting in peercoin wallet? Or you “must” run headless node in peerbox?

Yes, you can contribute to Peercoin network security by just minting, but full nodes as almost equally important to form a consensus.

Consensus meaning?

Nodes relay transaction and maintain the blockchain.