bobbieltd / xmr-node-proxy

XNP with algorithm and blob type settings + HTTP rigs monitoring (Based on MoneroOcean)
https://semipool.com
9 stars 8 forks source link

Use of auto coin #1

Closed mefenlon closed 6 years ago

mefenlon commented 6 years ago

Can you explain how to use the auto coin? Should we the "one coin to rule the all" be used in the port settings in config.json?

Ideally I would like to configure a few pools and split the effort between one port. Is this how it works?

//config.json { "pools": [ { "hostname": "gulf.moneroocean.stream", "port": 20064, "ssl": true, "allowSelfSignedSSL": true, "share": 40, "username": "mywallet", "password": "xmr-node-proxy:no@nononono.com", "keepAlive": true, "coin": "xmr", "default": true }, { "hostname": "pool.etn.semipool.com", "port": 9000, "ssl": true, "allowSelfSignedSSL": true, "share": 10, "username": "myetnwallet", "password": "xmr-node-proxy:no@nononono.com", "keepAlive": true, "coin": "etn", "default": true }, { "hostname": "pool.aeon.semipool.com", "port": 9000, "ssl": true, "allowSelfSignedSSL": true, "share": 100, "username": "someonesaepnwallet", "password": "xmr-node-proxy:no@no.com", "keepAlive": true, "coin": "aeon", "default": true }, { "hostname": "pool.itnspool.net", "port": 9000, "ssl": true, "allowSelfSignedSSL": true, "share": 50, "username": "bigbucks", "password": "xmr-node-proxy:no@nononono.com", "keepAlive": true, "coin": "itns", "default": true } ], "listeningPorts": [ { "port": 88443, "ssl": true, "diff": 100, "coin": "auto" // Is this correct? }, { "port": 188443, "ssl": true, "diff": 100, "coin": "aeon" }

], "bindAddress": "192.168.1.1", "developerShare": 0, "daemonAddress": "127.0.0.1:26968", "coinSettings": { "xmr":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "aeon":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "etn":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "bcn":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "sumo":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "itns":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 } } }

rwebb0418 commented 6 years ago

How it's setup is that in the pool and listening ports section where it says coin, you put in auto, and then in the coin settings at the bottom of the config file you need to have a "coin" called auto. All the proportional sharing is done via the pool settings. I found if you use specific coins in the pool settings it threw an error. That's just my experience of all of 10 minutes setting it up and playing with it.

mefenlon commented 6 years ago

can you post an example config? I was also getting the throw error. Traced it to the auto in the port listing like in my config.

rwebb0418 commented 6 years ago

from the config_example.json file:

{ "pools": [ { "hostname": "pool.etn.semipool.com", "port": 7777, "ssl": false, "allowSelfSignedSSL": false, "share": 50, "username": "etnkMVskQTfNtXBf56EZLzg8FhPf7iko9gukXstYX6uYAMHcyTVjkVCfDYkMYBG4T84zYdu8P6BhwEWz2Ab1SDBh7AcmgiPTNf", "password": "nodeproxy", "keepAlive": true, "coin": "auto", "default": true }, { "hostname": "pool.itnspool.net", "port": 7777, "ssl": false, "allowSelfSignedSSL": false, "share": 10, "username": "iz5WBfVURQPSM4tC13xybaKYZVESARDJF78Sh6BHrR1VQrRepJa9prRZS9YwXfggWuQsjMSDNbPj214xEKeURdhH1GhDUtfHP", "password": "proxy:totally.valid@venthos.net", "keepAlive": true, "coin": "auto", "default": true }, { "hostname": "pool.supportxmr.com", "port": 7777, "ssl": false, "allowSelfSignedSSL": false, "share": 20, "username": "42zhPZrn29hhh6v7TCfdydXuMoztiHJKNUiS6LaEGP7nNQA5m8yECK7T3MCC5ZaRDUW2cRYwCGR8VRGxpfpCtscQ7tUxn67", "password": "nodeproxy", "keepAlive": true, "coin": "auto", "default": true }, { "hostname": "gulf.moneroocean.stream", "port": 7777, "ssl": false, "allowSelfSignedSSL": false, "share": 20, "username": "42zhPZrn29hhh6v7TCfdydXuMoztiHJKNUiS6LaEGP7nNQA5m8yECK7T3MCC5ZaRDUW2cRYwCGR8VRGxpfpCtscQ7tUxn67", "password": "nodeproxy", "keepAlive": true, "coin": "auto", "default": true }
], "listeningPorts": [ { "port": 80, "ssl": false, "diff": 100, "coin": "auto" },
{ "port": 2222, "ssl": false, "diff": 100, "coin": "auto" }, { "port": 4444, "ssl": false, "diff": 100, "coin": "auto" }, { "port": 6666, "ssl": false, "diff": 100, "coin": "auto" } ], "bindAddress": "0.0.0.0", "developerShare": 1, "daemonAddress": "127.0.0.1:26968", "coinSettings": { "auto":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 },
"xmr":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "aeon":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "etn":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "grft":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 },
"bcn":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "sumo":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "itns":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 } } }

mefenlon commented 6 years ago

That is great. Thank you. I will give it a try.

With aeon, is this auto possible? I am guessing no since the miners need to specify xmr or aeon in the local config.

