MoneroOcean / xmr-node-proxy

Cryptonote/Forknote/Cryptonight/Light/Heavy coin proxy for nodejs-pool
76 stars 61 forks source link

How to configure this proxy to support the algo-auto-switching feature of MoneroOcean? #107

Open CrazyBoyFeng opened 5 years ago

CrazyBoyFeng commented 5 years ago

Can this proxy auto select the max-profit-algo for the miners (such as xmrig) based on the calibration/benchmarking of miners?

"pools": [
    {
      "hostname": "gulf.moneroocean.stream",
      "algo": "cn/r",
...
    },{
      "hostname": "gulf.moneroocean.stream",
      "algo": "cn/heavy",
...
    },{
      "hostname": "gulf.moneroocean.stream",
      "algo": "cn/gpu",
...
    }
  ],

Is this right?

qutimqqcom commented 5 years ago
  "hostname": "gulf.moneroocean.stream",
  "algo": "cn/r",

after worker connect

proxy send to pool all supported algo and power

then pool calculate more profitable algo

1|proxy | 2019-09-08 20:38:28:825 +03:00: Setting common algo: ["cn/1","cn/2","cn/0","cn/xtl","cn/msr","cn/xao","cn/rto","cn/half","cn/wow","cn/r","cn/rwz","cn/zls","cn/double","cn-lite/1","cn-lite/0","cn-heavy/0","cn-heavy/xhv","cn-heavy/tube","cn-pico/trtl"] with algo-perf: {"cn":16687.24464416504,"cn/2":17570.07363319397,"cn/half":15147.876152038574,"cn/gpu":959.2593493461609,"cn/r":15626.660610198975,"cn/rwz":21301.646564483643,"cn/zls":22151.784564971924,"cn/double":3143.9067707061768,"cn-lite":20929.852138519287,"cn-heavy":3882.754291534424,"cn-pico":89507.46105957031} for pool XMR

CrazyBoyFeng commented 4 years ago
  "hostname": "gulf.moneroocean.stream",
  "algo": "cn/r",

after worker connect

proxy send to pool all supported algo and power

then pool calculate more profitable algo

1|proxy | 2019-09-08 20:38:28:825 +03:00: Setting common algo: ["cn/1","cn/2","cn/0","cn/xtl","cn/msr","cn/xao","cn/rto","cn/half","cn/wow","cn/r","cn/rwz","cn/zls","cn/double","cn-lite/1","cn-lite/0","cn-heavy/0","cn-heavy/xhv","cn-heavy/tube","cn-pico/trtl"] with algo-perf: {"cn":16687.24464416504,"cn/2":17570.07363319397,"cn/half":15147.876152038574,"cn/gpu":959.2593493461609,"cn/r":15626.660610198975,"cn/rwz":21301.646564483643,"cn/zls":22151.784564971924,"cn/double":3143.9067707061768,"cn-lite":20929.852138519287,"cn-heavy":3882.754291534424,"cn-pico":89507.46105957031} for pool XMR

Thanks. I have a try and find the proxy always switch all the miners' algo together. This is not smart. It is unreasonable to use the rx-algo on a small RAM machine.

Spudz76 commented 4 years ago

Is the above bug true? Why would it not coin-switch on a per-miner basis just like the upstream pool?

CrazyBoyFeng commented 4 years ago

Is the above bug true? Why would it not coin-switch on a per-miner basis just like the upstream pool?

Because It simply adds up all the miners' algo-perf data as the proxy's. See: https://github.com/MoneroOcean/xmr-node-proxy/blob/cfd9119091fb10a24cd538a7c8103d7954965497/proxy.js#L698

I think it works by uploading algo-perf data then letting the pool decide what algo-job sent to miners/proxies. The proxy just receives jobs and assigns to the miners. If we want smarter proxies, we need to ask the (MoneroOcean) pool for improvement on the extend stractum protocol to send the coefficient of algos to miners/proxies.

metal3d commented 10 months ago

In my case, the algo is always set lke this:

Setting common algo: ["cn/0","cn/1","cn/2","cn/r","cn/fast","cn/half","cn/xao","cn/rto","cn/rwz","cn/zls","cn/double","cn/ccx","cn-lite/0","cn-lite/1","cn-heavy/0","cn-heavy/tube","cn-heavy/xhv","cn-pico","cn-pico/tlo","cn/upx2","rx/0","rx/wow","rx/arq","rx/graft","rx/sfx","rx/keva","argon2/chukwa","argon2/chukwav2","argon2/ninja","kawpow","ghostrider"] with algo-perf: {"rx/0":1,"rx/loki":1} for pool gulf.moneroocean.stream

Does it mean that moneroocean stopped to propose GPU capable algo ?

Whatever I do, xmrrig client fails on GPU (COMPUTE ERROR) using only rx/0 - it never proposes others.