Guide: How To Build A Cryptocurrency Proof-of-Stake Mining Box For Absolute Newbies

in #cryptocurrency6 years ago

How To Build A Cryptocurrency Proof-of-Stake Mining Box For Absolute Newbies


For some time now I’ve been toying with the idea of gaining some passive income from my cryptocurrency investment by way of staking.

‘Staking’ is the reward you get for supporting a coin’s network. This is done by holding coins in a wallet and running a node. It is basically like earning interest on the coins you hold.

It is rather simple to do this: buy a bunch of a particular coin (ensuring it is based on Proof of Stake algorithm), send them to a wallet on your computer and leave this running. To maximise your profits this usually means having to run your PC 24/7, which unfortunately can be annoying, noisy or the electricity costs could eat into your profits.

In comes the Raspberry Pi. The Raspberry Pi (RPi) is a credit-card sized single-board computer which was originally developed as a tool to teach programming in schools. It has no screen/monitor, it is practically silent and it is very energy efficient. This makes it ideal for staking purposes – once set up it can be plugged in somewhere discretely and left to stake day and night, just like in the photo below.

Sexy, isn't it? There is only one issue: there is a pretty steep learning curve associated getting it up and going. Most of the RPi’s operating systems are based on Linux, which I previously had zero knowledge of. In fact, four weeks ago if you had asked me what a Raspberry Pi was I would have told you it was a delicious dessert. I knew my way around a Windows PC, but any other computer system was foreign to me.

Still, I figured I’d give it a go. It was incredibly frustrating at times, it required hours of troubleshooting errors online, searching through forums for guidance and multiple complete re-installations of the RPi operating system. But after four weeks I eventually got there.

The following article is my run down of how to get staking crypto coins on a Raspberry Pi for absolute beginners. The aim is that you will be able to follow it step by step and be good to go without having to do all the troubleshooting like I did.


Choosing The Right Coin

Before we go into how to acquire a Raspberry Pi and get set up, we need to talk coins. There is no point setting up a RPi for staking if you do not know which coin you will be staking. Thankfully there are plenty of impressive Proof of Stake cryptocurrencies out there, like the ones on this list here.

You will likely have different criteria to me when choosing a coin. Personally, as this was just a bit of an experiment, I decided to go for a low market cap coin with a decent interest rate, promising fundamentals and which, if it mooned, would be incredibly profitable. Of course it needed a solid team and a thriving community. It was a bonus if the coin had masternodes, as these could offer another avenue for passive returns in future.

I scoured dozens of different cryptocurrencies. I shortlisted 20 and spent a few days reading whitepapers, review articles and social media pages. I made a basic spreadsheet which showed me how much an initial mock investment of $2000 would return annually if the coin reached the top 50 or 100 by market cap ranking. I discovered that a large number of the PoS coins out there have either already grown so much that the returns are pretty meagre (eg. Dash), or the coin is still low value but the returns are too high to be sustainable (I took this as anything over 40% per annum). It was a bit like the crypto version of looking for a planet in Goldilocks zone: I needed a coin which had a small enough market cap to still be profitable if it mooned, but not so small that it would be a super high risk coin and just die out.

I finally came down to two coins: Denarius (DNR) and Bulwark (BWK).

Both have market caps of less than $10 million and look highly promising. However, I eventually went for DNR as I just so happened to score a Bulwark Secure Home Node (a Raspberry Pi kit dedicated to running BWK masternodes).

Denarius is a Proof of Work / Proof of Stake hybrid which was created in June 2017 and designed to be used as a means of digital currency. From a technical point of view it has a lot of exciting features, including a unique hashing algorithm called ‘Tribus’, rapid transaction speeds, masternodes (worth 5000 DNR), atomic swaps and stealth addresses/messaging. Its PoS reward is 6% and it will switch to full PoS after block 3 million (at time of writing it is ~a third of the way there). It has a market cap of just over US$2 million, so is still well under the radar. It has a thriving, helpful community – including the lead dev who answered all of my questions personally and within a very short space of time. It looks like it has a big future ahead of it. Here's a video rundown of Denarius:

As mentioned earlier, I calculated the sort of returns I could get based on an initial mock investment of US$2000.

Denarius (6% stake return)
• Current price: $0.70c
• Coins for $2000: 2857
• Reward per week in DNR and USD: 3.3, $2.3
• Reward per year in DNR and USD: 171, $119.7

I also did a very rough calculation to see what these rewards would equate to if Denarius managed to make it to the top 50-100 coins by market cap ranking. I know this is moon talk, but hey, it is just for fun.

Price if DNR made top 100: $33
Reward per year if DNR made top 100: $5,686

Price if DNR made top 50: $89
Reward per year if DNR made top 50: $15,202

Keep in mind that these figures are based on today’s market caps, so in reality if DNR happens to reach the top 100 in a year’s time the overall crypto market cap will be different, and so too will the rewards. The rewards will potentially also be a bit higher due to compound growth of my DNR balance. But I found this a good way to compare the various coins I had shortlisted, and DNR came up trumps.

So I bought my DNR and left it sitting safely in a Windows desktop wallet until I was ready to go. I purchased from Cryptopia exchange. It’s up to you how much you want to stake, but obviously a bigger investment means bigger returns. However, if you’re planning on spending more than US$5000, you will get better returns by running a Denarius masternode.


What You Will Need

Once you’ve decided on the coin you want to stake and have purchased some, it’s time to buy the hardware.

Before I go on, you should be made aware that you can buy these kits pretty much all set up and good to go from StakeBox. I found that they are around twice as expensive as the DIY method but will likely save you a bit of hassle (but you'll miss out on the learning experience of course!)

Here are the things you need for the DIY method, some of which you may have already.

  • Raspberry Pi, model either 3B or B+ (I got a B+)
  • Housing case for the RPi
  • 16 or 32GB mini SD card (with adaptor card for putting into your PC / laptop)
  • Wireless keyboard/mouse
  • Monitor with HDMI capability, and HDMI cable (a laptop will not suffice as these only have HDMI output, not input)
  • PC / Laptop – Mainly for getting your SD card set up. I used my Windows PC so instructions will be focused on Windows, but I’m sure it will be simple enough to work out how to do everything I did on a Mac etc.

  • The only thing I had already had on that list was the HDMI capable monitor (I used my home television screen). I live in New Zealand so I ended up buying this kit from an online store, PiShop.

    I decided to pay a little extra for this kit as it came with the FLIRC aluminium case (shown in the first photo in this article) rather than the standard RPi case. I read that this is much better for preventing the RPi from overheating. I don’t even know if overheating would be an issue for us with the standard case, but I chose to be safe rather than sorry. The kit above comes with KODI pre-installed on the SD card – this is software for setting up a media centre on the RPi, but is not necessary at all for our purposes (the SD card is though).

    I also saw a decent and cheap starter kit called the Canakit on Amazon.

    The total cost for me came to just over US$100. Not bad at all IMO.


    Getting Started

    The SD Card

    1. First things first, we need to get an operating system installed on our micro SD card. Unless you are using a brand new SD, you will want to use SD Card Formatter to ensure it is completely wiped. Download and install SD Card Formatter here.

    2. Insert your micro SD card into PC and open SD Card Formatter.

    3. Choose your SD card in the ‘Select Card’ dropdown. Under ‘Formatting Options’ tick ‘Overwrite format’ and then hit ‘Format’. It took my computer an hour or so to format the card.

    4. After this I would suggest making sure that the entire space is available on the card to use, as some cards can have in-built space partitions which don’t get wiped on formatting. Do this by going to Computer, right clicking on your card and then going into Properties. If the full free space is available, move on to step 5. In my case the SD showed as only having ~500MB free, so I used Diskpart to fix this. Most Windows versions come equipped with Diskpart already. You can open it by going to Start, search for Command Prompt, right click and choosing to run as administrator. Then type the following at the cmd line (just the words in italics, and press enter with each bullet point):

    • diskpart
    • list disk
    • select disk n (where n is the disk corresponding to your SD card – triple check that you choose the right one!)
    • clean
    • create partition primary
    • exit

    5. Now that you have a clean micro SD card with all of its space available, we need to flash an operating system for the Raspberry Pi onto it. I tried multiple times to use the official RPi OS (Raspbian) but kept receiving errors, so instead changed to an OS called Ubuntu MATE and was successful. First step is to download the MATE image to your PC.

    6. Next we need to flash the Ubuntu MATE image onto your flash drive. We do this using Win32DiskImager which comes with Windows and can be found from the Start / Search menu. Under ‘Device’ at the top right of Win32DiskImager, choose your SD card. Then click the blue folder icon to the left of this, and locate the unextracted Ubuntu MATE image. Finally, click the ‘Write’ button and wait for it to finish. You can now remove the SD card from your computer and get ready for setting up the Raspberry Pi.


    The Raspberry Pi and Ubuntu MATE

    1. Have a watch of this video. It will give you a good run down of the RPi, show you how to combine it with its case, insert the SD card and connect it to a power supply and monitor. You can stop watching after 6:00, as the video shows the Raspbian OS rather than Ubuntu MATE:

    2. Your SD card, wireless keyboard, monitor and power supply should now be connected and the Raspberry Pi will boot, eventually coming to the Ubuntu MATE desktop.

    If you are ever asked for your login details at this point, the default username is ‘pi’ and the password is ‘raspberry’.

    3. Now follow the welcome instructions to get your Wi-Fi, keyboard, time/date and log ins set up. After this I still found that Wi-Fi did not connect. I worked out I could fix this by opening MATE Terminal and typing this:

    • sudo rfkill unblock wifi
    • sudo reboot

    If for some reason this doesn’t work, you can also download the Wi-Fi firmware from the following link onto your PC, put your SD card back into your PC and drag and drop the firmware directly onto the SD: https://archive.raspberrypi.org/debian/pool/main/f/firmware-nonfree/firmware-brcm80211_20161130-3+rpt3_all.deb

    4. The one thing I have found with the Ubuntu image for the RPi 3 B+ is that the pre-installed Firefox web browser doesn’t work. This may not be the case for those using a RPi 3B. I tried to get this fixed, but eventually gave up and installed Chromium browser instead, which worked perfectly. Do this going to MATE Terminal and typing:

    • sudo apt update
    • sudo apt-get install chromium-browser –y
    • sudo reboot

    Building the Denarius QT Wallet

    1. It’s time to start building. Thankfully there are some excellent how to guides on the Denarius community forum, denariustalk.org. To begin, open up MATE Terminal. First we need to install dependencies, which are necessary for the wallet to run. Type the following in order:

    • sudo apt-get update
    • sudo apt-get upgrade –y
    • sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev libboost-all-dev libminiupnpc-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libqrencode-dev libdb++-dev -y

    2. This will take a fair amount of time. Next we create a 4GB swapfile:

    • cd /
    • dd if=/dev/zero of=swapfile bs=1M count=4000
    • chmod 0600 swapfile
    • mkswap swapfile
    • swapon swapfile

    3. Now we clone the Denarius file repository onto our RPi:

    4. This took around 20-30 minutes on my RPi. Once this is completed, it is time to set up our makefile for compiling.

    • cd denarius
    • qmake "USE_UPNP=1" "USE_QRCODE=1" denarius-qt.pro
    • make –j4

    5. This was the longest step. I think it took at least an hour or two. Just leave the RPi to do its thing and don’t do other things on it at the same time or else it might freeze up. In saying this, sometimes I thought it had frozen but I’d check back 5 minutes later and it had progressed. If it is freezing up on you and the Terminal has not progressed after 20 minutes or so, you may have to reboot the RPi and repeat step 4 but on the final line just type make rather than make –j4 as this means the RPi will use fewer cores to process the build so less chance of maxing out the memory (although it will take longer this way). Hopefully after all of that waiting there have been no errors. If you do keep receiving a fatal error you could try adding in this step:

    • sudo apt-get install software-properties-common
    • sudo add-apt-repository ppa:bitcoin/bitcoin

    After all of this is completed with no errors, you should be able to navigate to your denarius folder and open the Denarius wallet (the purple diamond icon). Alternatively you can open Terminal and type:

    • ./Denarius

    If you keep getting errors without any clue why, I’d suggest posting your error message to the helpful people at denariustalk.org or join their Discord.


    Syncing the Chain

    1.As with any new desktop wallet, we need to wait until we get synced with the Denarius blockchain. This will be obvious to you from the bold red “Out of Sync!” notification on the wallet interface. Left to download on its own, the wallet will take around 12-24 hours to sync (possibly longer depending on how far in the future you are reading this guide, or possibly shorter if you move to the next chapter and edit your .conf file. There is a method to speed this up which involves downloading the blockchain data to your RPi and I will show you this now.

    2. If before reaching this step you have sent any Denarius to your wallet, you should back up your wallet.dat file for good measure. If not, move on to step 3. On the Ubuntu MATE desktop, open up your home folder. You should see your denarius folder in here (in saying this, with one install the denarius folder somehow landed in my Downloads, so have a look there if you can’t see it). Anyway, once you’ve found the folder, hit ‘CTRL-H’ to show hidden folders. You should see another folder appear called ‘.denarius’ (note the full stop at the start). Open this. Inside you should see your wallet.dat file. Copy and paste this somewhere safe.

    3. Make sure your wallet is closed before doing this next part (double check it hasn’t just shrunk to the taskbar at the bottom or sides of the desktop either). Download the chain data by opening MATE terminal and typing the following in order:

    • cd ~/.denarius
    • rm -rf database txleveldb smsgDB
    • wget https://gitlab.com/denarius/chaindata/raw/master/chaindata.zip
    • unzip chaindata.zip

    4. Upon opening your wallet again you should see that the sync bar has progressed almost to the end. You will still need to wait for the last blocks to sync. I must admit that I made an error when doing these steps and to this day am not sure what I did, but I found that even with the blockchain data installed my sync progress would freeze at about 80% of the way. I tried multiple solutions including reinstallations of the blockchain data to no avail. So eventually I started over again and left the wallet to sync on its own overnight. It was a minor inconvenience only.


    Setting Up the Configuration File

    1. To speed syncing up further and enable staking on your wallet we need to do some file editing. I don’t know why exactly this is, or if it is 100% necessary, but from what I can see problems with syncing are quite common with all wallets based on the original Bitcoin core wallet, and this is a technique done to fix those issues. You may not need to do it if your wallet is syncing rapidly without issue, but we’ll do it for good measure. Make sure your wallet is closed for this.

    2. First we need to locate our denarius.conf file which is in our .denarius directory folder. If you didn’t need to do this in step 2 of the last chapter, here is how: on the Ubuntu MATE desktop, open up your home folder. You should see your denarius folder in here (in saying this, with one install the denarius folder somehow landed in my Downloads, so have a look there if you can’t see it). Anyway, once you’ve found the folder, hit ‘CTRL-H’ to show hidden folders. You should see another folder appear called ‘.denarius’ (note the full stop at the start). Open this. Inside there should be a file called denarius.conf. If not, create one by right clicking, then ‘Create Document’, then ‘Empty File’. Name it denarius.conf and open it.

    3. Paste the following in your denarius.conf file (without the bullet points of course, and note that ‘yourusername’ and ‘yourpassword’ can be anything you like):

    rpcuser=yourusername
    rpcpassword=yourpassword
    rpcallowip=127.0.0.1
    rpcport=32339
    server=1
    daemon=1
    listen=1
    staking=1

    4. Next we need to add nodes. Open up your web browser and go to: https://chainz.cryptoid.info/dnr/#!network

    5. Under the ‘Sub-version’ list about halfway down the page, navigate to the most recent wallet version (in my case /Satoshi:2.5.2/) and click ‘node list’ to the right of this. A pop up box will appear. Copy the list of nodes and paste it in your denarius.conf file on a new line. Go to the bottom of the denarius.conf and also paste this:
    addnode=yiimp.ccminer.org
    addnode=denarius.host
    addnode=hashbag.cc

    6. Your denarius.conf file should look something like the screenshot below. Now reboot.


    Get Staking

    1. By now your wallet should be fully synced, and you’ll be ready to get staking. If you haven’t already, make sure to give your wallet a decent password by going to Settings --> Change Passphrase. You will need this each time you restart your wallet or staking will not proceed, so keep it handy.

    2. Now we need to send some DNR to the wallet. I’m sure you’re all aware of how to do this, but just in case, go to ‘Receive Coins’, click ‘New Address’ and send the DNR you have purchased to the newly created address. Alternatively, if you already have DNR stored in a desktop wallet on another device (eg. Windows computer), then you can copy the wallet.dat file from the denarius data directory on that device (after backing it up of course), move it onto your RPi via USB, then swap out the wallet.dat file in the .denarius folder (see how to find this in step 2 of the ‘Syncing the Chain’ chapter) with your own wallet.dat. Do not delete the original wallet.dat file just yet (just move it onto the desktop or something). First restart your wallet and ensure your DNR shows up once synced, because people have been known to accidently delete the wallet.dat file that actually houses their funds.

    3. Once your DNR coins are in your wallet, you need to wait for them to mature before you can begin staking. This takes 8 hours. Once this is done, and your wallet is unlocked, the staking indicator in the bottom right corner of the Denarius wallet should turn green. More info can be obtained by hovering over this icon. If you find that it is not staking for some reason, you can usually work out why by hovering over this icon also. Move to the Transactions tab, and after some time you should see staking rewards start to roll in. This will take longer if you have a smaller amount of coins of course. Accepted stake rewards show up as white. You will also see some transaction appear which are grey and if you hover your mouse over them it will read ‘Generated but not accepted’ – these transactions do not result in a reward, they are completely normal for PoS.

    And there you have it. You have now made your own fully-fledged Denarius stakebox.

    I am very pleased with the results, and rewards are actually a bit higher than I expected. This may be because I followed the address splitting process in the ‘Extra for Experts’ chapter below. Interestingly, my rewards started off quite low but after 72hrs or so of staking it climbed 10-fold. My investment is currently returning an extra 500 DNR annually, which although may not seem like a lot when the price of 1 DNR is $0.70c, but if the coin eventually comes out from under the radar and moons then it will be very profitable indeed. I’ll probably continue staking until I can get a DNR masternode (5000 DNR), which will increase my profits further.

    With regards to the practical side of running a stakebox, I leave mine plugged in and running 24/7 behind a couch in my living room so it is not visible. It makes no sound at all. I have not noticed any change in my electricity bill as a result. Rather than have to move it to where my HDMI monitor is located, I set up another program so that I can connect to my RPi remotely from my Windows PC (see ‘Extra for Experts’ below). Initially I was checking on the status of my Denarius wallet every few hours, but am now down to checking every couple of days. If you find that you log in to your RPi and the Denarius wallet has somehow closed, I would suggest undertaking the steps outlined below in the ‘Screensaver & Caffeine’ section.


    Extra For Experts

    Screensaver & Caffeine

    I have found that at times I will log in to my RPi and find that the Denarius wallet has closed. I suspect the RPi was going into screensaver or power save mode, or perhaps there was an issue with connectivity. Sometimes the Denarius wallet was still running in background processes, but it was not staking. I believe I have solved this issue by preventing the RPi from idling. We do this by shutting down the screen saver and also installing a small program called Caffeine.

    1. On the Ubuntu MATE Taskbar, navigate to ‘System’ --> ‘Preferences’ --> ‘Look & Feel’ --> Screensaver’. Drag the ‘Regard the computer as idle’ bar all the way to the right. Untick ‘Activate screensaver when computer is idle’. Click on ‘Power Management’. Change both of the ‘Actions’ and ‘Display’ preferences to ‘Never’ from the dropdown boxes.

    2. Open MATE Terminal. Type the following:

    • sudo add-apt-repository ppa:caffeine-developers/ppa
    • sudo apt-get update
    • sudo apt-get caffeine

    3. Now reboot. On the taskbar navigate to ‘Applications’ --> ‘Accessories’ and open Caffeine indicator. A coffee cup icon should appear in the taskbar. Right click on this and click ‘Activate’. With these two measures there should be less chance of your RPi entering a power save mode/idle. Regardless, I would recommend checking on the status of your Denarius wallet intermittently to ensure it is still definitely staking.

    Remote Connection

    If you plan on keeping your RPi permanently within reach of your HDMI monitor then you may not need this step. If however you want to be able to view your RPi from your laptop, we do this by installing XRDP. Some of you may wonder why I did not just do this from the start and build the Denarius wallet via remote connection. The answer is that I did, however I found that during the build process the RPi kept freezing during the built, perhaps because too much memory was being used to build the wallet and transmit the RPi desktop at the same time. This is why I waited until I had built the wallet first, and now I just use the remote connection for monitoring the wallet.

    1. First, find your RPi’s IP address. Do this by opening MATE Terminal and typing:

    • sudo ifconfig

    2. You’ll see IP information as shown below. Next to the wlan0 entry you will see inet addr: followed by the IP address of your RPi (in this case 192.168.1.10). Write this down.

    3. Next we install XRDP. Back in Terminal, type:

    • sudo apt-get install xrdp –y

    4. Once XRDP has been installed, it will automatically run in the background and will transmit the RPi desktop whenever Remote Desktop Connection on Windows connects to it. On your Windows computer, go to the start menu and type ‘Remote Desktop Connection’ and open it. In the text field provided, enter the RPi’s IP address which you noted down earlier and click ‘Connect’.

    5. You will now be faced with the XRDP login screen. Enter your RPi’s username and password (standard username is ‘pi’ and password is ‘raspberry’; but you may have created new login details when you first installed Ubuntu MATE). You should now connect and your RPi desktop will show up on your screen.

    Address Splitting

    While reading through Denarius forums and social media pages, I came across a method of increasing Denarius’ staking profitability. It basically involves splitting your coins among multiple different addresses within the same wallet, rather than keeping all your coins in one wallet. I’m not sure exactly how/why this works or how much more profitable it is than keeping all coins together, but I did it anyway. It is not necessary to stake successfully. It could also be frustrating to do this if you plan on spending lots of DNR, because you will need to transfer your balance out from multiple different wallets. Anyway, this process will probably be easier if your wallet.dat file is still housed on your Windows PC (before being transferred across to your RPi), as to do this we will needbut I will assume your wallet.dat file is already set up on your RPi (like mine was), so I will take it from there.

    1. To do this you will need your Windows computer, a USB stick, Excel, Notepad++ (not regular notepad – this one can be downloaded from here.

    2. First, back up your wallet.dat file (as per step 2 in the Syncing the Chain chapter).

    3. On the Denarius wallet interface on your RPi, click on ‘Receive Coins’. Your main wallet address which contains all of your DNR should be there. Right click on it and click ‘Edit’, then give it an obvious label eg. MAIN. If you do not see your wallet address there, just carry on to step 4 for now.

    4. On the bottom left you will see ‘New Address’. Click this, and then click OK to create a new address. Now keep doing this, over and over. You want to create somewhere in the realm of 400-500 new addresses. It does not have to be exact, just keep clicking until you think you are about there. It will be faster to click ‘New Address’ and then press the ‘O’ button on your keyboard in rapid succession.

    5. If you did not see your wallet address in step 3, make one final address but this time give it a label, eg. MAIN. Send your entire DNR balance to this address.

    6. Next we export your new 500 or so addresses. Go to ‘Receive Coins’ and then at the bottom left click ‘Export’. Save this .csv file onto your USB stick, eject the stick, and plug it into your Windows PC. Open the .csv file in Excel. Copy the entire column of addresses.

    7. Open Notepad++ and paste the column of addresses into it. On line 1, click the very first area to the left of the text. Push ‘ALT-C’. In the box that appears, the ‘Text to Insert’ will be “. Click OK and this will put quotation marks down the entire left side.

    8. Work out how many DNR you will send to each wallet. Divide the number of DNR you have by the number of wallets you created. For example, if you have 1000 DNR and 500 wallets, you could send 2 DNR to each wallet. Once you know this amount, click at the end of line 1 and hit ‘ALT-C’ again. This time the text to insert will be “2,

    9. Now you have a text file with list of addresses in the following format:
      “WALLETADDRESS1”:2,

    10. Go to the last line in the list of addresses. Delete the comma at the very end.

    11. Save this file back to the USB stick and plug this back into the RPi. Open the text file with your list of addresses and copy them all. Now open your Denarius wallet and go to Help  Debug Window  Console. Type the following, where MAIN is the name of the wallet which contains all of your DNR, and paste your list of addresses inside the { } brackets:
      sendmany “MAIN” ‘{“WALLETADDRESS1”:2,WALLETADDRESS2”:2}’

    12. I have only included two wallet addresses in the example above obviously, but in your case the list will be very long. Again, make sure that you have removed the comma at the end of the final address, just before the } closed bracket. Hit enter. This will distribute your balance to each address and give you a single transaction number. Wait for the transaction to occur plus 8 hours for coins to mature, and soon your list of address will start showing up in the ‘Staking’ tab in your Denarius wallet (similar to the screenshot below) and the stake rewards will start rolling in.


    That’s all from me, I hope you enjoyed this tutorial and gained some knowledge from it. If you did, feel free to donate a beer or coffee’s worth of crypto to my addresses below.

    If you have any issues along the way I can’t promise that I can help (I am still a Raspberry Pi/Linux newbie after all), but the Denarius community and dev team are extremely helpful. You can ask any questions you have on their official forums at denariustalk.org or join their Discord.

    ETH: 0x08F1bB7231cA95052de2b24f935B77dd958B437F
    DNR: D5BCqaDPVKJ9G7YpARp2e3iMfXJxtjb87W

    Sort:  

    Amazing well thought post.
    That I will look into with more detail. This kind of helpfull community posts are what took me to steemit.
    I was curiously just thinking on ways to mine/stake properly.
    So thank you :)

    These type of guides are what crypto needs badly!

    Thanks for the great tutorial! I'm lazy and just use a fanless Windows Mini PC for staking (https://www.amazon.ca/Mini-PC-Computer-Extended-x5-Z8350/dp/B071G2MMFP/). Similar to the RaspPi but with a Windows OS.

    Very well done tutorial! Can't upvote this enough!!

    Hi, as you are a fellow kiwi I wanted to drop off an invitation to our NZ group in Discord. We'd love to have you join us, to be able to take advantage of group things and connect with other kiwis. :)

    tanz invite sml.jpg

    (if the link has expired just yell out and I'll issue a fresh one)

    We also have a @teamnz profile you could follow if you like, and keep up to date with news and other kiwis - we publish twice a week.

    Congratulations @nzcrypto! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :

    Award for the number of upvotes received

    Click on the badge to view your Board of Honor.
    If you no longer want to receive notifications, reply to this comment with the word STOP

    Do not miss the last post from @steemitboard:
    SteemitBoard World Cup Contest - Home stretch to the finals. Do not miss them!


    Participate in the SteemitBoard World Cup Contest!
    Collect World Cup badges and win free SBD
    Support the Gold Sponsors of the contest: @good-karma and @lukestokes


    Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

    I built a few different coins on raspi Pis and other SBCs, a few things I discovered along the way.

    The 1GB RAM on a pi2b pi3b is the main limiting factor in terms of both compiling and running the node. You did 'make -j4' which seems to make sense because you have 4 CPU cores, but you will run out if RAM easily which actually slows down the compile, even -j2 is slower than a single core compile in my own tests. The other part is to carefully monitor the RAM used while operating the node, as blockchain length grows more RAM is needed. Running in headless mode (without a desktop) will save around 150MB RAM so your compiling will be faster and your Pi will have a longer useful life as a crypto node.

    Security is another important aspect, change the default password on the Pi, and consider running the coin on a different user account. Also install a firewall, 'UFW' is simple and easy to use. Also if you are remoting in 'fail2ban' stops more than a few password guesses and blocks IPs that fail to get the right login. You can also change the standard port numbers for any services like SSH you might be using which will make some basic attacks fail. Personally I also keep UPNP disabled on my router and devices so malicious programs can't open ports I don't know about.
    Obviously always encrypt your wallet.dat and keep a backup on another device. Also consider keeping an image of the SD card once you have it all configured nicely, SD cards fail without warning.

    Really a nice post and it's great to see more PoS using minimal resources.

    Great reply, thank you! I will definitely take your tips regarding security into account.

    Thanks to everyone who has tipped and commented. Just a couple of pointers regarding the 'Building the QT Wallet' stage:

    • If you cannot clone the Denarius github files, you may need to install git first by entering this into terminal:

    sudo apt-get install git

    • If you run into trouble making the swapfile (step 2), you may need to do those steps but put 'sudo' at the start of each command, eg.

    sudo dd if=/dev/zero of=swapfile bs=1M count=4000
    sudo chmod 0600 swapfile
    sudo mkswap swapfile

    • If when doing step 4 you receive an error like 'qmake cannot execute: no such file or directory', then you need to add in an 'export' step to make sure Ubuntu uses QT5 for building the wallet:

    cd denarius
    export QT_SELECT=qt5
    qmake "USE_UPNP=1" "USE_QRCODE=1" denarius-qt.pro
    make –j4

    Cheers!

    Below worked temp, but no longer allows access.

    I kept my remote desktop connection going like this.
    sudo nano /etc/xrdp/xrdp.ini

    Change port=-1 to port=ask5910

    [xrdp1]
    name=sesman-vnc
    lib=libvnc.so
    username=ask
    password=ask
    ip=127.0.0.1
    port=-1

    to

    [xrdp1]
    name=sesman-vnc
    lib=libvnc.so
    username=ask
    password=ask
    ip=127.0.0.1
    port=ask5910

    Is this project still active ? if so how well did the project perform with your investment ?. Great write up !