rwebb0418 commented 6 years ago

Didn't try it with aeon, just xmr and itns.

bobbieltd commented 6 years ago

@rwebb0418 Thanks for helping me @mefenlon AEON uses Cryptonight-light which is different with other coin, your mining software point Cryptonight to the proxy. If you point Cryptonight “auto” from proxy to AEON pool, the pool will reject it. To make it work with AEON, your back-end software (xmrig, xmr-stak,...) at your PCs need to communicate with proxy “auto” coin and auto-switch algorithm (between Cryptonight and Cryptonight-light) with proxy but no mining software can do it at the moment.

bobbieltd commented 6 years ago

@mefenlon It's backward comptability. All your AEON miners will mine at AEON pools, the other Cryptonight miners will split to three pools. You can use AEON with other coins ( or "auto"). Here is your config.json :

{ "pools": [ { "hostname": "gulf.moneroocean.stream", "port": 20064, "ssl": true, "allowSelfSignedSSL": true, "share": 40, "username": "mywallet", "password": "xmr-node-proxy:no@nononono.com", "keepAlive": true, "coin": "auto", "default": true }, { "hostname": "pool.etn.semipool.com", "port": 9000, "ssl": true, "allowSelfSignedSSL": true, "share": 10, "username": "myetnwallet", "password": "xmr-node-proxy:no@nononono.com", "keepAlive": true, "coin": "auto", "default": true }, { "hostname": "pool.aeon.semipool.com", "port": 9000, "ssl": true, "allowSelfSignedSSL": true, "share": 100, "username": "someonesaepnwallet", "password": "xmr-node-proxy:no@no.com", "keepAlive": true, "coin": "aeon", "default": true }, { "hostname": "pool.itnspool.net", "port": 9000, "ssl": true, "allowSelfSignedSSL": true, "share": 50, "username": "bigbucks", "password": "xmr-node-proxy:no@nononono.com", "keepAlive": true, "coin": "auto", "default": true } ], "listeningPorts": [ { "port": 88443, "ssl": true, "diff": 100, "coin": "auto" // Is this correct? Yes }, { "port": 188443, "ssl": true, "diff": 100, "coin": "aeon" }

], "bindAddress": "192.168.1.1", "developerShare": 0, "daemonAddress": "127.0.0.1:26968", "coinSettings": { "auto":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "xmr":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "aeon":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "etn":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "bcn":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "sumo":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 }, "itns":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 } } }

Editting : add coin setting

mefenlon commented 6 years ago

Thank you everyone. This has been very helpful.

Can someone explain what electroneum.service is doing?

bobbieltd commented 6 years ago

electroneum.service is for my test but it’s useless and I’ll remove it now.

mefenlon commented 6 years ago

Attempted to use auto like the supplied configs

getting this error 6|proxy | TypeError: Cannot read property 'shareTargetTime' of undefined 6|proxy | at new Miner (/home/user/xmr-node-proxy/proxy.js:779:47) 6|proxy | at handleMinerData (/home/user/xmr-node-proxy/proxy.js:857:21) 6|proxy | at handleMessage (/home/user/xmr-node-proxy/proxy.js:992:13) 6|proxy | at TLSSocket. (/home/user/xmr-node-proxy/proxy.js:1050:25) 6|proxy | at emitOne (events.js:96:13) 6|proxy | at TLSSocket.emit (events.js:188:7) 6|proxy | at readableAddChunk (_stream_readable.js:176:18) 6|proxy | at TLSSocket.Readable.push (_stream_readable.js:134:10) 6|proxy | at TLSWrap.onread (net.js:548:20)

bobbieltd commented 6 years ago

In config.json, do you have this :
"coinSettings": { "auto":{ "minDiff": 100, "maxDiff": 300000, "shareTargetTime": 15 },

mefenlon commented 6 years ago

That was it. Thank you.

What is the advantage of running coins in auto over xmr?

mefenlon commented 6 years ago

Do you know of any working sumo pools? I keep getting errors like this

6|proxy | Received new block template from pool.sumokoin.ch 6|proxy | TypeError: First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object. 6|proxy | at fromObject (buffer.js:262:9) 6|proxy | at Function.Buffer.from (buffer.js:101:10) 6|proxy | at new Buffer (buffer.js:80:17) 6|proxy | at new MasterBlockTemplate (/home/user/xmr-node-proxy/lib/auto.js:98:19) 6|proxy | at handleNewBlockTemplate (/home/user/xmr-node-proxy/proxy.js:717:32) 6|proxy | at handlePoolMessage (/home/user/xmr-node-proxy/proxy.js:694:17) 6|proxy | at TLSSocket.socket.on.e (/home/user/xmr-node-proxy/proxy.js:657:17) 6|proxy | at emitOne (events.js:96:13) 6|proxy | at TLSSocket.emit (events.js:188:7) 6|proxy | at readableAddChunk (_stream_readable.js:176:18)

bobbieltd commented 6 years ago

The advantage is that it works with both cryptonote and forknote coin. pool.sumokoin.ch is not nodejs-pool You can mine with HashVault : https://sumokoin.hashvault.pro

bobbieltd commented 6 years ago

Anti-ASIC algorithm change makes one coin name for many cryptocurrenies not possible any more.