Pages:
Author

Topic: Pushpool - Tech Support - page 6. (Read 135173 times)

legendary
Activity: 1204
Merit: 1000
฿itcoin: Currency of Resistance!
November 07, 2011, 01:31:32 AM
Hi!

 After days trying this... I'm sure that I'm close to start my first pool!

 I'm running: pushpool-0.5.1, mysql, memcached and Litecoin (with LongPool patch applied).

 I run pushpool with: "pushpoold -c /home/administrativo/server.json -D 2 -E -F"

 Every time litecoin found a new block, I see at pushpool: "USR1 signal received, flushing LP waiters"

 All appear to be working okay but, when I connect my minerd at my pool, I don't get any "PROOF OF WORK RESULT: true (yay!!!)", even after minutes!

 But why?!

EDIT: AND... I don't see the message "Long-polling activated for http://mypool:9334/LP"... Any tips!? I disable it for tests... lol

 I'm planning to use the mmcFE web interface, it is pretty awesome and clean!

Best!
Thiago
hero member
Activity: 780
Merit: 510
Bitcoin - helping to end bankster enslavement.
October 10, 2011, 06:39:51 PM
I'm running pushpool0.5.1 and have a problem with it. The problem is that my pushpool is working for about 15min-3hours and everything looks normal, but after some time when I try to mine and I get this error: Problems communicating with bitcoin RPC . Pushpoold process seems like working as allways. But after killing and running pushpoold again everything works normally...
My VPS is with ubuntu-11.04-x86 and 768 Mb of RAM. Bitcoin client is in another server (windows vps).
Maybe someone knows how to fix this problem?
Yeah switch to PSJ it was the only way I was able to resolve that issue.  The people here know how but they will not tell you they need to keep an upper hand.

I plan to put an end to this, I'm going to publish everything I find and there is a lot I have learned they are hiding. 

But if I where to guess at the problem you need the 4diff patch for bitcoind that should clear it up for you.  Also you should not even bother trying to mine with out that patch as it cleans up duplicate work.

Finally, here is another tip pushpool is not production ready code it's example code that just functional enough for you to rewrite it for your pool.

Good luck dude this space is cut throat centralization of mining and it has to to stop because the next phase will be... Consolidation of pools after the next bitcoin bubble or when bitcoin hit supper lows as all bubbles go from WAY over valued to WAY undervalued.

newbie
Activity: 9
Merit: 0
October 10, 2011, 03:51:30 PM
I'm running pushpool0.5.1 and have a problem with it. The problem is that my pushpool is working for about 15min-3hours and everything looks normal, but after some time when I try to mine and I get this error: Problems communicating with bitcoin RPC . Pushpoold process seems like working as allways. But after killing and running pushpoold again everything works normally...
My VPS is with ubuntu-11.04-x86 and 768 Mb of RAM. Bitcoin client is in another server (windows vps).
Maybe someone knows how to fix this problem?
hero member
Activity: 780
Merit: 510
Bitcoin - helping to end bankster enslavement.
September 18, 2011, 07:23:13 PM
I have fixed my problem where puspool stopped working with error too many files opened now it collapses with...

"HTTP request failed: couldn't connect to host"

A restart of pushpool gets it going again.

As anyone seen this before?
hero member
Activity: 780
Merit: 510
Bitcoin - helping to end bankster enslavement.
September 18, 2011, 07:20:50 PM
Does anyone know what these parts of the pushpool server.json file are for...

Code:
       "listen" : [
                # binary protocol (default), port 8336
                { "port" : 8336 },

and

Code:
       "listen" : [
                # binary protocol, localhost-only port 8338
                { "host" : "127.0.0.1", "port" : 8338, "protocol" : "binary" }
        ],

Do the miner clients need to connect to those ports?

The binary protocol is documented here:  https://bitcointalksearch.org/topic/bitcoin-binary-data-protocol-for-mining-monitorblocks-etc-3493

No mainstream miners support it, so most people will not need it.



Thanks.
legendary
Activity: 1596
Merit: 1091
September 17, 2011, 09:02:44 PM
Does anyone know what these parts of the pushpool server.json file are for...

Code:
       "listen" : [
                # binary protocol (default), port 8336
                { "port" : 8336 },

and

Code:
       "listen" : [
                # binary protocol, localhost-only port 8338
                { "host" : "127.0.0.1", "port" : 8338, "protocol" : "binary" }
        ],

Do the miner clients need to connect to those ports?

The binary protocol is documented here:  https://bitcointalksearch.org/topic/bitcoin-binary-data-protocol-for-mining-monitorblocks-etc-3493

No mainstream miners support it, so most people will not need it.

hero member
Activity: 780
Merit: 510
Bitcoin - helping to end bankster enslavement.
September 17, 2011, 05:03:53 PM
Does anyone know what these parts of the pushpool server.json file are for...

Code:
       "listen" : [
                # binary protocol (default), port 8336
                { "port" : 8336 },

and

Code:
       "listen" : [
                # binary protocol, localhost-only port 8338
                { "host" : "127.0.0.1", "port" : 8338, "protocol" : "binary" }
        ],

Do the miner clients need to connect to those ports?
newbie
Activity: 40
Merit: 0
September 08, 2011, 01:51:55 PM
hi, after command  "netstat -anp" i had to much "CLOSE_WAIT", not "TIME_WAIT".
How to close this connections? i think this is why pushpoold does not work after some time.
full member
Activity: 175
Merit: 102
September 07, 2011, 09:19:56 AM
any fix to pushpoold not responding after a day or so?

Have you made any changes to the stock code?

What do you see as the output of "netstat -anp"?  If you're hitting your ulimit with too many TIME_WAIT's that can cause it.
hero member
Activity: 556
Merit: 500
September 07, 2011, 06:18:06 AM
any fix to pushpoold not responding after a day or so?
newbie
Activity: 14
Merit: 0
September 02, 2011, 08:40:26 AM
btw i was able to get it to work, with the configuration which gave me error 500 before.
maybe it doesn't work when the keychain isn't completley downloaded?
Ah, no it doesn't.  FYI during that period, if you submit any RPC requests to bitcoin directly via the command line it will respond with an error message saying the blockchain is currently downloading.

when i connected directly to bitcoin while the keychain was downloaded it gave me that message, while connecting to it through pushpoold gave me an error.
well, just to know...
full member
Activity: 175
Merit: 102
September 02, 2011, 08:11:44 AM
btw i was able to get it to work, with the configuration which gave me error 500 before.
maybe it doesn't work when the keychain isn't completley downloaded?
Ah, no it doesn't.  FYI during that period, if you submit any RPC requests to bitcoin directly via the command line it will respond with an error message saying the blockchain is currently downloading.
newbie
Activity: 14
Merit: 0
September 02, 2011, 05:09:57 AM
btw i was able to get it to work, with the configuration which gave me error 500 before.
maybe it doesn't work when the keychain isn't completley downloaded?
legendary
Activity: 980
Merit: 1003
I'm not just any shaman, I'm a Sha256man
September 01, 2011, 07:14:31 PM
Honestly it doesn't matter at this point, before It would have helped to have a couple of Bitcents here and there at the time of writing the tutorials
newbie
Activity: 14
Merit: 0
September 01, 2011, 06:21:43 PM
Just thought I'd like everyone to know that I got my first donation for 0.0005 BTC fromt this page thanks everyone for your contribution you've been a real help.
I mean yeah you all made your own pool and made tons of BTC and I'm really happy that I was even given this amount you guys are sooo giving

Tongue

Seriously tho, i got some lolz out of that donation.... that was donation enough!

isn't the satisfaction to have helped someone not donation enough?
legendary
Activity: 980
Merit: 1003
I'm not just any shaman, I'm a Sha256man
August 31, 2011, 07:19:23 PM
Just thought I'd like everyone to know that I got my first donation for 0.0005 BTC fromt this page thanks everyone for your contribution you've been a real help.
I mean yeah you all made your own pool and made tons of BTC and I'm really happy that I was even given this amount you guys are sooo giving

Tongue

Seriously tho, i got some lolz out of that donation.... that was donation enough!
newbie
Activity: 14
Merit: 0
August 31, 2011, 02:06:58 PM
Your ports are all messed up.  Try this:

bitcoin.conf:
rpcport=8335 (just choosing something that isn't already taken and isn't 8332 or 8333)


server.json:
(at the bottom):
"rpc.url" : "http://127.0.0.1:8335/",

(at the top):
                # HTTP JSON-RPC protocol, port 8332
                #{ "port" : 8341, "protocol" : "http-json" },
                { "port" : 8332, "protocol" : "http-json" },

Now you'll expose 8332 to the internet via pushpool, and bitcoin/pushpool will communicate over 8335 on localhost.

That configuration should work for you.

Your miner is getting an empty reply from the server because it's trying to connect to bitcoin directly (rpcport=8332, remember?) Bitcoin only allows connections from localhost by default so it simply slams the connection shut.

I configured the ports as you told me, but i get error 500 nonetheless.
8335 in bitcoin.conf, 8335 rpc.url and connect the miner to the port i configured in HTTP JSON-RPC section

Quote
root@bully:/home/pushpool/sbin# ./pushpoold -E -F -D 2
[2011-08-31 18:04:18.021763] Debug output enabled
[2011-08-31 18:04:18.332918] Forcing local hostname to localhost.localdomain
[2011-08-31 18:04:18.754137] Listening on host :: port 8342
[2011-08-31 18:04:18.754284] Listening on host :: port 8341
[2011-08-31 18:04:18.754427] Listening on host :: port 8332
[2011-08-31 18:04:18.754526] Listening on host 127.0.0.1 port 8338
[2011-08-31 18:04:19.022037] initialized
JSON protocol request:
{"method": "getwork", "params": [], "id":1}

* About to connect() to 127.0.0.1 port 8335 (#0)
*   Trying 127.0.0.1... * TCP_NODELAY set
* connected
* Connected to 127.0.0.1 (127.0.0.1) port 8335 (#0)
* Server auth using Basic with user 'rpcuser'
> POST / HTTP/1.1
Authorization: Basic Zm9jazphbG90dA==
Host: 127.0.0.1:8335
Accept: */*
Accept-Encoding: deflate, gzip
Content-type: application/json
Content-Length: 45

* The requested URL returned error: 500
* Closing connection #0
[2011-08-31 18:04:19.801483] HTTP request failed: The requested URL returned error: 500
full member
Activity: 175
Merit: 102
August 31, 2011, 01:44:25 PM
I'm also stuck at pushpool configuration. I read through the whole thread and the only solution to get rid of the error messages when connecting a miner is to have the rpc port (pushpool) pointing to the rpcport configured in bitcoin.conf.

However when i connect my miner I get error 500.
Quote
root@bully:/home/pushpool/sbin# ./pushpoold -E -F
[2011-08-29 22:03:43.948838] Listening on host :: port 8342
[2011-08-29 22:03:43.949297] Listening on host :: port 8341
[2011-08-29 22:03:43.949385] Listening on host :: port 8334
[2011-08-29 22:03:43.949513] Listening on host 127.0.0.1 port 8338
[2011-08-29 22:03:43.976058] initialized
[2011-08-29 22:03:46.627102] HTTP request failed: The requested URL returned error: 500
[2011-08-29 22:03:47.673728] HTTP request failed: The requested URL returned error: 500
[2011-08-29 22:03:48.752518] HTTP request failed: The requested URL returned error: 500
[2011-08-29 22:03:49.827042] HTTP request failed: The requested URL returned error: 500
[2011-08-29 22:03:50.948836] HTTP request failed: The requested URL returned error: 500

When I connect to port 8333 I get "empty reply from server":

Quote
* Empty reply from server
* Connection #0 to host 127.0.0.1 left intact
[2011-08-31 13:04:1.015652] HTTP request failed: Empty reply from server
JSON protocol request:
{"method": "getwork", "params": [], "id":2}

* Connection #0 seems to be dead!
* Closing connection #0
* About to connect() to 127.0.0.1 port 8333 (#0)
*   Trying 127.0.0.1... * TCP_NODELAY set
* connected
* Connected to 127.0.0.1 (127.0.0.1) port 8333 (#0)
* Server auth using Basic with user 'hidden'
> POST / HTTP/1.1
Authorization: Basic Zm9jazphbG90dA==
Host: 127.0.0.1:8333
Accept: */*
Accept-Encoding: deflate, gzip
Content-type: application/json
Content-Length: 45

these are my config files:

bitcoin.conf
Quote
server=1
rpcuser=hidden
rpcpassword=morehidden
rpcallowip=127.0.0.1
rpcport=8332
gen=0

server.json
Quote
{
        # network ports
        "listen" : [
                # binary protocol (default), port 8342
                { "port" : 8342 },

                # HTTP JSON-RPC protocol, port 8341
                #{ "port" : 8341, "protocol" : "http-json" },
                { "port" : 8341, "protocol" : "http-json" },

                # HTTP JSON-RPC protocol, port 8344,
                # with trusted proxy appserver.example.com forwarding
                # requests to us
                { "port" : 8334, "protocol" : "http-json",
                  "proxy" : "my.external.ip.addr" },

                # binary protocol, localhost-only port 8338
                { "host" : "127.0.0.1", "port" : 8338, "protocol" : "binary" }
        ],

        # database settings
        "database" : {
                "engine" : "mysql",
                "host" : "localhost",
                "port" : 3306,
                "name" : "bitcoin",
                "username" : "blablablasabsa",
                "password" : "blablablasabsa",
                "sharelog" : true,
                "stmt.pwdb":"SELECT `password` FROM `pool_worker` WHERE `username` = ?",
                "stmt.sharelog":"INSERT INTO shares (rem_host, username, our_result, upstream_result, reason, sol$

        },
        # cache settings
        #"memcached" : {
        #       "servers" : [
        #               { "host" : "127.0.0.1", "port" : 11211 }
        #       ]
        #},

        "pid" : "/tmp/pushpoold.pid",

        # overrides local hostname detection
        "forcehost" : "localhost.localdomain",

        "log.requests" : "/tmp/request.log",
        "log.shares" : "/tmp/shares.log",

        # the server assumes longpolling (w/ SIGUSR1 called for each blk)
        "longpoll.disable" : false,

        # length of time to cache username/password credentials, in seconds
        "auth.cred_cache.expire" : 75,

        # RPC settings | Notice how this ISN'T port number 8332 this is becuase the same port number should not b$
        "rpc.url" : "http://127.0.0.1:8333/",
        "rpc.user" : "hidden",
        "rpc.pass" : "morehidden",

        # rewrite returned 'target' to difficulty-1?
        "rpc.target.rewrite" : true
}

some lines are cut by "$" because i copied/paste it from a text editor, but those shouldn't be interesting...

bitcoind runs as normal user, and I'm able to connect my miner directly to bitcoind (using rpcuser and rpcpass).
pushpool and bitcoind run on the same machine.

--snip--

the password is stored unencrypted in the table.

any help is appreciated :-/

Your ports are all messed up.  Try this:

bitcoin.conf:
rpcport=8335 (just choosing something that isn't already taken and isn't 8332 or 8333)


server.json:
(at the bottom):
"rpc.url" : "http://127.0.0.1:8335/",

(at the top):
                # HTTP JSON-RPC protocol, port 8332
                #{ "port" : 8341, "protocol" : "http-json" },
                { "port" : 8332, "protocol" : "http-json" },

Now you'll expose 8332 to the internet via pushpool, and bitcoin/pushpool will communicate over 8335 on localhost.

That configuration should work for you.

Your miner is getting an empty reply from the server because it's trying to connect to bitcoin directly (rpcport=8332, remember?) Bitcoin only allows connections from localhost by default so it simply slams the connection shut.
newbie
Activity: 14
Merit: 0
August 31, 2011, 09:24:02 AM
I'm also stuck at pushpool configuration. I read through the whole thread and the only solution to get rid of the error messages when connecting a miner is to have the rpc port (pushpool) pointing to the rpcport configured in bitcoin.conf.

However when i connect my miner I get error 500.
Quote
root@bully:/home/pushpool/sbin# ./pushpoold -E -F
[2011-08-29 22:03:43.948838] Listening on host :: port 8342
[2011-08-29 22:03:43.949297] Listening on host :: port 8341
[2011-08-29 22:03:43.949385] Listening on host :: port 8334
[2011-08-29 22:03:43.949513] Listening on host 127.0.0.1 port 8338
[2011-08-29 22:03:43.976058] initialized
[2011-08-29 22:03:46.627102] HTTP request failed: The requested URL returned error: 500
[2011-08-29 22:03:47.673728] HTTP request failed: The requested URL returned error: 500
[2011-08-29 22:03:48.752518] HTTP request failed: The requested URL returned error: 500
[2011-08-29 22:03:49.827042] HTTP request failed: The requested URL returned error: 500
[2011-08-29 22:03:50.948836] HTTP request failed: The requested URL returned error: 500

When I connect to port 8333 I get "empty reply from server":

Quote
* Empty reply from server
* Connection #0 to host 127.0.0.1 left intact
[2011-08-31 13:04:1.015652] HTTP request failed: Empty reply from server
JSON protocol request:
{"method": "getwork", "params": [], "id":2}

* Connection #0 seems to be dead!
* Closing connection #0
* About to connect() to 127.0.0.1 port 8333 (#0)
*   Trying 127.0.0.1... * TCP_NODELAY set
* connected
* Connected to 127.0.0.1 (127.0.0.1) port 8333 (#0)
* Server auth using Basic with user 'hidden'
> POST / HTTP/1.1
Authorization: Basic Zm9jazphbG90dA==
Host: 127.0.0.1:8333
Accept: */*
Accept-Encoding: deflate, gzip
Content-type: application/json
Content-Length: 45

these are my config files:

bitcoin.conf
Quote
server=1
rpcuser=hidden
rpcpassword=morehidden
rpcallowip=127.0.0.1
rpcport=8332
gen=0

server.json
Quote
{
        # network ports
        "listen" : [
                # binary protocol (default), port 8342
                { "port" : 8342 },

                # HTTP JSON-RPC protocol, port 8341
                #{ "port" : 8341, "protocol" : "http-json" },
                { "port" : 8341, "protocol" : "http-json" },

                # HTTP JSON-RPC protocol, port 8344,
                # with trusted proxy appserver.example.com forwarding
                # requests to us
                { "port" : 8334, "protocol" : "http-json",
                  "proxy" : "my.external.ip.addr" },

                # binary protocol, localhost-only port 8338
                { "host" : "127.0.0.1", "port" : 8338, "protocol" : "binary" }
        ],

        # database settings
        "database" : {
                "engine" : "mysql",
                "host" : "localhost",
                "port" : 3306,
                "name" : "bitcoin",
                "username" : "blablablasabsa",
                "password" : "blablablasabsa",
                "sharelog" : true,
                "stmt.pwdb":"SELECT `password` FROM `pool_worker` WHERE `username` = ?",
                "stmt.sharelog":"INSERT INTO shares (rem_host, username, our_result, upstream_result, reason, sol$

        },
        # cache settings
        #"memcached" : {
        #       "servers" : [
        #               { "host" : "127.0.0.1", "port" : 11211 }
        #       ]
        #},

        "pid" : "/tmp/pushpoold.pid",

        # overrides local hostname detection
        "forcehost" : "localhost.localdomain",

        "log.requests" : "/tmp/request.log",
        "log.shares" : "/tmp/shares.log",

        # the server assumes longpolling (w/ SIGUSR1 called for each blk)
        "longpoll.disable" : false,

        # length of time to cache username/password credentials, in seconds
        "auth.cred_cache.expire" : 75,

        # RPC settings | Notice how this ISN'T port number 8332 this is becuase the same port number should not b$
        "rpc.url" : "http://127.0.0.1:8333/",
        "rpc.user" : "hidden",
        "rpc.pass" : "morehidden",

        # rewrite returned 'target' to difficulty-1?
        "rpc.target.rewrite" : true
}

some lines are cut by "$" because i copied/paste it from a text editor, but those shouldn't be interesting...

bitcoind runs as normal user, and I'm able to connect my miner directly to bitcoind (using rpcuser and rpcpass).
pushpool and bitcoind run on the same machine.

some more debug output:
Quote
root@bully:~# lsof -i :8332
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bitcoind 3248 user   14u  IPv4  27381      0t0  TCP *:8332 (LISTEN)
root@bully:~# lsof -i :8333
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bitcoind  3248 user    6u  IPv4  27375      0t0  TCP *:8333 (LISTEN)

Quote
mysql> show tables;
+-------------------+
| Tables_in_bitcoin |
+-------------------+
| pool_worker       |
| shares            |
+-------------------+
2 rows in set (0.00 sec)

mysql> describe pool_worker;
+------------------+-------------+------+-----+---------+----------------+
| Field            | Type        | Null | Key | Default | Extra          |
+------------------+-------------+------+-----+---------+----------------+
| id               | int(25)     | NO   | PRI | NULL    | auto_increment |
| associatedUserId | int(25)     | NO   |     | NULL    |                |
| username         | varchar(50) | YES  | UNI | NULL    |                |
| password         | varchar(60) | YES  |     | NULL    |                |
+------------------+-------------+------+-----+---------+----------------+
4 rows in set (0.25 sec)

mysql> select * from pool_worker;
+--------+------------------+----------+-------------+
| id     | associatedUserId | username | password    |
+--------+------------------+----------+-------------+
| 100000 |              100 | bully    | mypassword |
+--------+------------------+----------+-------------+
1 row in set (0.02 sec)

the password is stored unencrypted in the table.

any help is appreciated :-/
newbie
Activity: 15
Merit: 0
August 30, 2011, 10:20:16 PM
Sorry, missed this one. We're multi-threading a single thread. Hah! Smiley

1. Correct mode = up to you. Strictly speaking there's no need to record the failed shares. They are useful for paying out for pool participation, though Smiley In which case the correct mode = true.
2. Yes
3. I've made the same observation. Even when I know the load is sufficient to produce a value, "gethashespersec" always returns 0.  Must be a bug in bitcoin, but one I haven't bothered to track down. The solution I've seen to this exists within the MiningFarm and SimpleCoin pool frontends - essentially they make the following calculation:

* Count all current shares (or shares over a selected time range)
* hashrate = round(((NUMSHARES*4294967296)/600)/1000000, 0);

The magic numbers are:

4294967296 = hashes/share.  When multiplied by shares, gives you a total count of hashes. I'm assuming this magic number is correct; I haven't personally verified it.
600 = seconds in 10 minutes. You'd change this according to your time window. The division here gives you "hashes/sec".
1000000 = hashes/sec to Mhash/s.   Technically I think that number should be 1048576 (1024^2) to fit the strict definition of "mega", but I wouldn't be a stickler about it.  And it would deflate the apparent hash rate.

Late reply I know, but, thanks for the response.

Pages:
Jump to: