Tuesday, 12 November 2019

Running a Bitcoin node on a $11.99 SBC

Just wanted to let you guys know that I'm successfully running a (pruned) Bitcoin node + TOR on a $11.99 single board computer (Rock Pi S).

The SBC contains a Rockchip RK3308 Quad A35 64bit processor, 512MB RAM, RJ45 Ethernet and USB2 port and I'm using a 64GB SDCard. It runs a version of Armbian (410MB free). There's a new version available that even gives you 480MB RAM, but I'm waiting for Bitcoin Core 0.19 before upgrading.

To speed things up I decided to run Bitcoin Core on a more powerful device to sync the whole blockchain to an external HDD. After that I made a copy and ran it in pruned mode to end up with the last 5GB of the blockchain. I copied the data to the SD card and ran it on the Rock Pi S. After verifying all blocks it runs very smoothly. Uptime at the moment is 15 days.

I guess you could run a full node as well if you put in a 512GB SDcard.

The Rock Pi S was sold out, but if anybody is interested, they started selling a new batch of Rock Pi S v1.2 from today.

Screenshot of resources being used

Bitcoin Core info

Around 1.5 GB is being transferred every day

---

Some links and a short How to for people that want to give it a try:

  1. This is the place where I bought the Rock Pi S.
  2. Here you find more information about Armbian on the Rock Pi S. Flash it to your SDCard. Follow these instructions.
  3. Disable ZRAM swap on Armbian. If you don't do this eventually Bitcoin Core will crash.
    nano /etc/default/armbian-zram-config
    ENABLED=false
  4. Enable SWAP on Armbian
    sudo fallocate -l 1G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    sudo swapon --show
    sudo cp /etc/fstab /etc/fstab.bak
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
  5. Set up UFW Firewall
    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    sudo ufw allow ssh # we want to allow ssh connections or else we won’t be able to login.
    sudo ufw allow 8333 # port 8333 is used for bitcoin nodes
    sudo ufw allow 9051 # port 9051 is used for tor
    sudo ufw logging on
    sudo ufw enable
    sudo ufw status
  6. Add user Satoshi so you don't run the Bitcoin Core as root
    sudo adduser satoshi --home /home/satoshi --disabled-login
    sudo passwd satoshi # change passwd
    sudo usermod -aG sudo satoshi # add user to sudo group
  7. Download (ARM64 version) and install Bitcoin Core Daemon
  8. Download and install TOR (optional). I followed two guides. This one and this one.
  9. Create a bitcoin.conf config file in the .bitcoin directory. Mine looks like this:
    daemon=1
    prune=5000
    dbcache=300
    maxmempool=250
    onlynet=onion
    proxy=127.0.0.1:9050
    bind=127.0.0.1
    #Add seed nodes
    seednode=wxvp2d4rspn7tqyu.onion
    seednode=bk5ejfe56xakvtkk.onion
    seednode=bpdlwholl7rnkrkw.onion
    seednode=hhiv5pnxenvbf4am.onion
    seednode=4iuf2zac6aq3ndrb.onion
    seednode=nkf5e6b7pl4jfd4a.onion
    seednode=xqzfakpeuvrobvpj.onion
    seednode=tsyvzsqwa2kkf6b2.onion
    #And/or add some nodes
    addnode=gyn2vguc35viks2b.onion
    addnode=kvd44sw7skb5folw.onion
    addnode=nkf5e6b7pl4jfd4a.onion
    addnode=yu7sezmixhmyljn4.onion
    addnode=3ffk7iumtx3cegbi.onion
    addnode=3nmbbakinewlgdln.onion
    addnode=4j77gihpokxu2kj4.onion
    addnode=5at7sq5nm76xijkd.onion
    addnode=77mx2jsxaoyesz2p.onion
    addnode=7g7j54btiaxhtsiy.onion
    ddnode=a6obdgzn67l7exu3.onion
  10. Start Bitcoin Daemon with the command bitcoind -listenonion

Please note that I'm not a professional. So if anything above is not 100% correct, let me know and I will change it, but this is my setup at the moment.



Submitted November 12, 2019 at 04:50PM by haste18 http://bit.ly/32K6QhG

No comments :

Post a Comment