Pages:
Author

Topic: CKPOOL - Open source pool/proxy/passthrough/redirector/library in c for Linux - page 13. (Read 124144 times)

legendary
Activity: 872
Merit: 1010
Coins, Games & Miners
...

I always welcome outside code, but I'm very fussy...

Sure thing, i will use ckproxy for a product i'm developing, and as per the GPL i must release the source, so i'll be sure to let you know when/if i do changes.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
...

Heh 42 indeed. There's no real documentation for anything ckpmsg has over and above what's in the main readme. If you can read the code you can issue direct commands to each of the main process loops provided you know the syntax but generally it's only expected people will use ckpmsg to speak to the main ckpool process which will forward on the relevant message. The other processes aren't obliged to provide a response whereas the main pool process always does as a rule.

Ok, will keep searching if there's some functionality already implemented for what i want to do. If i happen to add something useful, you wouldn't mind a PR?
I always welcome outside code, but I'm very fussy...
legendary
Activity: 872
Merit: 1010
Coins, Games & Miners
...

Heh 42 indeed. There's no real documentation for anything ckpmsg has over and above what's in the main readme. If you can read the code you can issue direct commands to each of the main process loops provided you know the syntax but generally it's only expected people will use ckpmsg to speak to the main ckpool process which will forward on the relevant message. The other processes aren't obliged to provide a response whereas the main pool process always does as a rule.

Ok, will keep searching if there's some functionality already implemented for what i want to do. If i happen to add something useful, you wouldn't mind a PR?
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Was going to ask questions about constant disconnection of the clients on the proxy, but it seems it was just uplink unstability.

On another note, is there any documentation on ckpmsg? I would love to see what nifty things i can do with it/add to it...

Btw, loving your perpetual while conditions Smiley some Douglas Adams loving there.
Heh 42 indeed. There's no real documentation for anything ckpmsg has over and above what's in the main readme. If you can read the code you can issue direct commands to each of the main process loops provided you know the syntax but generally it's only expected people will use ckpmsg to speak to the main ckpool process which will forward on the relevant message. The other processes aren't obliged to provide a response whereas the main pool process always does as a rule.
legendary
Activity: 872
Merit: 1010
Coins, Games & Miners
Was going to ask questions about constant disconnection of the clients on the proxy, but it seems it was just uplink unstability.

On another note, is there any documentation on ckpmsg? I would love to see what nifty things i can do with it/add to it...

Btw, loving your perpetual while conditions Smiley some Douglas Adams loving there.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
mmpool switched to using ckpool recently, from SockThing, mainly to get the benefit of variable difficulty settings for users but also to get a supported efficient codebase. We're a small pool and found the first block using the ckpool backend today.

We're not using the ckdb backend, - just ckpool. It connects to our merge mining server and the already existing pool reward system, database, etc. I wanted to minimize the integration work to try ckpool at the time. It was quite painless to integrate.

Thanks for the great software. I've sent a manual donation to the AUTHORS to help support the work.
Thanks - very nice donation!
Now you need to start using ckdb Cheesy
It uses truck loads of ram, but less CPU than ckpool on the same machine Smiley
Every so often I change something to reduce the ram requirements.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
mmpool switched to using ckpool recently, from SockThing, mainly to get the benefit of variable difficulty settings for users but also to get a supported efficient codebase. We're a small pool and found the first block using the ckpool backend today.

We're not using the ckdb backend, - just ckpool. It connects to our merge mining server and the already existing pool reward system, database, etc. I wanted to minimize the integration work to try ckpool at the time. It was quite painless to integrate.

Thanks for the great software. I've sent a manual donation to the AUTHORS to help support the work.
You're most welcome. Thanks for the donation and good luck.
sr. member
Activity: 375
Merit: 250
mmpool switched to using ckpool recently, from SockThing, mainly to get the benefit of variable difficulty settings for users but also to get a supported efficient codebase. We're a small pool and found the first block using the ckpool backend today.

We're not using the ckdb backend, - just ckpool. It connects to our merge mining server and the already existing pool reward system, database, etc. I wanted to minimize the integration work to try ckpool at the time. It was quite painless to integrate.

