Bitcoin Forum
May 05, 2024, 03:30:36 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 »  All
  Print  
Author Topic: CKPOOL - Open source pool/proxy/passthrough/redirector/library in c for Linux  (Read 123941 times)
Subw
Hero Member
*****
Offline Offline

Activity: 672
Merit: 500


View Profile
February 14, 2016, 01:21:16 AM
 #181

yes looks like only MRR doing this, tried stratum.f2pool.com and it is fine too
1714923036
Hero Member
*
Offline Offline

Posts: 1714923036

View Profile Personal Message (Offline)

Ignore
1714923036
Reply with quote  #2

1714923036
Report to moderator
1714923036
Hero Member
*
Offline Offline

Posts: 1714923036

View Profile Personal Message (Offline)

Ignore
1714923036
Reply with quote  #2

1714923036
Report to moderator
Every time a block is mined, a certain amount of BTC (called the subsidy) is created out of thin air and given to the miner. The subsidy halves every four years and will reach 0 in about 130 years.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714923036
Hero Member
*
Offline Offline

Posts: 1714923036

View Profile Personal Message (Offline)

Ignore
1714923036
Reply with quote  #2

1714923036
Report to moderator
1714923036
Hero Member
*
Offline Offline

Posts: 1714923036

View Profile Personal Message (Offline)

Ignore
1714923036
Reply with quote  #2

1714923036
Report to moderator
WBF1
Sr. Member
****
Offline Offline

Activity: 419
Merit: 250


View Profile
February 14, 2016, 12:53:47 PM
 #182

Hi ck

I'm getting the same errors over and over. I cloned and built from commit db42a13. Built with all dependencies satisfied. No build problems that I can remember. Running from build directory, not installed. Environment is 32-bit Arch Linux Arm running on a Raspberry Pi2. I haven't yet taken a dive into the lines of code specified here. Was hoping maybe this is something you've encountered before with an easy fix. Any help/pointers would be much appreciated.

Looks to me like stratifier and generator are not starting. I checked and all the sockets and such are getting successfully created in /tmp/ckpool. bitcoind is slow in responding sometimes on this box. Not sure if that could cause this issue.

command line:

Code:
./ckpool -k -A -c ../ckproxy2.conf

ckproxy2.conf:

Code:
{
"btcd" :  [
        {
                "url" : "localhost:8332",
                "auth" : "[user]",
                "pass" : "[pass]"
        }
],
"update_interval" : 30,
"serverurl" : [
        "127.0.0.1:3334"
        ],
"mindiff" : 1,
"startdiff" : 1000,
"maxdiff" : 0,
"logdir" : "logs",
"btcaddress" : "[address]",
"btcsig" : "[sig]"
}

console output:

Code:
[2016-02-14 07:35:22.481] ckpool stratifier starting
[2016-02-14 07:35:22.481] ckpool generator starting
[2016-02-14 07:35:22.482] ckpool connector starting
[2016-02-14 07:35:22.483] ckpool connector ready
[2016-02-14 07:35:27.484] Select1 failed in recv_unix_msg (2) with errno 2: No such file or directory
[2016-02-14 07:35:27.485] Failure in recv_unix_msg from stratifier.c stratifier:7546 with errno 2: No such file or directory
[2016-02-14 07:35:27.485] Failure in send_recv_proc from stratifier.c stratifier:7546 with errno 2: No such file or directory
[2016-02-14 07:35:32.487] Select1 failed in recv_unix_msg (2) with errno 2: No such file or directory
[2016-02-14 07:35:32.488] Failure in recv_unix_msg from stratifier.c stratifier:7546 with errno 2: No such file or directory
[2016-02-14 07:35:32.488] Failure in send_recv_proc from stratifier.c stratifier:7546 with errno 2: No such file or directory
[2016-02-14 07:35:37.490] Select1 failed in recv_unix_msg (2) with errno 2: No such file or directory

log output:

