Pages:
Author

Topic: pushpool - open source pool software - page 9. (Read 120158 times)

member
Activity: 98
Merit: 13
May 23, 2011, 06:42:55 PM
#60
About the shares table:
* our_result - If pushpool accepts the hash from the miner, this is Y... else N
* reason - If pushpool doesn't accept the hash, this is the reason (so.. mostly 'stale' I guess)
* upstream_result - If pushpool accepted the hash, it gets forwarded to bitcoind, if it's not accepted it's N, if it's a success it's Y (and a new block is born?)...

I've got a couple of "our_result=Y; upstream_result=N" what does that mean? (Is it related to rpc.target.rewrite?)

For easy-target pools, pushpool does not submit all H==0 solutions to upstream bitcoind.  That would be a lot of solutions with zero chance of being a valid mainnet block hash.

pushpool requires 8 additional zero bits, before it submits to upstream.  Therefore, you will see (Y, NULL) for most shares, (Y, N) for uncommon shares that are just a bit closer to the target, and (Y, Y) for valid, full-target mainnet block hash accepted by upstream.  Only the latter (Y, Y) pays you 50 BTC, and generates a block w/ transactions.

Quote
About pool speed:
Quote
Look at your share log, for the rate of incoming solutions.
How can I calculate the speed from that? Sometimes I'm sending a hash every 2 seconds, sometimes it takes minutes?

If you are difficulty 1 pool, then each share represents 2**32 hashes.  Divide over time to get hashes/second.

hero member
Activity: 588
Merit: 500
May 23, 2011, 06:40:28 PM
#59
super noob question from windows user:
Can this be compiled on windows? by using cygwin or something?

Probably, but you aren't going to run a pool on Windows.
legendary
Activity: 2058
Merit: 1431
May 23, 2011, 06:15:16 PM
#58
super noob question from windows user:
Can this be compiled on windows? by using cygwin or something?
full member
Activity: 126
Merit: 100
May 23, 2011, 06:14:03 PM
#57
Heya,

I'm also thinking about building a pool with pushpool. Here are some questions from my side (maybe not all so much pushpool related):

About the shares table:
* our_result - If pushpool accepts the hash from the miner, this is Y... else N
* reason - If pushpool doesn't accept the hash, this is the reason (so.. mostly 'stale' I guess)
* upstream_result - If pushpool accepted the hash, it gets forwarded to bitcoind, if it's not accepted it's N, if it's a success it's Y (and a new block is born?)...

I've got a couple of "our_result=Y; upstream_result=N" what does that mean? (Is it related to rpc.target.rewrite?)

About pool speed:
Quote
Look at your share log, for the rate of incoming solutions.
How can I calculate the speed from that? Sometimes I'm sending a hash every 2 seconds, sometimes it takes minutes?


Thanks Smiley
member
Activity: 116
Merit: 10
May 23, 2011, 07:23:23 AM
#56
....
htole32 and friends are the newfangled way of changing byte orders.  They are only in glibc 2.9 or higher.
...

thanks for information, now we know why compile fails on deb5lenny and centos5.6. they have much older glibc
kjj
legendary
Activity: 1302
Merit: 1025
May 22, 2011, 11:02:46 PM
#55
Could you please provide the makeerror you got?
...

i think it was this one http://nopaste.me/raw/18499477874dd849c76e47e.txt

if i added a ./configure --without-sqlite , it ran into another error with `htole32`, i found no solution for that on deb5lenny32

htole32 and friends are the newfangled way of changing byte orders.  They are only in glibc 2.9 or higher.

To get around this, open up server.c and msg.c, and paste this in below the long block of #includes

Quote from: patch for old glibc
#include
#define htole32(x)      (bswap_32(htonl(x)))
#define le32toh(x)      (ntohl(bswap_32(x)))

Note that I haven't tested it beyond getting pushpool to compile.  I'm only about 90% sure I got the ordering right.
sr. member
Activity: 403
Merit: 250
May 22, 2011, 06:13:42 PM
#54
The pool uses cURL to send it's data to Bitcoin. I think it should be through the HTTP protocol.
Thanks for the reply, mcfe.
I've problems on the server side, not client side, I know the request is being made with curl.

