Idex Staking with Replicator on Windows using Hyper-v

I spent a good chunk of time working through this, so thought I’d write something up for others that might make use of it.

I have my main desktop running 24/7 anyway, so instead of paying for a VPS, I’ve been running the idex staker in a vm via Hyper-v. However, after installing the recently released Replicator staking software, I couldn’t successfully connect without doing some stuff…

When I first started running the new Replicator client, all I could see were repeated “Sending Keep Alive” messages when I took a look at the logs. Someone in the Discord channel tipped me off that I’ll need to set up port forwarding.

Following this guide, I set up a static IP, logged into my router, and set up port forwarding using this new static IP.

After checking the Replicator logs, I saw a new status on the status page “Unhealthy”, as well as new entries in the logs:

However, I shortly learned this wasn’t really a step in the right direction. When using Hyper-v, you need to set up an external virtual switch in order to access the host’s network and properly have the data go through. I found and followed the instructions in the selected answer here. At the end of that is a link to another guide on configuring a static IP in linux itself (the vm).

The only “gotcha” to look out for there is when editing the netplan configuration file. Under “ethernets:”, make sure to put the proper one for your instance. You can find yours by running the ip address command. The one you want is the 2nd listed:

If you followed the above, at this point you should have an external switch created and assigned to your vm, and a static IP set for the vm. Running ip address should show that static IP assigned.

The last step is to log into your router interface and set up port forwarding using the static IP assigned to your vm:

The above will of course look different for you depending on your modem or router.

…And that’s it! Hopefully, like me, you’ll see success messages in the logs and the coveted “online” status on the Replicator staking status page.

Edit:

There’s ongoing issues in Windows 10 and Hyper-V where (and it seems to affect intel adapters more often than others) once the external switch is enabled and the bridge is created, the host download speed plummets to ~2–10% of expected. Searching online you’ll find a plethora of potential fixes. Unfortunately, troubleshooting and fixing this proved rather finicky for me (as well as others from what I can tell).

Here’s what worked for me:

From the device manager, expand Network adapters, find the “Microsoft Network Adapter Multiplexor Driver” and open its properties.

Under Advanced, select “Large Send Offload Version 2 (IPV4)” and change the value to “Disabled”.

Unfortunately, it didn’t take the first time for me, so I had to disable and then re-enable the driver, and restart my host machine.

After rebooting, running a bandwidth test showed I had my full download speeds back, and my vm was still able to communicate out via its static IP.