Code:
[2016-02-14 07:35:22.475] Setting maxclients to 921 due to max open file limit of 1024
[2016-02-14 07:35:22.481] ckpool stratifier starting
[2016-02-14 07:35:22.475] Setting maxclients to 921 due to max open file limit of 1024
[2016-02-14 07:35:22.481] ckpool generator starting
[2016-02-14 07:35:22.482] ckpool connector starting
[2016-02-14 07:35:22.483] ckpool connector ready
[2016-02-14 07:35:27.484] Select1 failed in recv_unix_msg (2) with errno 2: No such file or directory
[2016-02-14 07:35:27.485] Failure in recv_unix_msg from stratifier.c stratifier:7546 with errno 2: No such file or directory
[2016-02-14 07:35:27.485] Failure in send_recv_proc from stratifier.c stratifier:7546 with errno 2: No such file or directory
[2016-02-14 07:35:32.487] Select1 failed in recv_unix_msg (2) with errno 2: No such file or directory
[2016-02-14 07:35:32.488] Failure in recv_unix_msg from stratifier.c stratifier:7546 with errno 2: No such file or directory
[2016-02-14 07:35:32.488] Failure in send_recv_proc from stratifier.c stratifier:7546 with errno 2: No such file or directory
-ck (OP)
Legendary
*
Offline Offline

Activity: 4102
Merit: 1632


Ruu \o/


View Profile WWW
February 14, 2016, 01:01:25 PM
 #183

Environment is 32-bit ...
Ckpool demands a 64 bit environment and I have no interest in creating support for 32 bits sorry.

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
WBF1
Sr. Member
****
Offline Offline

Activity: 419
Merit: 250


View Profile
February 14, 2016, 05:17:22 PM
 #184

Environment is 32-bit ...
Ckpool demands a 64 bit environment and I have no interest in creating support for 32 bits sorry.

Interesting. Thanks for clearing that up.
WBF1
Sr. Member
****
Offline Offline

Activity: 419
Merit: 250


View Profile
February 17, 2016, 03:19:50 AM
 #185

Interestingly, it may actually have been working fine. I got similar errors on 64-bit as well. Issue seemed to be hangups with bitcoind. Adding more RAM and setting bitcoind to properly use the notifier seems to made it all work a lot smoother. Still running it on 64-bit.
WBF1
Sr. Member
****
Offline Offline

Activity: 419
Merit: 250


View Profile
February 18, 2016, 03:00:29 AM
 #186

@ -ck

Can you elaborate from a high level what exactly happens when ckpool is notified by the notifier? I can see that it seems like miners start in on a new block immediately. How does ckpool decide which transactions to put in that new block? (I ask because it seems like miners start on the new block before the last one is fully downloaded and verified... But I could be mistaken on that).  I'm guessing since all we really need is the hash of the previous block we can start with that before its fully verified? Or am I really wrong in thinking that we are working on the next block before the last one is fully verified?

I see this on the first post:

"New work generation on block changes incorporate full bitcoind transaction
set without delay"

But from experience, I don't see the delay surrounding block changes that seemed to be present when mining directly to a node via GBT, so just a little curious how this works.

And yeah I know I can probably figure this all out by diving into the code, but I don't read code very well and was hoping a high level explanation wouldn't be too much of an ask.
-ck (OP)
Legendary
*
Offline Offline

Activity: 4102
Merit: 1632


Ruu \o/


View Profile WWW
February 18, 2016, 03:04:33 AM
 #187

@ -ck

Can you elaborate from a high level what exactly happens when ckpool is notified by the notifier? I can see that it seems like miners start in on a new block immediately. How does ckpool decide which transactions to put in that new block? (I ask because it seems like miners start on the new block before the last one is fully downloaded and verified... But I could be mistaken on that).  I'm guessing since all we really need is the hash of the previous block we can start with that before its fully verified? Or am I really wrong in thinking that we are working on the next block before the last one is fully verified?

I see this on the first post:

"New work generation on block changes incorporate full bitcoind transaction
set without delay"

But from experience, I don't see the delay surrounding block changes that seemed to be present when mining directly to a node via GBT, so just a little curious how this works.

And yeah I know I can probably figure this all out by diving into the code, but I don't read code very well and was hoping a high level explanation wouldn't be too much of an ask.
The notify comes from bitcoind only once it has verified the previous block, the notifier then tells ckpool that bitcoind is ready to generate a new template so ckpool immediately requests a new template and works from that. It is always a fully verified block that ckpool works with and the getblocktemplate that bitcoind generates after the verified block.

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
WBF1
Sr. Member
****
Offline Offline

Activity: 419
Merit: 250


View Profile
February 18, 2016, 03:08:35 AM
 #188

Ah okay I wasn't sure when the block notify was triggered by bitcoind. Thanks for that info.