Anyway I think I'm understanding how to do it, I just need to access the request body, in java there is the method ServletRequest.getInputStream() and that should do it (still testing).

I think the serverside uses CURL & JSON-RPC to.
You can see the API-ref here, https://en.bitcoin.it/wiki/API_reference_%28JSON-RPC%29



Could be some error with --no-sqlite flag to configure.
I'll look into it tomorrow.

Regards, Jim
sr. member
Activity: 403
Merit: 250
May 22, 2011, 06:07:31 PM
#53
The pool uses cURL to send it's data to Bitcoin. I think it should be through the HTTP protocol.
Thanks for the reply, mcfe.
I've problems on the server side, not client side, I know the request is being made with curl.

Anyway I think I'm understanding how to do it, I just need to access the request body, in java there is the method ServletRequest.getInputStream() and that should do it (still testing).

I think the serverside uses CURL & JSON-RPC to.
You can see the API-ref here, https://en.bitcoin.it/wiki/API_reference_%28JSON-RPC%29

member
Activity: 116
Merit: 10
May 22, 2011, 06:02:18 PM
#52
Could you please provide the makeerror you got?
...

i think it was this one http://nopaste.me/raw/18499477874dd849c76e47e.txt

if i added a ./configure --without-sqlite , it ran into another error with `htole32`, i found no solution for that on deb5lenny32
hero member
Activity: 731
Merit: 503
Libertas a calumnia
May 22, 2011, 03:33:35 PM
#51
The pool uses cURL to send it's data to Bitcoin. I think it should be through the HTTP protocol.
Thanks for the reply, mcfe.
I've problems on the server side, not client side, I know the request is being made with curl.

Anyway I think I'm understanding how to do it, I just need to access the request body, in java there is the method ServletRequest.getInputStream() and that should do it (still testing).
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
May 22, 2011, 03:23:43 PM
#50
The pool uses cURL to send it's data to Bitcoin. I think it should be through the HTTP protocol.
hero member
Activity: 731
Merit: 503
Libertas a calumnia
May 22, 2011, 02:34:31 PM
#49
I'm sorry to ask something just only vaguely related but I'm unable to find any documentation about it and I need to understand better.

The miner programs connects to the pool server using an HTTP request but I'm unable to understand which kind of request it is. Is it a standard http web request?
If yes, how are the json parameters passed?

In other words, how to decode the request using for example PHP, JSP or a similar scripting language?

Thanks in advance for any help on the subject.
sr. member
Activity: 403
Merit: 250
May 22, 2011, 01:23:49 PM
#48
Could you please provide the makeerror you got?
I can try to find a fix for it & push it to my fork of pushpool.