Thanks for the great software. I've sent a manual donation to the AUTHORS to help support the work.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
Basically you gotta write your own "$sfaurl" -> "qrcode"
Site works without it since it also displays a 'link' that is the "$sfaurl", just without a pretty qrcode by default.

Someone actually paid me to write the 2FA code but they think my web site sux so they have their own Tongue
So they didn't need my php for it, so I didn't provide the program I wrote to convert the input for the html5 in my php.
It's a completely separate program so wont be in git.
newbie
Activity: 36
Merit: 0
sorry lil question if possible: can we know what is the meaning of the variables tw=1 and fa=0 used in myqr.sh ?

this script doesnt exists in the repo so i rewrote it, and seems to me that this variables are just a check to see if the qr was parsed ok, but im not sure at all..

Thanks!
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Massive code drop into git master long overdue with many new features and improvements, mostly on the proxy and passthrough side. I've tagged milestone M18 to just before the code drop and M19 to after it, along with incrementing the version to 0.9.0. The new features are documented in the README and with sample configurations, and at some stage I'll add descriptions to this thread.
sr. member
Activity: 359
Merit: 251
You could also just download the VMware version and run it on any machine. Smiley
sr. member
Activity: 359
Merit: 251
Hope this helps someone else. If you get this response from the pool:

