IronFish to FishHash auto‐switch - rigelminer/rigel GitHub Wiki
This guide lists the necessary steps to configure a seamless transition
from ironfish
mining algorithm to fishhash
following the IronFish hard fork
https://fips.ironfish.network/fips/fip-10-hardfork-1.
Step 1. Check prerequisites
Make sure:
- Miner version is 1.15.1 or newer
- You are mining to one of the pools that support the auto-switch. At the time of
writing this guide those are:
- Herominers
- Kryptex
- The algorithm you are mining is either
ironfish
orironfish+zil
. Other dual and triple mining modes are not supported. - Built-in watchdog is enabled (it is always enabled unless the miner is run with
--no-watchdog
)
Step 2. Enable the auto-switch
Modify your existing config by passing an extra --enable-fork
parameter
to explicitly opt in for this feature.
Step 3. Set up overclock
:warning: Warning: If you skip this step, the miner will be mining fishhash
with GPU stock settings potentially drawing a lot of power which may overload your PSUs.
If you overclock your GPUs by using miner parameters (as opposed to MSI Afterburner
or your mining OS overclocking tool), you need to specify them for fishhash
too
so that the miner would apply them after switching to the new algo.
You can do so by prefixing the relevant entries with [fork]
, for example:
IRON only
Old config:
--lock-cclock 1470 --lock-mclock 810 --cclock 100
New config:
--lock-cclock 1470 --lock-mclock 810 --cclock 100 // ironfish OC (pre-fork)
--lock-cclock [fork]1300 --lock-mclock [fork]X --mclock [fork]700 // fishhash OC (post-fork)
IRON+ZIL
Old config:
--lock-cclock [1]1470 --lock-mclock [1]810 --cclock [1]100
--lock-cclock [2]1200 --lock-mclock [2]X --mclock [2]1000
New config:
--lock-cclock [1]1470 --lock-mclock [1]810 --cclock [1]100 // ironfish OC (pre-fork)
--lock-cclock [fork][1]1300 --lock-mclock [fork][1]X --mclock [fork][1]700 // fishhash OC (post-fork)
--lock-cclock [2]1200 --lock-mclock [2]X --mclock [2]1000 // zil OC (both pre- and post-fork)
See full examples in iron-fork
and iron-zil-fork
script files in the miner archive.
:bulb: Reminder: if you're running Linux, don't forget to halve your memory offsets for Rigel (set the same values as if you were running Windows).
:bulb: Tip: you can simulate post-fork miner behaviour by using --activate-fork
parameter. This is a good way to verify that the fishhash
OC settings are set correctly.
You may want to use the testnet endpoint of your pool for this particular test.
FAQ
What happens at the time of the fork?
When the network reaches block 503338, the pool will send a signal to the mining client
telling it to switch the algorithm. The watchdog will then restart the miner with a new,
post-fork, config, and the miner will reconnect to the same pool using a new protocol
and start mining fishhash
.
What do I do after the fork?
After IronFish has switched over to fishhash
, it is time to change your Rigel config back
to normal, namely remove --enable-fork
, all [fork]
prefixes, old ironfish
settings,
and change the algorithm to -a fishhash
or -a fishhash+zil
.
What should I do as a pool operator to support the auto-switch?
You need to send the following notification message to the mining clients connected via stratum v2 in order for them to restart and reconnect using stratum v3:
{"id":<your request id>,"method":"mining.fork","body":{}}
:warning: This would only work if your pool's post-fork fishhash
stratum URL is the same as
pre-fork ironfish
.