I have a follow up, seemingly basic question that I couldn't find an answer to elsewhere... Do all miners everywhere concurrently work on the same block with the same transactions in it, or are the contents of a block at the discretion of each miner (assuming there are more than enough transactions on the mempool to cover more than one block worth)?

Sorry for getting a bit off topic...
-ck (OP)
Legendary
*
Offline Offline

Activity: 4102
Merit: 1632


Ruu \o/


View Profile WWW
February 18, 2016, 03:10:04 AM
 #189

Ah okay I wasn't sure when the block notify was triggered by bitcoind. Thanks for that info.

I have a follow up, seemingly basic question that I couldn't find an answer to elsewhere... Do all miners everywhere concurrently work on the same block with the same transactions in it, or are the contents of a block at the discretion of each miner (assuming there are more than enough transactions on the mempool to cover more than one block worth)?

Sorry for getting a bit off topic...
Same workinfo, same transactions for everyone.

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
WBF1
Sr. Member
****
Offline Offline

Activity: 419
Merit: 250


View Profile
February 18, 2016, 03:19:11 AM
 #190

Ah okay I wasn't sure when the block notify was triggered by bitcoind. Thanks for that info.

I have a follow up, seemingly basic question that I couldn't find an answer to elsewhere... Do all miners everywhere concurrently work on the same block with the same transactions in it, or are the contents of a block at the discretion of each miner (assuming there are more than enough transactions on the mempool to cover more than one block worth)?

Sorry for getting a bit off topic...
Same workinfo, same transactions for everyone.

So I think I phrased that wrong or confusingly. By miners I didn't mean miners on the same pool. I meant I guess pools as mining entities, or maybe more accurately mining nodes. Wouldn't each node or pool potentially include a different transaction set per the block they are working on? Sorry these are probably really basic questions I can answer by re-reading the white paper or some other source.

I do have a more ckpool-specific question... Before I had the notifier and blocknotify setup on my bitcoind, there were times my miners were working on work that appears to be from previous blocks. It also seemed that ckpool would timeout when trying to get work from bitcoind. None of this happens anymore.

Is that because the "blockpoll" method is taxing on bitcoind? Or is it because requesting a new blocktemplate during verification causes slowdowns? Or both?
-ck (OP)
Legendary
*
Offline Offline

Activity: 4102
Merit: 1632


Ruu \o/


View Profile WWW
February 18, 2016, 03:21:38 AM
 #191

I do have a more ckpool-specific question... Before I had the notifier and blocknotify setup on my bitcoind, there were times my miners were working on work that appears to be from previous blocks. It also seemed that ckpool would timeout when trying to get work from bitcoind. None of this happens anymore.

Is that because the "blockpoll" method is taxing on bitcoind? Or is it because requesting a new blocktemplate during verification causes slowdowns? Or both?
Both

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
WBF1
Sr. Member
****
Offline Offline

Activity: 419
Merit: 250


View Profile
February 18, 2016, 03:24:49 AM
 #192

Thanks for the quick replies.
ksoze75
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
February 24, 2016, 06:12:53 AM
 #193

I am trying to get this compiled and running on my RPi2B with Jessie lite. I git cloned the source and attempted to run autogen.sh and got the following output:

autom4te: cannot create autom4te.cache: No such file or directory
aclocal: error: echo failed with exit status: 1
autoreconf: aclocal failed with exit status: 1

I am guessing I am doing something wrong here. I am fairly new to Linux and am learning as fast as I can but I have no idea where to go with this other than check out the script and see what it is looking for and it is indeed missing.

Any help for this noob would be great.

K
irritant
Sr. Member
****
Offline Offline

Activity: 473
Merit: 250


Sodium hypochlorite, acetone, ethanol


View Profile
February 24, 2016, 06:29:11 AM
Last edit: February 24, 2016, 06:49:22 AM by irritant
 #194

I am trying to get this compiled and running on my RPi2B with Jessie lite. I git cloned the source and attempted to run autogen.sh and got the following output:

autom4te: cannot create autom4te.cache: No such file or directory
aclocal: error: echo failed with exit status: 1
autoreconf: aclocal failed with exit status: 1

I am guessing I am doing something wrong here. I am fairly new to Linux and am learning as fast as I can but I have no idea where to go with this other than check out the script and see what it is looking for and it is indeed missing.

Any help for this noob would be great.

K


have you installed autoconf and automake?

Building from git also requires autoconf and automake

