Author

Topic: [BBR] Pool-developers thread (Read 3429 times)

legendary
Activity: 1106
Merit: 1000
June 01, 2014, 12:39:52 PM
#14
Any update?
hero member
Activity: 976
Merit: 646
May 29, 2014, 05:52:15 AM
#13
full member
Activity: 224
Merit: 100
full member
Activity: 224
Merit: 100
May 28, 2014, 02:02:39 PM
#11
I have chatted with Zone117x, he is the developer of the cryptonote open source pool.
http://www.extremepool.org
http://mro.extremepool.org
http://bcn.extremepool.org
http://bcn.extremepool.org

He has told me he is backed up with projects but if a bounty was available and worthwhile he could look at the code and make it work with boolberry.

So this is the office notice of a POOL BOUNTY!!

donation address for the pool bounty are 1EAMdQQcYjw1PYY2oZPmywTNra3sySBds8VjvfyoZPBjU7ZY4YwcVUebhGp6xQRpr1ZdVYUvP21kTHW gAHZk4hViUH4mq7c

I will setup a specific thread given updates on the balance as we go. 

PM or message me with questions.
full member
Activity: 224
Merit: 100
May 28, 2014, 12:52:53 PM
#10
I think the problem is with the address validator.
sr. member
Activity: 308
Merit: 250
May 28, 2014, 12:50:09 PM
#9
I think  something is wrong in the above output, I am almost done with setting stuff up and I can test.

I got error becouse https://github.com/LucasJones/node-cryptonote-util use
Code:
#include "cryptonote_core/cryptonote_basic.h"
#include "cryptonote_core/cryptonote_format_utils.h"
#include "cryptonote_protocol/blobdatatype.h"

instead

Code:
#include "currency_core/cryptonote_basic.h"
#include "currency_core/cryptonote_format_utils.h"
#include "currency_protocol/blobdatatype.h"

from Boolberry sources

But I don't know how build node-cryptonote-util with my local changes
full member
Activity: 224
Merit: 100
May 28, 2014, 12:37:05 PM
#8
I think  something is wrong in the above output, I am almost done with setting stuff up and I can test.
sr. member
Activity: 308
Merit: 250
May 28, 2014, 11:58:38 AM
#7
I tried to run pool. Use node-cryptonote-pool.
Got errors

Pool output, simpleminer use tcp connect
Code:
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message GET /json_rpc HTTP/1.1
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message Host: 127.0.0.1
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message Content-Length: 377
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message {
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message   "id": "0",
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message   "jsonrpc": "2.0",
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message   "method": "login",
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message   "params": {
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message     "agent": "simpleminer\/0.1",
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message     "hi": {
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message       "block_id": "0000000000000000000000000000000000000000000000000000000000000000",
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message       "height": 0
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message     },
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message     "login": "1FUtZJ9Ao8qg1MiNa6RfRJKY4aFH885wD13Lf6U7xL4FS58f7i6CYL58s8dg2aV8maRzzaQG1c1kCTMDw8LKAEG5LQsW7M8",
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message     "pass": "anypas"
2014-05-28 18:53:24 [Pool]      (Thread 20) [TCP Server] Malformed message   }


Pool output, simpleminer use http connect
Code:
2014-05-28 18:56:05 [Pool]      (Thread 17) [TCP Server] Started server listening on port 7777

/root/pool/lib/pool.js:122
        return cnUtil.convert_blob(this.buffer).toString('hex');
                      ^
Error: Failed to parse block
    at Object.BlockTemplate.nextBlob (/root/pool/lib/pool.js:122:16)
    at Object.Miner.getJob (/root/pool/lib/pool.js:262:41)
    at handleMinerMethod (/root/pool/lib/pool.js:483:28)
    at IncomingMessage. (/root/pool/lib/pool.js:733:17)
    at IncomingMessage.EventEmitter.emit (events.js:92:17)
    at _stream_readable.js:919:16
    at process._tickCallback (node.js:419:13)
2014-05-28 18:56:06 [Master]    [Pool Spawner] Fork 21 died, spawning replacement worker...

simpleminer output
Code:
2014-May-28 18:53:51.128792 Connecting 127.0.0.1:5555....
2014-May-28 18:53:51.129169 Connected 127.0.0.1:5555 OK
2014-May-28 18:54:11.129492 Failed to invoke http request to  /json_rpc
2014-May-28 18:54:11.129597 Failed to invoke login 127.0.0.1:5555, disconnect and sleep....
2014-May-28 18:54:12.129739 Connecting 127.0.0.1:5555....
2014-May-28 18:54:12.130071 Connected 127.0.0.1:5555 OK
^B2014-May-28 18:54:32.130387 Failed to invoke http request to  /json_rpc
2014-May-28 18:54:32.130485 Failed to invoke login 127.0.0.1:5555, disconnect and sleep....

Pool config.json
Code:
/pool# cat config.json
{

    "coin": "boolberry",
    "symbol": "BBR",

    "logLevel": "debug",
    "logColors": true,

    "coinUnits": 1000000000000,

    "poolHost": "79.135.200.61",

    "irc": "irc.freenode.net/#monero",

    "email": "[email protected]",

    "cryptonatorWidget": "num=2&base_0=Monero%20(MRO)&target_0=Bitcoin%20(BTC)&base_1=Monero%20(MRO)&target_1=US%20Dollar%20(USD)",

    "easyminerDownload": "https://github.com/zone117x/cryptonote-easy-miner/releases/",

    "simplewalletDownload": "http://bit.ly/monero-starter-pack",

    "blockchainExplorer": "http://monerochain.info/block/",

    "poolServer": {
        "enabled": true,
"clusterForks": "auto",
        "poolAddress": "1CNRq4Tt7NWLSSopq42FtigXr3KZfnxnbckNTkMyJUr1VKL68eB3vbw8p9XH7L3EuCKRrY25mmPcBBnWuNi9RMsWFCMZAgY",
        "blockRefreshInterval": 1000,
        "minerTimeout": 900,
        "ports": [
            {
                "port": 5555,
                "protocol": "tcp",
                "difficulty": 200,
                "desc": "Mid range CPUs"
            },
            {
                "port": 7777,
                "protocol": "tcp",
                "difficulty": 2000,
                "desc": "High end CPUs"
            },
            {
                "port": 1111,
                "protocol": "http",
                "difficulty": 500,
                "desc": "Old protocol"
            }
        ],
        "varDiff": {
            "minDiff": 2,
            "maxDiff": 10000,
            "targetTime": 100,
            "retargetTime": 30,
            "variancePercent": 30,
            "maxJump": 1000
        },
        "shareTrust": {
            "enabled": true,
            "min": 10,
            "stepDown": 3,
            "threshold": 10,
            "penalty": 30
        },
        "longPolling": {
            "enabled": true,
            "timeout": 8500
        },

        "banning": {
            "enabled": true,
            "time": 600,
            "invalidPercent": 25,
            "checkThreshold": 30
        }
    },

    "payments": {
        "enabled": false,
        "transferFee": 5000000000,
        "interval": 30,
        "poolFee": 2,
        "depth": 60,
        "maxAddresses": 50
    },

    "api": {
        "enabled": false,
        "hashrateWindow": 600,
        "updateInterval": 3,
        "port": 8117
    },

    "daemon": {
        "host": "127.0.0.1",
        "port": 10102
    },

    "wallet": {
        "host": "127.0.0.1",
        "port": 10101
    },

    "redis": {
        "host": "127.0.0.1",
        "port": 6379
    }
}

sr. member
Activity: 308
Merit: 250
May 28, 2014, 09:00:23 AM
#6


Technical details:
Now simpleminer is back, and several instances could work directly with daemon, as a clear example of shared work with blockchain-based scratchpad.
Hope this code let developers to organize pools for our project.

Code:
simpleminer --login=anyname --pass=anypas --pool-addr=127.0.0.1:50102
50102 - rpc port for testnet, i recommend you to try there, since it is possible there to find a block pretty fast.

Goog luck!

Wait do you mean that I can mine to demon from other machines and hash rate will be accumulate ?
sr. member
Activity: 336
Merit: 250
May 28, 2014, 04:49:48 AM
#5
I have a pool up and ready to test, the above link is to the daemon source but is simpleminer included in that source?  I am compiling now just hoping its in there.

It is boolberry project, not just daemon, and simpleminer is included.
full member
Activity: 224
Merit: 100
May 28, 2014, 04:20:42 AM
#4
I have a pool up and ready to test, the above link is to the daemon source but is simpleminer included in that source?  I am compiling now just hoping its in there.
sr. member
Activity: 494
Merit: 250
May 28, 2014, 03:21:44 AM
#2
Anydownload link?
hero member
Activity: 976
Merit: 646
May 28, 2014, 02:40:22 AM
#1
This thread is started to support BBR pool-developers.
I'll help with techincal questions, expanding API or solving problems.

Why creating pool for BBR is a good idea ?
1. No doubt that a lot of people looking for pool for BBR.
2. You can offer alias registering service with pool, extra earning for each block. I'm personally ready to pay 5 BBR to pool for registering for me alias @obama(later i'll sell it to him)
3. Unlike other CryptoNote-family, BBR PoW hash is easy to check - less resources and less complicated backend (you don't need tho check only every hundredth share).


Technical details:
Now simpleminer is back, and several instances could work directly with daemon, as a clear example of shared work with blockchain-based scratchpad.
Hope this code let developers to organize pools for our project.
Notice: it's just a working example, it is not production code, and it's not optimized for trafic usage, so it's up to the pool developer.
Notice: At start simpleminer downloads whole scratchpad (it could be pretty big, estimate 90MB/year, at moment of writing this message it was about 2MB). Obviously pool client have to store this scratchpad somewhere on disk, to avoid traffic overhead.
To check work of simpleminer you need to run daemon as usual, and than start simpleminer:
Code:
simpleminer --login=anyname --pass=anypas --pool-addr=127.0.0.1:50102
50102 - rpc port for testnet, i recommend you to try there, since it is possible there to find a block pretty fast.

Goog luck!
Jump to: