Bitcoin Forum
October 22, 2017, 08:48:20 AM *
News: Latest stable version of Bitcoin Core: 0.15.0.1  [Torrent]. (New!)
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: [BBR] Pool-developers thread  (Read 3233 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
crypto_zoidberg
Hero Member
*****
Offline Offline

Activity: 672


View Profile WWW
May 28, 2014, 06: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!

boolberry.com
BBR: @zoidberg
1508662100
Hero Member
*
Offline Offline

Posts: 1508662100

View Profile Personal Message (Offline)

Ignore
1508662100
Reply with quote  #2

1508662100
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
dr_chen
Sr. Member
****
Offline Offline

Activity: 247


View Profile
May 28, 2014, 07:21:44 AM
 #2

Anydownload link?
otila
Sr. Member
****
Offline Offline

Activity: 336


View Profile
May 28, 2014, 08:00:27 AM
 #3

Anydownload link?

https://github.com/cryptozoidberg/boolberry
33zer0w0lf
Full Member
***
Offline Offline

Activity: 224


View Profile WWW
May 28, 2014, 08: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.

http://www.extremepool.org (BCN) (MRO) (QCN) (XDN) (BBR) (AEON) (ORION) (DSH) (CRR) (INF8)
otila
Sr. Member
****
Offline Offline

Activity: 336


View Profile
May 28, 2014, 08: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.
cubydu
Sr. Member
****
Offline Offline

Activity: 308


View Profile WWW
May 28, 2014, 01:00:23 PM
 #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 ?

cubydu
Sr. Member
****
Offline Offline

Activity: 308


View Profile WWW
May 28, 2014, 03:58:38 PM
 #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.<anonymous> (/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": "support@cryppit.com",

    "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
    }
}


33zer0w0lf
Full Member
***
Offline Offline

Activity: 224


View Profile WWW
May 28, 2014, 04: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.

http://www.extremepool.org (BCN) (MRO) (QCN) (XDN) (BBR) (AEON) (ORION) (DSH) (CRR) (INF8)
cubydu
Sr. Member
****
Offline Offline

Activity: 308


View Profile WWW
May 28, 2014, 04: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

33zer0w0lf
Full Member
***
Offline Offline

Activity: 224


View Profile WWW
May 28, 2014, 04:52:53 PM
 #10

I think the problem is with the address validator.

http://www.extremepool.org (BCN) (MRO) (QCN) (XDN) (BBR) (AEON) (ORION) (DSH) (CRR) (INF8)
33zer0w0lf
Full Member
***
Offline Offline

Activity: 224


View Profile WWW
May 28, 2014, 06: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.

http://www.extremepool.org (BCN) (MRO) (QCN) (XDN) (BBR) (AEON) (ORION) (DSH) (CRR) (INF8)
33zer0w0lf
Full Member
***
Offline Offline

Activity: 224


View Profile WWW
May 28, 2014, 06:06:21 PM
 #12

https://bitcointalk.org/index.php?topic=629161.new#new

http://www.extremepool.org (BCN) (MRO) (QCN) (XDN) (BBR) (AEON) (ORION) (DSH) (CRR) (INF8)
crypto_zoidberg
Hero Member
*****
Offline Offline

Activity: 672


View Profile WWW
May 29, 2014, 09:52:15 AM
 #13

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.<anonymous> (/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": "support@cryppit.com",

    "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
    }
}

OMG.
This is not cryptonote pool client, this is GUIDE OF HOW TO CREATE POOL, like SDK.
Don't use it for mining, it's not optimized well for traffic and speed.

boolberry.com
BBR: @zoidberg
digicoin
Legendary
*
Offline Offline

Activity: 1092



View Profile
June 01, 2014, 04:39:52 PM
 #14

Any update?
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!