11

What is the minimal system that would be suitable for this task? What kind of system and OS would you recommend for this?

3 Answers 3

9

2021 EDIT

The answers below this section are from 2017, and largely aren’t relevant anymore. The Iota Foundation has urged users to move on from IRI to a go based solution called Hornet.

The official guide to getting started with Hornet can be found here.

The source code for Hornet can be found here.

Hornet works differently from the older nodes. Some important things to consider from a requirement perspective, is that now the amount of hard drive space doesn’t matter as much. Due to configurable pruning depth, you can simply choose the space you have available instead. I’d think a minimum of 500 GBs to start and then expand from would be good, especially with how cheap storage is these days. A specific size is not mentioned in the getting started guide. Hornet uses less than 500 MBs of RAM, so the requirements are very minimal, the guide recommends a minimum of 8GBs likely to handle growth.

Here are the official minimum requirements from the guide above.

To handle a potential high rate of messages per second, nodes need enough computational power to run reliably, and should have following minimum specs:

  • 4 cores or 4 vCPU
  • 8 GB RAM
  • SSD storage
  • A public IP address

The amount of storage you need will depend on whether and how often you plan on pruning old data from your local database.

Hornet exposes different functionality on different ports:

  • 15600 TCP - Gossip protocol port
  • 14626 UDP - Autopeering port (optional)
  • 14265 TCP - REST HTTP API port (optional)
  • 8081 TCP - Dashboard (optional)
  • 8091 TCP - Faucet website (optional)
  • 1883 TCP - MQTT (optional)

The mentioned ports are important for flawless node operation. The REST HTTP API port is optional and is only needed if you want to offer access to your node's API. All ports can be customized inside the config.json file.

You can also run Hornet on something as low powered as a Raspberry Pi 4B. But they still recommend a more powerful machine if you are doing anything more than exploratory work.

Another fairly new node, based on Rust, called Bee is also available. The source code for Bee can be found here if you’d like to learn more. Bee is even less resource intensive, requiring less than 80 MB of RAM for example.

Old IRI recommendations from 2017 - Requirements for a Full Node


OS

I have found macOS to be the easiest to get up and running in the smallest number of steps. Your mileage may vary though.

Linux/macOS/Windows and anything else that can execute the iri jar.

GPU

Not required

CPU

At least 2 or more cores with 64-bit architecture

RAM

At least 4 GB or more

HDD

At least 50 GB of free space

Internet Connection

2 Mbps or better should suffice

Uptime

24/7 (or close to it)

Static IP Address

Required, visit here to setup


Setup a GUI Full Node

Visit IOTA GUI Full Node guide

Setup a Headless Full Node

Visit IOTA Headless Full Node guide

Notes

  • These requirements will change as more and more people adopt IOTA.

  • If you've ever configured a Bittorrent tracker it has similar system requirements to one of those.

  • What about Raspberry PI? The best model available right now would likely under perform. The CPU and RAM is a little too weak for the java implementation. There are other implementations in progress, requiring less resources though

6
  • 1
    CPU needs to be 64-bit (at least on Windows) and Java Runtime Environment needs to be 64-bit too.
    – mihi
    Nov 28, 2017 at 21:30
  • @mihi is that for the headless full node only or does the GUI also require 64-bit? I thought that Windows and Linux GUI builds supported 32-bit but I could be wrong.
    – vinnymac
    Nov 28, 2017 at 22:11
  • The full node (iri) uses a database implementation (rocksdb) that cannot run on 32-bit JREs due to missing shared libraries for that platform. The light wallet should not be affected by this, although I have read that some people have trouble with GPU-accelerated PoW on 32-bit Windows 7.
    – mihi
    Nov 28, 2017 at 22:14
  • What is the RAM used for? Could the node software not be adjusted to use less RAM?
    – w00t
    Dec 13, 2017 at 13:35
  • I think the number of the Cores does not matter much. could 1. Mine is working great as 1 core, 4GB ram.
    – tawago
    Dec 29, 2017 at 0:05
0

My personal recommendation:

Operation System: Linux (generally better for server)

RAM: At least 4GB. Better 8GB.

CPU: Quad-Core x86, ARM is not supported at the moment (I hope it will be in the future)

HDD: 150GB - 200GB, not necessary (just to have big buffer for the transaction database)

Internet Connection: 100Mbit/s or more

Why all these recommendations? If you want to have a secure full-node, you need some more neighbors. These neighbors put pressure on your node. If you want to share your full-node with friends, family, you get also more traffic/pressure because of the light-nodes. But: Just try it with the minimal settings and find your perfect setup :)

So the topic with your Raspberry:

There is a list of supported ARM devices.

Some Raspberry boards are supported. I haven't tested them yet. I have other ARM-boards and I cannot compile IRI on them. Probably the list is outdated (2016). The issue is the RocksDB database not IRI itself.

There are two discussions about this topic on the IRI github: the first one and the second one

-1

At the moment 28.12.2017: A node should have at least 8 GB RAM. It's better to have more, because the machine, operating system and other services need some memory for themselves. The Java Memory settings should therefore be set one or two GB below the RAM-Size for 8GB e.g. to -Xmx7G

The node shoud have 4 cores.

The node should have a SSD with around 40GB space. The mainnet DB has around 9GB today, but is growing.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.