sudo apt-get install build-essential libpq-dev autoconf automake libtool
./autogen.sh
./configure
make
dont know if it works on 32 bit but i read there is no support for it (rpi2b)
ksoze75
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
February 24, 2016, 06:43:25 AM
 #195

Unsupported Sad. I thought RPi2B was 64 bit. Maybe not, oh well.

I am pretty sure I installed those pkgs, I'll double check.
WBF1
Sr. Member
****
Offline Offline

Activity: 419
Merit: 250


View Profile
February 24, 2016, 10:50:37 AM
 #196

Environment is 32-bit ...
Ckpool demands a 64 bit environment and I have no interest in creating support for 32 bits sorry.

But I was able to build and run on RPi2. I got errors while it was running but they may not have been related to running in a 32 bit environment.

Note that you'll definitely not be able to run with ckdb, as I believe it's recommended to have 16 GB ram or so for a full ckdb implementation running behind ckpool.
-ck (OP)
Legendary
*
Offline Offline

Activity: 4102
Merit: 1632


Ruu \o/


View Profile WWW
February 24, 2016, 08:45:36 PM
 #197

Environment is 32-bit ...
Ckpool demands a 64 bit environment and I have no interest in creating support for 32 bits sorry.

But I was able to build and run on RPi2. I got errors while it was running but they may not have been related to running in a 32 bit environment.

Note that you'll definitely not be able to run with ckdb, as I believe it's recommended to have 16 GB ram or so for a full ckdb implementation running behind ckpool.
Warnings at startup are not actually unusual or fatal as the multiprocess nature of ckpool means that sometimes one process waits excessively for another process - usually because they're waiting on bitcoind responses for example. The latest git version has moved away from the multiprocess model so those warnings shouldn't occur any more. While the code was made to be general and should work on 32 bit and big endian, the fact remains that it was never tested on either of those so they should be considered unsupported. Of course if someone wants to audit the code and test it on those platforms and contribute patches to fix any issues they find, they're welcome to. Unlike cgminer, though, for speed of development the code for ckpool was intentionally designed with one platform in mind - making code suit multiple architectures and operating systems means dealing with the quirks of low level behaviour of each platform which slows development down and often limits what can even be done with the code. Since ckpool uses low level socket code and system functions all over the place, cross-platform support, for example, is never going to happen.

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
WBF1
Sr. Member
****
Offline Offline

Activity: 419
Merit: 250


View Profile
February 24, 2016, 09:08:53 PM
 #198

Environment is 32-bit ...
Ckpool demands a 64 bit environment and I have no interest in creating support for 32 bits sorry.

But I was able to build and run on RPi2. I got errors while it was running but they may not have been related to running in a 32 bit environment.

Note that you'll definitely not be able to run with ckdb, as I believe it's recommended to have 16 GB ram or so for a full ckdb implementation running behind ckpool.
Warnings at startup are not actually unusual or fatal as the multiprocess nature of ckpool means that sometimes one process waits excessively for another process - usually because they're waiting on bitcoind responses for example. The latest git version has moved away from the multiprocess model so those warnings shouldn't occur any more. While the code was made to be general and should work on 32 bit and big endian, the fact remains that it was never tested on either of those so they should be considered unsupported. Of course if someone wants to audit the code and test it on those platforms and contribute patches to fix any issues they find, they're welcome to. Unlike cgminer, though, for speed of development the code for ckpool was intentionally designed with one platform in mind - making code suit multiple architectures and operating systems means dealing with the quirks of low level behaviour of each platform which slows development down and often limits what can even be done with the code. Since ckpool uses low level socket code and system functions all over the place, cross-platform support, for example, is never going to happen.

Yup. I'll be testing on 64 bit ARM as soo as my Odroid C2 comes in.
WBF1
Sr. Member
****
Offline Offline

Activity: 419
Merit: 250


View Profile
February 24, 2016, 10:02:58 PM
 #199

@ck are the M* tags considered more stable than master? or S* tags? are there still version numbers for stable releases?
-ck (OP)
Legendary
*
Offline Offline

Activity: 4102
Merit: 1632


Ruu \o/


View Profile WWW
February 24, 2016, 10:48:48 PM
 #200

@ck are the M* tags considered more stable than master? or S* tags? are there still version numbers for stable releases?
Tagged versions are considered stable for use indeed. The S tags were a mistake, the M tags stand for "milestone" releases. Having said that, the current git master is currently stable but that can change at any time. The version numbers are almost an afterthought.

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
Pages: « 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!