Running your own Cellframe node on Windows (and other platforms too)

Category: Guide

Title image, read title

This article was originally written by Mika Hyttinen. Medium link: https://medium.com/@mika.hyttinen

Some of my readers have probably waited this one as I think that majority of PC users are still running Windows.

While I use Linux as my daily driver, I still have to use sometimes Windows as my operating system because there’s still no 100% solid method for running Adobe software (Photoshop and Illustrator mainly) in Linux.

In this article, we will be taking a closer look about all the options if you are running Windows (some of the options can be considered even if you are running Linux or macOS too).

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!

Let’s go!

Method 1: Cellframe Dashboard

This one is the easiest method as Cellframe Dashboard comes with Cellframe node baked in, so it’s the most obvious choice.

Cellframe node is built also with Windows users in mind so it actually makes use of WinAPI where necessary.

When using Cellframe Dashboard, you also have a tool for managing your wallets/node and pretty much everything what you can wish for.

Download link available @ cellframe.net

NOTE: Configuration files for node are available in:%SYSTEMDRIVE%\Users\Public\Documents\cellframe-node

Using console in Cellframe Dashboard for interacting with node.

Pros:

  • Easy to install, easy to run
  • You get all the “bells and whistles” for managing your node and wallet
  • Allows you to also download dApps (when available) with a few mouse clicks

Cons:

  • There are still some bugs in Dashboard (as of 27th March, 2022)
  • Cellframe node gets updated more often than Dashboard

Method 2: WSL (Windows Subsystem for Linux)

Now this is another solution which has been on the list in Cellframe Development Telegram channel.

While I think that this is not the greatest solution, it actually gets the job (pretty much) done.

WSL(2) basically uses Hyper-V virtualization platform architecture which allows you to run Linux inside Windows.

WSL also requires less resources than a full blown virtual machine.

To install, just do a command wsl --install on a Administrator command line and after that, you can actually download different Linux distros from Microsoft Store (or from command line if you prefer that). Convenient, huh?

Debian 11 running on WSL.

Pros:

  • Pretty easy to install
  • Uses fewer resources than full blown virtual machine
  • When using Debian / Ubuntu on WSL, you can use the installation methods from my Raspberry Pi tutorial

Cons:

  • You obviously need some Linux experience with this
  • As Cellframe node uses systemd service for automatic starting/stopping/restarting (in Debian / Ubuntu packages), it doesn’t work here out-of-the-box as WSL has no proper support for systemd (yet)
  • Network configuration might be a problem i.e. bridging your network adapter is pretty hard

Method 3: Hyper-V + Linux

Now we’re getting somewhere, a full blown type-1 hypervisor on Windows!

Hyper-V is a solid choice if you want to run virtual machines on your Windows operating system. There are lots of configuration options for all the network settings so bridging network connections with local adapter is easier than on WSL for example.

With Hyper-V you can pretty much select any operating system you want and run it. It will use the installed operating system own kernel and libraries so you won’t be tied to kernel provided by Microsoft (as in WSL).

It also performs pretty fast, it’s almost like running on bare metal.

With Hyper-V, the obvious choice for running Cellframe node would be Linux .

Hyper-V manager in action.

Pros:

  • If you need the speed, performance is similar like in bare metal (with some exceptions)
  • When using Debian / Ubuntu on Hyper-V, you can use the installation methods from my Raspberry Pi tutorial
  • It’s free!

Cons:

  • Need to be familiar with Linux, again
  • Uses lots of resources as it’s technically 2 operating systems running at the same time
  • Not possible to use (by default) on Windows 10/11 Home edition (there is a workaround, though)

Method 4: Virtualbox + Linux

Virtualizing an operating system has probably never been easier on Windows than with Virtualbox. Unlike Hyper-V, Virtualbox is a type-2 hypervisor so it doesn’t have a direct access to hardware resources.

With Virtualbox, installing any type of operating system is a breeze. It has preconfigured settings for multiple different operating systems and it’s also super easy to configure your virtual machine settings (network settings, for example).

You can download Virtualbox from:https://www.virtualbox.org/wiki/Downloads

With Virtualbox, the obvious choice for running Cellframe node would be, again, Linux server.

Multple different preconfigurations for different Linux distros. Runs Windows too.

Pros:

  • Easy to install and configure for multiple different operating systems
  • It’s open source
  • It’s free!
  • When using Debian / Ubuntu on Virtualbox, you can use the installation methods from my Raspberry Pi tutorial
  • It’s pretty fast…

Cons:

  • … but probably not as fast as Hyper-V
  • Uses a lot of resources
  • Need to be familiar with Linux, again
  • (Personal opinion) It’s backed by Oracle, known for not being so friendly for open source products

Method 5: VPS (Virtual Private Server)

This one is pretty popular with everyone who wants to run some type of service on a Linux server. While it’s not a bare metal server, it still performs great and would be my second best (or maybe even best?) choice for running Cellframe node if you are running Windows (or even Linux) on your personal computer.

VPS is a great “set & forget” solution (but obviously it still needs some monitoring from time to time) and you don’t need to keep your personal computer on all the time.

However, there are some caveats:

  • Some VPS providers are… let’s just say “bad”. You should do some research before buying
  • Some VPS providers won’t even allow you to run such nodes on a VPS
  • If you’re planning to do more than just running a simple node on your VPS, you need more computing power / memory which in turn costs you more money

I have experience with the following service providers and all of them were ok:

You can access your VPS with Putty/Kitty (SSH) in Windows.

Pros:

  • No need to keep you own PC on, saves electricity and resources
  • Is pretty much set & forget solution
  • Low end boxes are super cheap, usually around 3 euro / month
  • When using Debian / Ubuntu on VPS, you can use the installation methods from my Raspberry Pi tutorial
  • You can usually upgrade your VPS to a better one (more bandwidth/memory/CPU power), it’s pretty much automatic process

Cons:

  • If they happen to have some networking issues, you can’t access your server
  • It’s not free
  • Need to be familiar with Linux, again

                                                                                 .  .  .

Conclusion

My personal recommendation to run a node on Windows at the moment is Cellframe Dashboard (because it’s the easiest method). But that doesn’t mean it’s the only choice.

If you truly want a set & forget solution (and you don’t really want to keep your PC running 24/7), I really recommend looking at the VPS options. Even though you will need some Linux experience with this.

If you want to have your own hardware, you may consider buying a Raspberry Pi or a Thin Client. Those are cheap options to get things going. And they are cheap on electricity too!

If you have some questions related to this article, you can contact me on Telegram or Twitter.

Do you want to build something on the future of blockchains? Join their Cellframe Development Telegram channel.

Thank you for reading!