Gonna setup a deb 5 later today/tomorrow and try it out by my self.
member
Activity: 116
Merit: 10
May 22, 2011, 01:21:29 PM
#47
yes i`m sure that i installed dev packages on debian lenny 5 but there was a silly error on make.
but compiling works finde with opensuse 11.4 (64bit), i will try debian 6 later
sr. member
Activity: 403
Merit: 250
May 22, 2011, 11:39:03 AM
#46
This is my setup:


jine@bitcoins:~$ dpkg -l | grep libevent
ii  libevent-1.4-2                           1.4.13-stable-1              An asynchronous event notification library
ii  libevent-core-1.4-2                      1.4.13-stable-1              An asynchronous event notification library (core)
ii  libevent-dev                             1.4.13-stable-1              Development libraries, header files and docs for libevent
ii  libevent-extra-1.4-2                     1.4.13-stable-1              An asynchronous event notification library (extra)

jine@bitcoins:~$ dpkg -l | grep crypto
ii  libcrypto++-dev                          5.6.0-6                      General purpose cryptographic library - C++ development
ii  libcrypto++8                             5.6.0-6                      General purpose cryptographic library - shared library
ii  libk5crypto3                             1.8.3+dfsg-4                 MIT Kerberos runtime libraries - Crypto Library
ii  openssl                                  0.9.8o-4squeeze1             Secure Socket Layer (SSL) binary and related cryptographic tools
ii  python-crypto                            2.1.0-2                      cryptographic algorithms and protocols for Python

jine@bitcoins:~$ dpkg -l | grep curl
ii  curl                                     7.21.0-1                     Get a file from an HTTP, HTTPS or FTP server
ii  libcurl3                                 7.21.0-1                     Multi-protocol file transfer library (OpenSSL)
ii  libcurl3-gnutls                          7.21.0-1                     Multi-protocol file transfer library (GnuTLS)
ii  libcurl4-openssl-dev                     7.21.0-1                     Development files and documentation for libcurl (OpenSSL)
ii  python-pycurl                            7.19.0-3+b1                  Python bindings to libcurl


Are you sure you got the -dev packages installed?
member
Activity: 116
Merit: 10
May 22, 2011, 11:03:41 AM
#45
ok i tried on debian 5 lenny 32bit and that did not work for me, because libevent was not found, but it was installed Wink
but i did not try deb6, maybe thats another hook.
sr. member
Activity: 403
Merit: 250
May 22, 2011, 10:48:56 AM
#44
You're wrong. I'm running (and compiling) Pushpool successfully on Debian 6 (32bit)
For all others, i added a template mysql-database and some stuff at my fork @ github:
https://github.com/jine/pushpool

Also requested a pull to original author, we'll see if he merges.
Until then, a .sql file can be found above.

Also modified example-cfg.json file.
member
Activity: 116
Merit: 10
May 22, 2011, 10:26:28 AM
#43
seems like pushpool will NOT run on bsd, debian or centos, but opensuse 11.4 compiled fine for me.

but anyhow there is a lack of documentation, isnt it?
member
Activity: 84
Merit: 10
May 22, 2011, 12:30:44 AM
#42
i try compiling pushpool on CentOS 5.6 32bit, but make fails with some erros

http://nopaste.me/raw/18499477874dd849c76e47e.txt

any ideas? Sad

Install sqlite-devel.

I have the same problem.  I installed sqlite-devel but didn't fix.  I'll keep researching!

EDIT: In db-sqlite.c,  SQLITE_OPEN_READWRITE is not defined, nor is it defined in any of the includes, which is why Make is throwing a hissy fit.  I wonder why this isn't causing a problem on other Distro's?

EDIT 2: It seems this is a common problem with sqlite dependant apps on CentOS.  I'm running up OpenSUSE 11.4 now to try my luck with that!
member
Activity: 116
Merit: 10
May 22, 2011, 12:02:12 AM
#41
thanks did not solve the problem, something is stupid with centos but i compiled it with opensuse 11.4 x86_64 (openvz)

some notes, bit mixed up with centOS, but i think this should help others, im going to sleep now

Code:
# http://ivan.kartik.sk/static/48/ # How to install and setup Yum in OpenSUSE 11
#yum groupinstall "Development Tools" -y
zypper install -t pattern devel_C_C++
#yum install -y openssl-devel.x86_64 mysql-devel.x86_64 curl-devel.x86_64 sqlite-devel.x86_64 postgresql-devel.x86_64 zlib-devel.x86_64 libevent-devel.x86_64
wget http://www.digip.org/jansson/releases/jansson-2.0.1.tar.gz; tar xfvz jansson-2.0.1.tar.gz; cd jansson-2.0.1/; ./configure && make && make install; cd ~
#wget http://centos.alt.ru/repository/centos/5/x86_64/libmemcached-0.40-1.el5.x86_64.rpm; rpm -i libmemcached-0.40-1.el5.x86_64.rpm; cd ~
#wget http://centos.alt.ru/repository/centos/5/x86_64/libmemcached-devel-0.40-1.el5.x86_64.rpm; rpm -i libmemcached-devel-0.40-1.el5.x86_64.rpm; cd ~
yum install libmemcached.x86_64 libmemcached-devel.x86_64 libcurl-devel.x86_64

useradd -m pushpool
cd /home/pushpool
wget http://yyz.us/bitcoin/pushpool-0.4.1.tar.gz; tar xfvz pushpool-0.4.1.tar.gz; cd pushpool-0.4.1/;
./configure --prefix=/home/pushpool/ && make
make install
chown pushpool /home/pushpool -R; cd /home/pushpool

Pages:
Jump to: