DIY Nodes Guide

Anyone can become a ThreeFold farmer by connecting standard computers to the ThreeFold Grid as 3Nodes. This guide is for those who want to purchase or build their own nodes, rather than using hardware provided by ThreeFold. We’ll cover what kind of systems are compatible and how to optimize your setup.

How many tokens will I receive?

Let’s get this one out of the way. The short answer is that the number of tokens a node farms depends on several factors. Farming rewards are designed to fairly compensate farmers based on the value of their contributions to the grid. As ThreeFold grows, the model for token distribution sometimes changes.

The constant goal is to create an attractive investment over a five year period. If you are looking for quick gains, farming might not be for you. To learn more about how rewards are calculated, see this wiki page. Or head straight to the simulator to run your own calculations.

What kind of hardware is supported?

A 3Node can be any reasonably modern 64-bit computer with an Intel or AMD processor, running ThreeFold’s Zero OS. The team has had some success testing ARM based devices, but supporting them is not currently a priority.

Each node also needs a minimum of one solid state disk (~500gb) and a bare minimum of two gigabytes of random access memory. USB based external drives are not supported, due to reliability concerns.

Servers, desktops, and mini computers are preferred over laptops. No graphics capability or display is required, although it may be helpful during boot configuration or if troubleshooting is necessary. You can check out some other farmers’ rigs in this thread.

How many watts?

Power efficiency is a key consideration for farmers. Spending less on electricity means more earnings. A small form factor server may be much more power efficient than a gaming PC with similar specs (the Grid does not currently support GPUs). Knowing exactly how much power a system will draw can be complicated, but some manufacturers provide more detailed estimates than the watt rating of a power supply.

How much RAM?

It’s recommended to have a minimum of four gigabytes of RAM for each virtual CPU. There are generally two vCPUs per physical CPU core, so that equals eight gigabytes per physical core. The recommended upper limit is eight gigabytes per vCPU—beyond that, adding RAM does not increase the number of tokens farmed. For example:

  • 4 physical CPU cores (8vCPU): 32-64 GB of RAM

What kind of internet connection?

A wired network connection should be considered essential for maximizing reliability and your node’s ability to farm. Any domestic high speed internet plan is adequate for a basic node. If you are planning to offer more than a few terrabytes of storage, a gigabit or faster connection may be necessary to support the traffic. Your node only needs bandwidth when it is being utilized to store or retrieve data. That means you could scale up your connectivity as utilization of your node grows. The Grid is designed with IPv6 in mind, but IPv4 is sufficient for now.

How to boot it?

Zero OS may be booted either from a USB stick (the boot image is tiny, so any size drive will do) or over a network via PXE. In either case, the latest software will be downloaded and cryptographically verified before boot. After the first boot, Zero OS will update itself automatically and requires virtually no maintenance.

What next?

If you have more questions, check out the farming FAQ.

When you’re ready to start farming, check out these resources to get started:

9 Likes

I wanted to ask, I don’t have a 512 GB SSD but do have 6 x 1 TB HDD in my server is this acceptable? If I wanted to add/replace storage for that node, is there anything special that needs to be done or once the node is rebooted with new hardware (whether cpu, ram or storage) it will be recognized?

We consider at least one SSD to be essential for the function of the OS. I can’t guarantee your node will boot without one. The node will detect any hardware changes on its next boot, no special intervention needed.

Great post, @Scott. Thank you – I am sure many will find it helpful!

2 Likes

Great post, what about network cards, what is supported?
I tried to boot my Dell R410 the other day, from a USB stick, but got stuck on a network initialization error right after boot.

1 Like

I run into problems with Broadcom 5709C it was not supported by ZeroOs V1, an additional NIC was necessary. but maybe in the meantime it is now supported.

for me the default 1GB Intel NIC worked fine.

see this topic for my setup - @ all please share you setup :wink:

1 Like

So you saying its better to have the SSD instead of HDD? I have 3 Enterprise HP laying around that have 1TB HDD. Maybe I should switch them out.