HTTP response to ( "getblock...) 0.001s not ok: HTTP/1.1 500 Internal Server Error


Then something has gone haywire with your Bitcoin core installation. It's not the pool. On one of my test machines was throwing this error with a remote core installation. I spent 2 days troubleshooting the pool and ports/etc. A simple shutdown>reinstall of bitcoin core fixed the problem.


legendary
Activity: 2483
Merit: 1482
-> morgen, ist heute, schon gestern <-
 Wink got it working!

Thank you both, Con & Kano.

I compiled all under Debian AMD64, no problem.
Configured first the proxy, than the rest, no problem.

That looks like your README is all I needet to come to sucsess.

All my miners goes now as 1 to cksolo.pool  Grin


You make me verry happy!

---

Next step is to get the relaynetwork working.
full member
Activity: 157
Merit: 103
Thank you Kano!  So easy, it works. 
I've missed command line params related to BTC  and instead of this "http://127.0.0.1:8330" string in ckdb log confused me.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
command line:
./ckdb -p pgsqlpass -U btcuser -P btcpass -S http://127.0.0.1:8332 -m -g

https://bitbucket.org/ckolivas/ckpool/src/96d6707511de3cfcee37261a5e0516791789e1ff/src/ckdb.c?at=master&fileviewer=file-view-default#ckdb.c-5631

Edit: and of course below that:

https://bitbucket.org/ckolivas/ckpool/src/96d6707511de3cfcee37261a5e0516791789e1ff/src/ckdb.c?at=master&fileviewer=file-view-default#ckdb.c-5686

Edit2: firstly yeah you don't need to edit the code, just use the command line options
secondly, you didn't
Code:
btc_auth = http_base64(buf);
full member
Activity: 157
Merit: 103
Can someone give advice why ckdb (latest ver from git) can't connect via RPC to local bitcoind (v0.11.2) ?  

At least I am trying to setup BTC payout address in User settings (web) but got error ERR: Invalid BTC address

First time ckdb was not able to connect to standard bitcoind RPC port 8332 as it was hardcoded to 8330  in ckdb.c
Code:
char *btc_server = "http://127.0.0.1:8330";
char *btc_auth;

I've changed to 8332 and recompiled, it is connected but still no luck

Code:
[2015-12-12 13:04:28.923+00] _btc_io() btc server response not ok: HTTP/1.0 401 Authorization Required0x0d0x0aDate: Sat, 12 Dec 2015 13:04:28 +00000x0d0x0aServer: bitcoin-json-rpc/v0.11.2.0-g7e278920x0d0x0a
WWW-Authenticate: Basic realm="jsonrpc"0x0d0x0aContent-Type: text/html0x0d0x0aContent-Length: 2960x0d0x0a0x0d0x0a0x0d0x0a"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">0x0d0x0a0x0d0x0a0x0d0x0aError0x0d0x0aCONTENT='text/html; charset=ISO-8859-1'>0x0d0x0a0x0d0x0a

401 Unauthorized.

0x0d0x0a0x0d0x0a0x00
[2015-12-12 13:04:28.923+00] usersettings.userset5111.ERR.Invalid BTC address

I've tried to recompile this again w/ hardcoded username/password  in ckdb.c
Code:
char *btc_server = "http://127.0.0.1:8332";
char *btc_auth = "USER:PASS";

according to
Code:
	snprintf(buf, sizeof(buf), "%s:%s", btc_user, btc_pass);
btc_auth = http_base64(buf);

but the same result, this can't authenticate against bitcoind RPC.  

Any hints will be highly appreciated. Thanks!

ps: ckpool works fine via RPC using user/pass from ckpool.conf  , so there is no mistake in user/pass
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
As I already implied, the software is full of 64bit maths and that will produce a noticeable difference, as will having double the registers in general code.

... and you will find that 5 year old link quite outdated now ... comments about not everyone having 64bit processors and "fewer issues" with 32bit are now wrong.
It's the other way around, fewer issues with 64bit and I'm not sure you can even find 32bit processors online any more.
If you can, you've been given old dodgy hardware.
I am quite sure that I didn't mention anything related to 32bit processors. My questions are clearly related to the use CKPool software on VPS with Linux i386, which are still very easy to get from all Linux distros or compile it ourselves. All VPS' definitely use 64bit capable processors.
Right so running i386 code on them pretends it's a 32bit processor missing all the vast gains in current 64bit processors,
the most obvious one (even mentioned at your very old link) being double the number of registers.

Now the most relevant point ... if you want to run a pool, and you are trying to skimp on hardware, be well aware that you may lose blocks.
You need a bitcoind, and running one on a small vps is a problem waiting to happen.
Again, I am not asking anything outside running CKPool software on VPS with Linux i386. I know the impact of running bitcoind on VPS with RAM less than 2GB as I experience the issues myself, e.g. bitcoind regularly crashes. So I have the full node running on a real hardware with a Quad Core 2 GHz each and 8 GB RAM. However, the bandwidth of the link of the full node is asymmetric. So I want to have the pool software on the VPS with symmetric bandwidth to be able to better manage the user connections.

Anyway, this discussion does not seem to lead anywhere. But thanks for responding to my questions.
So your design is to have a pool's main connection talking to a remote bitcoind ... sounds like a bad idea to me.
As for bandwidth, bitcoind will be higher than the pool unless you have a big pool ...
full member
Activity: 179
Merit: 131
As I already implied, the software is full of 64bit maths and that will produce a noticeable difference, as will having double the registers in general code.

... and you will find that 5 year old link quite outdated now ... comments about not everyone having 64bit processors and "fewer issues" with 32bit are now wrong.
It's the other way around, fewer issues with 64bit and I'm not sure you can even find 32bit processors online any more.
If you can, you've been given old dodgy hardware.
I am quite sure that I didn't mention anything related to 32bit processors. My questions are clearly related to the use CKPool software on VPS with Linux i386, which are still very easy to get from all Linux distros or compile it ourselves. All VPS' definitely use 64bit capable processors.

Now the most relevant point ... if you want to run a pool, and you are trying to skimp on hardware, be well aware that you may lose blocks.
You need a bitcoind, and running one on a small vps is a problem waiting to happen.
Again, I am not asking anything outside running CKPool software on VPS with Linux i386. I know the impact of running bitcoind on VPS with RAM less than 2GB as I experience the issues myself, e.g. bitcoind regularly crashes. So I have the full node running on a real hardware with a Quad Core 2 GHz each and 8 GB RAM. However, the bandwidth of the link of the full node is asymmetric. So I want to have the pool software on the VPS with symmetric bandwidth to be able to better manage the user connections.

Anyway, this discussion does not seem to lead anywhere. But thanks for responding to my questions.
Pages:
Jump to: