Miner.farm Crypto Currency Community Forum

Browse and post your favorite coin/crypto news, miner.farm and PiMP OS updates and announcements, mining guides, overclocking tips, and more...

Quick Links


[Guide] XMRig-Proxy


  • Support

    PiMP OS has recently added XMRig-Proxy to the available miners and this post is here to answer all your XMRig-Proxy questions.

    1. What is XMRig-Proxy:

    Although it is added and setup like a miner inside PiMP OS, XMRig-Proxy is not a miner. Instead, it acts as a proxy to a mining pool for multiple instances of XMRig miners.

    In other words, XMRig-Proxy connects to a mining pool and then acts like a central hub for multiple individual XMRig instances to connect to.

    Normal Operations:
    
    XMRig-01 <---> Internet <---> Pool
    XMRig-02 <---> Internet <---> Pool
    XMRig-03 <---> Internet <---> Pool
    
    Proxied Operations:
    
    XMRig-01
    XMRig-02 <---> XMRig-Proxy <---> Internet <---> Pool
    XMRig-03
    

    Okay, now that we know what it does, the next question we need to answer is why should we use it.

    Reason 1: Miner.Farm stats from XMRig running on non-PiMP OS rig.

    The best way to explain this one is to give you my use-case as an example.

    I have a Windows Gaming PC that I mine on when I'm not gaming. It's pretty straight forward... I just run the Windows build of XMRig on this machine and point it at the mining pool... a lot like how PiMP OS does. The only problem is that none of this mining is able to be monitored in Miner.Farm.

    The fix is to simply run XMRig-Proxy on my PiMP OS rig, point it at the pool, then point XMRig (on my gaming PC) to XMRig-Proxy on the PiMP OS rig.

    Normal Operation: (No Miner.Farm Monitoring)
    
    Gaming PC <---> Internet <---> Pool
    Mining Rig (PiMP OS) <---> Internet <---> Pool & Miner.Farm
    
    Proxied Operation: (Includes Miner.Farm Monitoring)
    
    Gaming PC <---> XMRig-Proxy (PiMP OS) <---> Internet <---> Pool & Miner.Farm
    
    Gaming PC Reporting to Miner.Farm. Gaming PC Reporting to Pool
    1b7b2a6a-3bbe-496e-a66f-5f1066998965-image.png 189900cb-a65f-491f-b5df-28202b5042f3-image.png

    Reason 2: XMRig-Proxy allows multiple low hashrate devices to work together.

    This too is probably best explained by another use-case example.

    I recently put together a small mining cluster made up of 5 old Samsung Galaxy J7 cell phones. (Link Here)

    These devices can only mine at about 40 h/s, which is pretty low. This also means that the number of shares submitted to a pool will be very low. Most pools expect a constant share submission in order to determine an effective hashrate and to determine whether or not the device is "alive" or "dead". Some pools might even block devices that are running at such a low hashrate.

    This is where XMRig-Proxy comes in to save the day.

    Instead of pointing each J7 directly to the pool, I setup another XMRig-Proxy instance on my PiMP OS rig, point it at the pool, then point all 5 of the J7's at XMRig-Proxy running on my PiMP OS rig. This allows all 5 devices to be presented to the pool as a single device with a higher combined hashrate and share submissions. Bonus: This mining is also now able to be monitored via Miner.Farm!

    Normal Operations: (No Miner.Farm Monitoring)
    
    J7-01 <---> Internet <---> Pool
    J7-02 <---> Internet <---> Pool
    J7-03 <---> Internet <---> Pool
    J7-04 <---> Internet <---> Pool
    J7-05 <---> Internet <---> Pool
    Mining Rig (PiMP OS) <---> Internet <---> Pool & Miner.Farm
    
    Proxied Operations: (Includes Miner.Farm Monitoring)
    
    J7-01
    J7-02
    J7-03 <---> XMRig-Proxy (PiMP OS) <---> Internet <---> Pool & Miner.Farm
    J7-04
    J7-05
    
    Android Cluster Reporting to Miner.Farm Android Cluster Reporting to Pool
    a2bba656-2deb-4cf4-b0f8-5bd674187d09-image.png 5552499f-dbe4-428c-ae4c-41d035a9b692-image.png
    2. How to Setup XMRig-Proxy in PiMP OS

    First thing you'll want to do is to make sure you're on the most current pimpup. Do this by running pimpup and answer "Yes" to any prompts asking if you want to update.
    (Note: You may be prompted to run pimpup a second time. If this happens, just run pimpup again.)

    When pimpup completes, you should be presented with a list of available miners. To make sure that XMRig-Proxy is installed/updated on your rig, enter the number that corresponds to XMRig-Proxy and press enter. This will install/update XMRig-Proxy on your rig.

    At this point we are ready to add XMRig-Proxy to our Active miners. We do this the exact same way we would add a regular miner. First, run pimp --add to get a list of all the miners available. Search this list for XMRig-Proxy and note the 4 digit number assigned to it (as of this writing, it was 3161).

    Next, run pimp --add #### (i.e. pimp --add 3161) to add the miner. You can verify the miner was added by running pimp --list which will show you a list of currently added miners. This will also show you the Miner ID's that have been assigned to all of your miners. Take note of the Miner ID that was assigned to the XMRig-Proxy that we just added.

    pimpup example pimp --add example pimp --add 3161 & pimp --list
    085605f6-fd35-4a25-a285-493e2f54aaa3-image.png 77d74f4a-5a6f-4ec8-b19b-6835f61d5dba-image.png 0675b9ea-ee83-45cc-83e3-4c1403520b21-image.png

    Wait!!! What if I want/need to run multiple instances of XMRig-Proxy on my PiMP OS machine? - Just check out my post on exactly how to do this: [Guide] How to Run Duplicate Miners in PiMP OS

    3. Configure XMRig-Proxy in PiMP OS

    Configuring XMRig-Proxy in PiMP OS is just like configuring a regular miner. Simply run edit # (where # is the Miner ID listed in the output of pimp --list)

    46eb1730-6294-4e5d-a7f1-ab0d6b7452ea-image.png

    You'll want to adjust the POOL1, USER1, PASS1, and ALGO1 to the correct information for your setup and desired pool... Yes, just like it was an actual miner.

    In the FLAGS= section, you can leave the defaults, but make sure to adjust the --api-worker-id to the worker name you want reported to the pool (make it match the <worker_name> in the USER1=<wallet>.<worker_name> section if you used one).

    --custom-diff <value> allows you to set a custom difficulty for your attached devices. This is very helpful if you're going to be connecting a lot of weaker devices together as one worker to the pool. You'll need to add the custom-diff-stats when you use this, so that your devices can properly report their hashrates to XMRig-Proxy.

    The last flag I will cover here is the --bind <ip>:<port>. Remember what XMRig-Proxy does: It acts as a proxy to the pool for external devices. Instead of telling our devices to connect to the pool, we tell them to connect to XMRig-Proxy instead. That means we will use the IP address of our PiMP OS rig (running XMRig-Proxy) and the port number we assign via this flag.

    • Set the <ip> to "0.0.0.0" to allow any device on your network to connect. (recommended)
    • Set the <port> to an unused port on your rig. (Remember this port number, because we'll need it when we setup our devices.)

    Pro Tip1: Don't make this harder than it needs to be. There's no need to have to keep track of multiple port numbers, just use something close the the port number of XMRig-Proxy running on your machine. What I mean is, every miner runs on a specific port in PiMP OS. Miner #1 = 4028, Miner #2 = 4029, Miner #3 = 4030, etc... So for your --bind <ip>:<port> flag, use the same number of your miner, but change the first number from 4 to say 3. For example, let's say your XMRig-Proxy is running as Miner #2 (port 4029 on your PiMP OS rig), set your flag to --bind 0.0.0.0:3029. 4029 for XMRig-Proxy and 3029 for your bind port. Now you don't have to keep track of each number, just know that the first number is always 3 and the rest matches the XMRig-Proxy port running on PiMP OS.

    Oh, I almost forgot, if you'd like a bit more output on the screen while the miner is running, feel free to add the --verbose flag.

    With XMRig-Proxy all setup, all you need to do now is fire it up just like you would a regular miner. Run pimp --test # (where # is the miner ID for XMRig-Proxy in the output of pimp --list). You could also just use pimp --start #, but then you wouldn't see it working. pimp --debug # will also work.

    f98d797c-9af0-4278-a39f-1a885a02bfd4-image.png

    Not very exciting, is it? Well, don't expect too much to happen here.

    Remember, XMRig-Proxy is not a miner. What you will see happen is XMRig-Proxy will connect to the pool and collect work (which will go stale and be dropped since we haven't added any mining devices yet). Before we see any mining action here, we'll need to setup a device with XMRig and point it at our XMRig-Proxy instance.

    4. Pointing XMRig (External) to XMRig-Proxy (PiMP OS)

    Okay, so you managed to make it all the way down here to the last section. Congrats. I know I fell asleep a couple times getting down here myself.

    Anyway, if you've made it this far, then the last thing you need to do is to point one of your external devices (running XMRig) to your running XMRig-Proxy instance... the one we just setup in the last section.

    How do you do it? Well, it's simple: Instead of pointing XMRig to a pool address (and port number), you point it at your PiMP OS rig's IP address and use the port number you set in the --bind <ip>:<port> flag of the XMRig-Proxy config file.

    Here's what it looks like when everything is running correctly:

    XMRig-Proxy (PiMP OS) XMRig (External) Miner.Farm
    3de3b9ad-fb1b-4ec4-a6fb-d3ad9a0f48b9-image.png 686af99b-fbb9-4bd1-8c6e-ba6a843f9f5a-image.png 9b0deedb-096c-4998-a0b7-d3f972795e5a-image.png

    In the above example, I'm showing my Android Cluster (5x Samsung Galaxy J7's running Ubuntu and XMRig compiled for ARMv8) connecting to my PiMP OS rig's XMRig-Proxy.

    Now, before you even ask, I cannot cover how to download/build, setup, or run XMRig on your external devices running Windows, Mac, Linux, etc... that is beyond the scope of this guide.

    What I will do for you, is point you in the right direction. Check out the sites:

    Note: If your external device just happens to be running a Debian-based Linux Distro (i.e. Debian, MX Linux, Ubuntu, Mint, KNOPPIX, Raspbian, Armbian, etc..) Then be sure to check out my XMrig Build script that will build XMRig on your x86-64, ARMv7, and ARMv8 device for you.

    I talk about it in my Android Cluster post: Doc's Android Cluster. (You'll want to scroll down towards the bottom and find the "XMRig Build for ARMv8 (or ARMv7)" section for all the details. (Yes, this script will also work on x86-64 devices too, just follow the directions on the GitHub page).


  • Beta Team

    Flawless documentation. Works as expected.


 



Want 10% more hash from your rigs?



We promise to keep your email safe and never spam you.



© 2014-2020 Miner.farm | By Miners, For Miners | Portable Instant Mining Platform, LLC