It is best to have some SSD in your node. If there is space, I’d recommend adding SSD in addition to the existing HDDs rather than swapping them out. The reason is similar to why is makes sense to have SSD to boot an OS and HDD for additional storage. Deployments on the Grid benefit from having some high performance SSD for their root filesystem, while HDD is preferred for applications needing large amounts of storage with lower performance requirements.

Hi guys! I’ve started assembling a couple of PC’s lately with parts that I had available, repurposing them into ThreeFold farmers.
For the lower end ones I have a choice between 4cores\8 virtual and 6cores\6 virtual, both with 32GB ddr4. Which one would be better for farming? I know that in multimedia tasks, more real cores are better, but I don’t know if it applies to ThreeFold.
Also, would there be a lot of difference between a Nvme M.2 and a Sata3 M.2? I’ve read that if the internet connection speed isn’t good enough to keep up with the transfer speed of your storage devices, it’s just over-kill. Am I right?

Looks like we got you covered over on Telegram :wink:

I have a dell server with Broadcom BCM5708 and I try to install ZeroOs V2 with legacy USB image not EFI and is stucked at:

Downloading Zero-OS image, transmit times out

IS getting ip setings, dns, gateway

Is it not supported this network card?IMG_20210825_141622

Well this seems to be a problem with the NIC and iPXE, we can’t really do something regarding this. Adding another network card could fix it.

We strongly discourage any machine not supporting EFI by the way.

1 Like

Hi!

I have a question concerning hardware changes and nodes. How does the Grid recognize and give a specific number/identification to a node?

From what I understand, say you have one DIY 3node with 1x1TB SSD, if you add more storage (1x8TB HDD for example), the node (ID) will stay the same but will simply upgrade the storage parameter.

But then, if you change the main SSD of your node, let’s say you go from 1TB SSD to a 2TB SSD, will it stay the same node, or would the Grid create another node ID? Or if your 1TB SSD gets corrupted, and you do a factory reset on it, will the node stay the same or will it change its ID?

In short, what makes a node “this node” and not “that node”? Is it the overall computer? The main storage disk? The threads?

Big question I guess, but this has got me quite curious.

Thank you!

Well it seems a great answer to my question is here:

I might just delete my question but maybe it will help farmers find the answer to this question…

Feel free to leave the posts up for the future reference of other farmers :slight_smile:

1 Like

I’m having some troubles getting my node setup. Hopefully you guys can help.
I have a dell poweredge t 620. I have tried booting with a ufei and bios image. With the ufei image, I get stuck with network initialization. image when I tried a bios image I couldn’t even get it to try to boot because it was saying something about the iPXE. The server has all the same bios settings as in the guide by (mik idrnd)

@thomas3node

Do you have a CD/DVD drive in there?

If yes, try to boot with BIOS (not UEFI) with the ISO image with the CD/DVD drive. Usually this fixes the problem with the RX20.

Same happened here and that’s how it got fixed:
https://forum.threefold.io/t/issues-with-booting-into-zero-os/

Choose “ISO: Generate an ISO file you can burn into a CD-ROM.” here

Ok, just put the disk drive back in as I had it out to fit more 3.5 inch hard drives. I’ll try to find an old cd and burn the iso tomorrow. Thanks!

1 Like

Good @thomas3node. Tell us how it goes!


Obviously if you wanted to put a disk in there instead of your booting image as a CD/DVD, it would be good if you could boot your 3node with a USB key. (More rewards!)

I say, first try with the CD/DVD ISO image. Then if it works, it means it should also be working with the USB option below:

iso_dvd_usb

As it is stated in this guide, these are lines of code to burn a ISO image to a USB key with a Linux Kernel:

For the USB image, with Linux, you will want to do:

sudo dd status=progress if=FILELOCATION.ISO(or .IMG) of=/dev/sd*.

Here the * is to indicate that you must adjust according to your disk. To see your disks, write lsblk in the command window. Make sure you select the proper disk!


If you don’t have Linux:

If you are using the “dd” image […] just use the free USB flashing program called Rufus and it will automatically do this with no need for Linux or command line

balenaEtcher is also a free and open-source program that works with Windows and MAC to boot images on USB keys.


Hope it helps.

1 Like

Thanks for all the help! The cd solution worked! Are you saying I could put the iso on a Hdd and use it as a boot and for the node?

1 Like