UNOMP / node-merged-pool

High performance Stratum poolserver in Node.js
GNU General Public License v2.0
77 stars 119 forks source link

digibyte coin - groestlmyriad coin block-rejected! #16

Open trustethorg opened 6 years ago

trustethorg commented 6 years ago

I've setup digibyte myriad groestl algorithm for POOL. also, changed to support myr-groestl hashing.

changed things: multi-hashing support myr-groestl for digibyte. getinfo api -> getblockchaininfo() , getnetworkinfo() , ... for interfacing with digibyte latest daemon. adds algoProperties.js to support myr-groestl procedure to produce. There's several days of mining. finally I found 3 blocks. but, NOMP said "(Thread 4) We thought a block was found but it was rejected by the daemon, share data: {"job":"a8d","ip":"18x.x.x.64","port":3270,"worker":"D8xq5XPZKAYMQ-----------------------,"height":6260408,"blockReward":79656798873,"difficulty":32,"shareDiff":"362533.21566225","blockDiff":314672.733261021,"blockDiffActual":314672.733261021,"blockHash":"0000000000002e46eb5923a74fe9150834595ead2c891364b2b0e673f02ba2f6"} 2018-03-17 04:47:41 [Pool] [digibyte-groestl] (Thread 4) Share accepted at diff 32/362533.21566225 by D8xq5XPZKAYMQC314V5z-------------- [x.x.x.x] "

I don't know , why this happen, and digibyte daemon logs says nothing.

ambiguity points I also need to change node-stratum on jobManager.js

for groestlmyriad ? following is original code of node-stratum

    var coinbaseHasher = (function(){
        switch(options.coin.algorithm){
            case 'keccak':
            case 'blake':
            case 'fugue':
            case 'groestl':
                if (options.coin.normalHashing === true)
                    return util.sha256d;
                else
                    return util.sha256;
            default:
                return util.sha256d;
        }
    })();

setup what I tested. coins/digibyte.groestl.conf

{
    "name": "digibyte-groestl",
    "symbol": "DGB",
    "algorithm": "groestlmyriad"
}

pool_configs/digibyte.conf

{
    "enabled": true,
    "coin": "digibyte.groestl.json",

    ....

    "daemons": [
        {
            "host": "127.0.0.1",
            "port": 14022,
            "user": "no---",
            "password": "D5wwk5kzlQSdCHi------------------p"
        }
    ],

    "p2p": {
        "enabled": true,
        "host": "127.0.0.1",
        "port": 12024,
        "disableTransactions": false
    },

digibyte daemon configuration.

rpcport=14022
port=12024
daemon=1
listen=1
server=1
algo=groestl
rpcworkqueue=32

blocknotify=/home/nomp/nomp/nodeomp/scripts/blocknotify 127.0.0.1:17117 digibyte-groestl %s