Bitcoin Forum
April 25, 2024, 08:49:53 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 »  All
  Print  
Author Topic: pushpool - open source pool software  (Read 120157 times)
oVPN
Member
**
Offline Offline

Activity: 116
Merit: 10


View Profile WWW
May 22, 2011, 04:02:12 AM
Last edit: May 22, 2011, 04:18:31 AM by oVPN
 #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


oVPN.to Anonymous Services
1714078193
Hero Member
*
Offline Offline

Posts: 1714078193

View Profile Personal Message (Offline)

Ignore
1714078193
Reply with quote  #2

1714078193
Report to moderator
1714078193
Hero Member
*
Offline Offline

Posts: 1714078193

View Profile Personal Message (Offline)

Ignore
1714078193
Reply with quote  #2

1714078193
Report to moderator
In order to get the maximum amount of activity points possible, you just need to post once per day on average. Skipping days is OK as long as you maintain the average.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714078193
Hero Member
*
Offline Offline

Posts: 1714078193

View Profile Personal Message (Offline)

Ignore
1714078193
Reply with quote  #2

1714078193
Report to moderator
1714078193
Hero Member
*
Offline Offline

Posts: 1714078193

View Profile Personal Message (Offline)

Ignore
1714078193
Reply with quote  #2

1714078193
Report to moderator
1714078193
Hero Member
*
Offline Offline

Posts: 1714078193

View Profile Personal Message (Offline)

Ignore
1714078193
Reply with quote  #2

1714078193
Report to moderator
timmmay
Member
**
Offline Offline

Activity: 84
Merit: 10



View Profile
May 22, 2011, 04:30:44 AM
Last edit: May 22, 2011, 06:13:42 AM by timmmay
 #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!

oVPN
Member
**
Offline Offline

Activity: 116
Merit: 10


View Profile WWW
May 22, 2011, 02:26:28 PM
 #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?

oVPN.to Anonymous Services
Jine
Sr. Member
****
Offline Offline

Activity: 403
Merit: 250


View Profile
May 22, 2011, 02:48:56 PM
 #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.

Previous founder of Bit LC Inc. | I've always loved the idea of bitcoin.
oVPN
Member
**
Offline Offline

Activity: 116
Merit: 10


View Profile WWW
May 22, 2011, 03:03:41 PM
 #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.

oVPN.to Anonymous Services
Jine
Sr. Member
****
Offline Offline

Activity: 403
Merit: 250


View Profile
May 22, 2011, 03:39:03 PM
 #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?

Previous founder of Bit LC Inc. | I've always loved the idea of bitcoin.
oVPN
Member
**
Offline Offline

Activity: 116
Merit: 10


View Profile WWW
May 22, 2011, 05: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

oVPN.to Anonymous Services
Jine
Sr. Member
****
Offline Offline

Activity: 403
Merit: 250


View Profile
May 22, 2011, 05: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.

Previous founder of Bit LC Inc. | I've always loved the idea of bitcoin.
Dusty
Hero Member
*****
Offline Offline

Activity: 731
Merit: 503


Libertas a calumnia


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

Articoli bitcoin: Il portico dipinto
Remember remember the 5th of November
Legendary
*
Offline Offline

Activity: 1862
Merit: 1011

Reverse engineer from time to time


View Profile
May 22, 2011, 07:23:43 PM
 #50

The pool uses cURL to send it's data to Bitcoin. I think it should be through the HTTP protocol.

BTC:1AiCRMxgf1ptVQwx6hDuKMu4f7F27QmJC2
Dusty
Hero Member
*****
Offline Offline

Activity: 731
Merit: 503


Libertas a calumnia


View Profile WWW
May 22, 2011, 07: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).

Articoli bitcoin: Il portico dipinto
oVPN
Member
**
Offline Offline

Activity: 116
Merit: 10


View Profile WWW
May 22, 2011, 10: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

oVPN.to Anonymous Services
Jine
Sr. Member
****
Offline Offline

Activity: 403
Merit: 250


View Profile
May 22, 2011, 10: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


Previous founder of Bit LC Inc. | I've always loved the idea of bitcoin.
Jine
Sr. Member
****
Offline Offline

Activity: 403
Merit: 250


View Profile
May 22, 2011, 10: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

Previous founder of Bit LC Inc. | I've always loved the idea of bitcoin.
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1024



View Profile
May 23, 2011, 03:02:46 AM
 #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 <byteswap.h>
#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.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
oVPN
Member
**
Offline Offline

Activity: 116
Merit: 10


View Profile WWW
May 23, 2011, 11: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

oVPN.to Anonymous Services
redhatzero
Full Member
***
Offline Offline

Activity: 126
Merit: 100



View Profile
May 23, 2011, 10: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

grue
Legendary
*
Offline Offline

Activity: 2058
Merit: 1431



View Profile
May 23, 2011, 10:15:16 PM
 #58

super noob question from windows user:
Can this be compiled on windows? by using cygwin or something?

It is pitch black. You are likely to be eaten by a grue.

Adblock for annoying signature ads | Enhanced Merit UI
error
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



View Profile
May 23, 2011, 10: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.

3KzNGwzRZ6SimWuFAgh4TnXzHpruHMZmV8
xf2_org (OP)
Member
**
Offline Offline

Activity: 98
Merit: 13


View Profile
May 23, 2011, 10: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.

Pages: « 1 2 [3] 4 5 6 7 8 9 10 11 »  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!