Running your own Cellframe node on Raspberry Pi 3B+

Mika Hyttinen
3 min readNov 12, 2021

--

About Cellframe

Cellframe is an ambitious third generation blockchain project and few people (me included) have already started to talk about it as the next Polkadot or Kusama.

This project is, however, more service oriented and has some advantages compared to Polkadot/Kusama (eg. post-quantum cryptography, 2-level sharding, P2P cross-chain operations).

Cellframe is written in C (which will make it FAST), and it has an SDK for C and Python at the moment. More supported languages are coming in the future.

I really recommend visiting their website (https://cellframe.net) and read their whitepaper!

In this tutorial, I will show you how to compile and run your own node on a Raspberry Pi 3B+.

Requirements

  • Raspberry Pi 3B+ (any other Raspberry Pi ARM64 platform will probably also work)
  • Debian image (daily image here)
  • SD card (SSD recommended!)
  • A SD card reader
  • USB keyboard
  • HDMI display (monitor, tv etc.)
  • Raspberry Pi Imager software from https://www.raspberrypi.com/software/
  • Internet connection

Let’s go!

Writing image to SD card

Easiest way to write the image on SD card is to use Raspberry Pi Imager. It supports Windows, Linux and macOS so it doesn’t really matter what system you are using.

If using Raspberry Pi Imager:

  1. Open the application and click Choose OS->Use custom and then select your downloaded Debian image (eg. 20210823_raspi_3_bullseye.img.xz).
  2. Click Choose Storage, and select your SD card.
  3. Click Write and let the app do it’s thing.
  4. Profit!

Note:

You will need a display and a keyboard for your Pi. It’s necessary because otherwise you would need to create a key pair on your PC/Mac for SSH access. However, there is a explanation how to use it over here.

Booting and installing all the necessary packages for compiling and running the node

Insert the SD card to your Raspberry Pi and insert the power cable, it should boot up in a few minutes. After you see the login screen, just type root and press enter.

There’s no password for the root user by default so if you intend to do more with this than just testing, I recommend changing the root password with the command “passwd”.

Next we will update the apt package information from known sources, upgrade the existing Debian installation and then install the necessary packages for compiling the node.

apt update && apt dist-upgrade -y && apt install -y build-essential cmake dpkg-dev libpython3-dev libjson-c-dev libsqlite3-dev libmemcached-dev libev-dev libmagic-dev libcurl4-gnutls-dev libldb-dev libtalloc-dev libtevent-dev traceroute debconf-utils pv file git

After that, it’s quite straight forward. One liners FTW!

git clone https://gitlab.demlabs.net/cellframe/cellframe-node.git && cd cellframe-node && git submodule update --init && cd cellframe-sdk && git submodule update --init && cd ../ && cd python-cellframe && git submodule update --init && cd ../ && mkdir build && cd build && cmake ../ && make -j$(nproc) && cpack

After the .deb package is created. You should see it in the build folder. To take a look, do a quick “ls” command in the build folder.

Installing the package:

dpkg -i cellframe*.deb

If it fails, do a quick:

apt -f install

It should install the package automatically. It will ask a few questions when installing the Cellframe node, just press enter to select the default values, you can edit the configuration later. You can check if the node is running with:

systemctl status cellframe-node

Configuration

Current master branch has config files ready for Testnet (Subzero) and also for KelVPN Cellchain (Minkowski).

If you want to create your own Cellframe network, you can follow the tutorial released on Cellframe wiki (https://wiki.cellframe.net/en/soft/create_cellframe_network)

--

--