FIRO (ex Zcoin) cryptocurrency network hardfork, mining on FiroPoW algorithm


The developers of the FIRO (formerly called Zcoin) cryptocurrency are planning to make a hardfork on 10/26/2001, which will change the mining algorithm from MTP to Firo Proof-of-Work (FiroPoW). The update will be implemented on the FIRO core network along with InstantSend instant payment technology.

The new algorithm will be tested from August 30, 2021. If you wish, you can try your hand and test FiroPoW mining on the mintpond and minermore pools.

After the implementation of the hardforward, a significant drop in the complexity of mining is expected, which will have a positive impact on miners’ earnings. Therefore, it is worth preparing for the upcoming changes in advance by downloading appropriate miners and creating files to run them.

What features does the FiroPOW mining algorithm have?

The FiroPOW mining algorithm, which is a variation of ProgPoW, is designed to calculate with maximum efficiency on video cards. It has the following features:

  • Both the video core and memory are heavily loaded. In this regard, it is quite a voracious mining algorithm;
  • uses a pseudo-random mechanism to access the DAG (Directed Acyclic Graph) file. The size of the DAG data increases by 8 MB every 1300 blocks (this is the duration of one epoch, which is about 4.5 days);
  • periodically deterministically changes the order in which the mathematical operations that get the raw data from the DAG file are performed;
  • calculations use a constantly changing random element from block to block, which makes it almost impossible to create ASICs and program FPGAs.

In addition, the FiroPoW algorithm requires significantly fewer block validation operations, becoming about 500 times smaller. This will significantly reduce the traffic used and the growth of the Firo blockchain compared to the previously used MTP algorithm.

What video cards need to mine

What video cards do I need to mine on the Firo PoW algorithm?

To perform calculations on the Firo PoW algorithm, you need to use graphics cards with at least 4GB of VRAM. Due to the constant growth of the DAG size, in about 562 days it will grow by 1 gigabyte, so then you will need to use GPUs with 5GB+ video memory.

Currently, it is not possible to mine the Firo PoW algorithm on a CPU, ASICs and/or FPGAs.

FIRO cryptocurrency mining on the FiroPoW algorithm

To mine FIRO coins after the hardfork, you need to use video cards with 4GB+ VRAM and any suitable miner for the Firo PoW algorithm. These include:

  • firominer is a fork of ethminer, an open-source miner for various types of ProgPoW algorithm for OpenCL and CUDA devices (AMD and Nvidia graphics cards). The first versions of the program are full of bugs, for example, the ready-made Linux version 1.0 miner generates errors related to the lack of CUDA when launched on AMD GPU. The miner does not compile on Linux, producing a CMake Error: (no CmakeLists.txt file). Closer to fork is expected to fix most of the problems with the official miner;
  • T-Rex version 0.22.1 and newer is a closed-source program that supports mining on Nvidia video cards;
  • SRBMiner-MULTI 0.8.1+ (AMD graphics cards);
  • Teamredminer 0.8.6 and newer – AMD graphics cards;
  • other miners – support for the Firo PoW algorithm will be added in new releases on the eve of and after the hardfork.

An example of the simplest batch file to start mining on the Firo PoW algorithm in the firominer program (Nvidia video cards):

firominer.exe -U -P stratum+tcp://wallet.password,verbose=0@pool:port

For AMD graphics cards the -U switch should be changed to -G.

Example script to run firominer in Linux on AMD graphics cards:

./firominer -G -P stratum+tcp://wallet.password,verbose=0@pool:port

The more advanced commands when starting mining in firominer in most cases correspond to the ethminer it is based on.

If error while loading shared libraries appears: cannot open shared object file: No such file or directory you need to specify path to directory where CUDA files are not found (for example /usr/local/cuda-11.1/…):

ln -s /usr/local/cuda-11.1/targets/x86_64-linux/lib/ ~/miniconda2/lib/python3.6/site-packages/torch/lib/

If this error occurs when running the miner on a computer with AMD video cards, it means that the version compiled for Nvidia GPU is used. In this case, you either need to download another version of the program, or compile the miner for your hardware/drivers configuration.

You can compile the miner yourself using the article Compiling Ethminer for Linux (Source code file (tar.gz) in the releases section of Firo’s Github).

Hashrate of some video cards on the Firo PoW algorithm in firominer, Mh/s:

  • Nvidia RTX 3090 – 48;
  • Nvidia RTX 3080 – 42;
  • Nvidia RTX 3060 Ti LHR – 25;
  • Nvidia RTX 2080 Ti -33.6;
  • Nvidia RTX 2070 Super – 22.7;
  • Nvidia GTX 1080 Ti – 21;
  • AMD Radeon RX 480 – 5.4.

You can find out the hash rate of your graphics card in firominer without connecting to the Internet by running the benchmark with a command:

firominer -Z 400000

An example of a batch file to start mining on the Firo PoW algorithm in the T-Rex program:

t-rex -a mtp -o stratum+tcp://pool:port -u wallet.vorker -p x –temperature-limit 65 –temperature-start 50 –autoupdate –api-bind-http local_address_computer_to_monitor:port -d 0,1 (video cards involved) –mt 1 –api-bind-telnet 0

How do I overclock graphics cards for the Firo PoW algorithm?

To achieve the maximum hash rate you need to overclock both the core and the memory of the video card. Due to this the consumption of video cards on firopow algo is quite high.

Problem with AMD graphics cards detection in firominer in Windows

Solution of the problem with AMD graphics cards detection in firominer in Windows

If the error of detecting available devices (no openCL platforms found) occurs when launching the miner on AMD video cards in Windows, it is necessary to edit the registry section “HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors” by entering information about the location of the file amdocl (you can use regedit to do this).

This file has different names depending on the installed OpenCL version (drivers).

By default, it is located in the C:{Windows\System32\ directory or one of its subdirectories, such as C:\Windows\System32\DriverStore\FileRepository, and has the following names:

  • dll – for OpenCL 2.1, x86_64;
  • dll – for OpenCL 2.1, x86;
  • dll – for OpenCL 1.2, x86;
  • dll – for OpenCL 1.2, x86_64.

In the HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors section, create a DWORD string whose name must match the path to the new OpenCL file itself, for example:


The numeric value of the newly created string must be left as 0.