Author

Topic: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool - page 297. (Read 2591971 times)

member
Activity: 112
Merit: 10
Indeed, thanks a bunch Matt and hamburgerhelper!  Very useful and appreciate the quick response.

Been away from java for a couple years, forgot about xms and xmx... that should help my 11G virt mem issue... Smiley
hero member
Activity: 924
Merit: 1000
Watch out for the "Neg-Rep-Dogie-Police".....
Change to the Relay Network region closest to your p2pool node:
Code:
ExecStart=/bin/java -Xmx100m -jar /PATH/TO/RelayNodeClient.jar public.YOURRELAYREGION.relay.mattcorallo.com 127.0.0.1:8333

Shouldn't this be:

Code:
ExecStart=/bin/java -Xmx100m -jar /PATH/TO/RelayNodeClient.jar public.YOURRELAYREGION.relay.mattcorallo.com:8335

 Huh
legendary
Activity: 1258
Merit: 1027
Someone asked me this in email so I figured I'd copy the response here:

....

Thank you very much Matt!!
member
Activity: 83
Merit: 10
This may not be too useful since most people don't run CentOS7 / RHEL7, but here's a systemd script to run the RelayNodeClient application. Systemd has the very nice feature that it will restart the process if it dies, and all stdout messages can be monitored with "journalctl -f -u relaynodeclient". Put the text below into a file such as: /etc/systemd/system/relaynodeclient.service

Then change the following to appropriate values:

Change to the name of your bitcoind systemd unit file:
Code:
After=bitcoin.service

Change to the name of your relaynodeclient user and group:
Code:
User=YOURRELAYUSER
Group=YOURRELAYGROUP

Change to the Relay Network region closest to your p2pool node:
Code:
ExecStart=/bin/java -Xmx100m -jar /PATH/TO/RelayNodeClient.jar public.YOURRELAYREGION.relay.mattcorallo.com 127.0.0.1:8333

Code:
[Unit]
Description=relaynodeclient
After=network.target
After=bitcoin.service

[Service]
Type=simple
User=YOURRELAYUSER
Group=YOURRELAYGROUP
ExecStart=/bin/java -Xmx100m -jar /PATH/TO/RelayNodeClient.jar public.YOURRELAYREGION.relay.mattcorallo.com 127.0.0.1:8333
Restart=always

[Install]
WantedBy=multi-user.target

*Edited to add Matt's suggestion of limiting java's heap space to 100 MB to conserve RAM.
hero member
Activity: 924
Merit: 1000
Watch out for the "Neg-Rep-Dogie-Police".....
Someone asked me this in email so I figured I'd copy the response here:

> Someone on the forum wanted me to ask if there's any advantage to
> running java RelayNodeClient versus simply connecting bitcoind to the
> Relay Network via "addnode"?

Yes, there is quite a huge advantage to it - namely if you connect to
your nearest Relay Network addnode you get the blocks relayed as normal
(ie the whole block is sent again), if you use the relay client (which,
despite it being java uses almost no memory/CPU, and can be easily kept
from growing its heap with -Xmx100m) the only thing relayed over the
wire is transactions you havent seen before, so it can (more often than
not) fit the entire block in one TCP packet. Also, addnode does not
reconnect very aggressively and, as such, if the relay node gets
restarted due to upgrade or whatever, you will likely lose the
connection and not end up reconnecting for a day or so, however the
relay network client will reconnect almost immediately.

If there is enough demand, I've been considering rewriting the relay network client in Rust/C++/whatever for those with concerns.

Matt

Thanks for clearing that up Matt!  I'm not a big fan of java tbh (as you can probably tell  Wink), so if you do get enough demand for the client in C++/whatever I'd definitely be interested in using that instead.

Nice one  Smiley
hero member
Activity: 755
Merit: 515
On a related note, I usually dont monitor bitcointalk, but if you have any questions regarding the relay network, bitcoin-peering@ my full name.com is there to help.
member
Activity: 83
Merit: 10
^ That's what he says. Smiley
hero member
Activity: 755
Merit: 515
Someone asked me this in email so I figured I'd copy the response here:

> Someone on the forum wanted me to ask if there's any advantage to
> running java RelayNodeClient versus simply connecting bitcoind to the
> Relay Network via "addnode"?

Yes, there is quite a huge advantage to it - namely if you connect to
your nearest Relay Network addnode you get the blocks relayed as normal
(ie the whole block is sent again), if you use the relay client (which,
despite it being java uses almost no memory/CPU, and can be easily kept
from growing its heap with -Xmx100m) the only thing relayed over the
wire is transactions you havent seen before, so it can (more often than
not) fit the entire block in one TCP packet. Also, addnode does not
reconnect very aggressively and, as such, if the relay node gets
restarted due to upgrade or whatever, you will likely lose the
connection and not end up reconnecting for a day or so, however the
relay network client will reconnect almost immediately.

If there is enough demand, I've been considering rewriting the relay network client in Rust/C++/whatever for those with concerns.

Matt
member
Activity: 83
Merit: 10
Good idea. I'll see what he says.
member
Activity: 112
Merit: 10
If you're running RelayNodeClient.jar it looks like it's time to upgrade. I got the following email from the author, Matt Corallo:

Sorry for the inconvenience, please upgrade your relay client node as an
incompatible server change was made Sad. Still, fitting most blocks in
one TCP packet is probably worth it.

I'm waiting to hear back from him to see if he will be producing a .jar file, right now there's only RelayNodeClient.java.
If you're in conversation with him, can you ask whether the jar file is even needed?  Seems like putting it in the bitcoin.conf does the trick as well, or are there things within the jar that specifically aren't available by just peering using "addnode"?  If it's fine just peering, like PatMan said, one less thing to have to worry about especially with the associated java bloat.
member
Activity: 83
Merit: 10
If you're running RelayNodeClient.jar it looks like it's time to upgrade. I got the following email from the author, Matt Corallo:

Sorry for the inconvenience, please upgrade your relay client node as an
incompatible server change was made Sad. Still, fitting most blocks in
one TCP packet is probably worth it.

I'm waiting to hear back from him to see if he will be producing a .jar file, right now there's only RelayNodeClient.java.
member
Activity: 395
Merit: 10
i am currently earning 0.035 - 0.04 btc everyday with 1.5 TH i wanted to know how much would i earned in p2pool and wicth pool would i use since there are lots of them or i don't get it would love some explanation
the same or more.
You dont use a public p2pool, you setup p2pool on a local machine.
Mining on a remote p2pool is stupid and if you want to do this, you could just stick to the pool your already using.
So much fail.... *sigh*  And people wonder why p2pool doesn't get higher adoption rates with answers like this.

You CAN use a public P2Pool node, take a look at this page for a listing of some of them - http://p2pool-nodes.info/ - you can sort by country, latency, etc.  Just find a couple geographically close to you and ping them... the lower the ping (latency), the better off you will be.

It is absolutely NOT stupid to mine on a remote p2pool node, especially if you have one close enough to you.  If you aren't close enough to a public node it could affect your performance, so it might be more wise to look at building your own local node if you have the capability, but some folks don't have the resources to do that.  It's all about your comfort level and resources.

The main issue with p2pool is latency - how quickly your miners can communicate to the node you're mining on.  The lower the latency, the less DOA rate you will have.  The less DOA you have the better chance you have of getting good shares, and thus payouts.  This is why it's RECOMMENDED to bring up your own p2pool node locally, because obviously the miners are right next to the node.

There's a bunch more to go into with DOA, shares, stales/orphans and how in general it works if you want to.  The bottom line is that all things equal, over time, you should see at least equal if not better payouts on p2pool versus others, as long as you have a decent hashrate, which I personally consider over 600GH/s.  Judging from your payouts I'd say you have about 1.2-1.5 TH/s, which should be plenty fine.

To configure it's simple.  Once you find a pool node it would look like this-

Pool: stratum+tcp://ip.add.ress.here:9332
Pool worker:  {your bitcoin payment address here}
Pool password:  anything123

I would suggest finding at least 2 P2Pool nodes for pool1 and pool2, and then put your original proprietary node in for pool3.  This way you're covered with failovers and backup in case any of the p2pool nodes go down.

And, no matter what pool node you mine on, if you keep your payment address the same (the pool worker), your shares and payouts will "follow" you to whatever node you're on, so you won't lose any mining time if you failover to another node.

Hope this helps to get you started.  Read up on the last 20-30 pages of this thread if you can at least, and post more questions, most folks here are pretty helpful.



allright so i looked at the other p2pools remote from whre i am now shoudl i put those in higher priority ? then my local one ?


i am currently earning 0.035 - 0.04 btc everyday with 1.5 TH i wanted to know how much would i earned in p2pool and wicth pool would i use since there are lots of them or i don't get it would love some explanation

the same or more.

In the short term (i.e. "per day") variance will be much higher. At 1.5 TH/s and the current pool rate you should expect a payout from each block the pool finds (after you have a share in the chain), here is the closest example to 1.5 TH/s I could find on my node, the payouts per block should give you an idea of what to expect:

http://minefast.coincadence.com/miner.php?id=1JPVPkdnpYYwyYic51id6anMBn9weHwVV9

You dont use a public p2pool, you setup p2pool on a local machine.

Mining on a remote p2pool is stupid and if you want to do this, you could just stick to the pool your already using.

I disagree.

While setting up your own local node is ideal, and how p2pool is intended to be used, it is not a requirement, and mining on a public node is a great way to get started with p2pool.

There are many 0% fee public nodes available to give the pool a try, I would recommend committing for a minimum of 4 days. P2pool uses a PPLNS payout system and the share chain is ~3 days long, any amount of time under that will not give you accurate results.

In picking a public node latency (the time it takes your data to reach the server) is very important. Find your 2-3 closest nodes by using ping and use those in your miner configuration.

My node is in the US east, for other nodes you can explore here:

http://p2pool-nodes.info/

Patience is very important with p2pool. Once you are connected to your closest node for a couple hours check the stats, as long as your DOA rate is lower then the pool average your are doing just fine. Then sit back and let your miners do their thing. Again I would say 4 days is a minimum.



i will be doing this thank you very much for your help Cheesy
hero member
Activity: 924
Merit: 1000
Watch out for the "Neg-Rep-Dogie-Police".....
Good stuff  Smiley

The way I see it, the less processes running - the more resources available for p2pool/bitcoind, especially when java is involved  Wink
member
Activity: 112
Merit: 10
Use:   "bitcoind getaddednodeinfo true"
Thanks, appears to be working then:

[
    {
        "addednode" : "public.us-east.relay.mattcorallo.com:8335",
        "connected" : true,
        "addresses" : [
            {
                "address" : "162.243.69.180:8335",
                "connected" : "outbound"
            }
        ]
    }
]
hero member
Activity: 924
Merit: 1000
Watch out for the "Neg-Rep-Dogie-Police".....
Use:   "bitcoind getaddednodeinfo true"
member
Activity: 112
Merit: 10
Ok, added it to the config like so:

addnode=public.us-east.relay.mattcorallo.com:8335

Seems to be connected to it as a peer:

{
        "addr" : "162.243.69.180:8335",
        "addrlocal" : "xxxxxxxx:8333",
        "services" : "00000001",
        "lastsend" : 1408993934,
        "lastrecv" : 1408993934,
        "bytessent" : 16863,
        "bytesrecv" : 98873,
        "conntime" : 1408993664,
        "pingtime" : 0.00000000,
        "version" : 70001,
        "subver" : "/BitCoinJ:0.12SNAPSHOT/RelayNode:tiny tarantula/",
        "inbound" : false,
        "startingheight" : 1,
        "banscore" : 0,
        "syncnode" : false
    },

Question is, is there any way to know it's really working?  With the java version it at least spit out messages to console about the transactions it was sending.  Now there's nothing like that in the debug log so far.  I'm going to have to assume it's just working in the background and watch the efficiency numbers to see if any difference.

Up to 36/1/0 111.8% efficiency right now.  My GBT latency actually went down, I'm at .173 right now... and I also am doing 7 or 8 merged coins.

Would be awesome if that keeps up.
hero member
Activity: 924
Merit: 1000
Watch out for the "Neg-Rep-Dogie-Police".....
Don't forget to include the port 8335 at the end - my syntax reads:

addnode=public.eu.relay.mattcorallo.com:8335

I have noticed a very slight increase in the bitcoind latency (~0.04sec), but I put this down to the faster block/Tx delivery & it hasn't impaired the performance at all - I'm currently @ 115% & 0.18 latency after using the backbone setting for 3 days now - pretty good considering I'm merge mining 8 coins on this single node  Smiley
member
Activity: 112
Merit: 10
I too have noticed an increase in efficiency since using Matts "backbone" - by simply adding it to the .conf file. Is there a reason why you decided to use the jar file? I hate using anything java - it's such a resource hog.
Read a few posts back that using addnode didn't seem to work.  Maybe I was misreading it and the issue was trying to add it while running instead of adding it and restarting.  Maybe I'll go plop it in the conf file and see what happens.
hero member
Activity: 924
Merit: 1000
Watch out for the "Neg-Rep-Dogie-Police".....
Has anyone read about Matt Corallo's new "bitcoin backbone project" - https://bitcoinfoundation.org/2014/08/a-bitcoin-backbone - would it make sense to connect bitcoind from a P2Pool set up to this low latency backbone.
So I did this yesterday, downloaded the jar and ran it on the commandline using nohup.  Eventually will probably add it into the p2pool startup script so it's all handled automatically.  Logfile shows decent transaction activity.

Since server restart just over 24 hours ago, my efficiency hasn't dipped below 110% (that I've seen), and is currently hitting 114.5% ... Smiley.  31 shares, 1 orphan, no dead. 

Previously I was bouncing between 95-105%, lately a little under 100% a bit with about a 14% share loss.

So, we'll see how this runs over time... if it keeps up the way it is, then it's a big thumbs up in my book.

EDIT - although it seems to be a bit of a resource hog - 11G of virt RAM according to top.  Then again that could be just usual Java bloat and not necessarily this program since it really isn't much.



I too have noticed an increase in efficiency since using Matts "backbone" - by simply adding it to the .conf file. Is there a reason why you decided to use the jar file? I hate using anything java - it's such a resource hog.
member
Activity: 98
Merit: 10
I pointed out her/his inaccuracies about p2pool.info previously here:

https://bitcointalksearch.org/topic/m.8467067

Some trolls just refuse to listen......... Roll Eyes


lol 1st time I have seen that was now does not look at every thread i post in  unless IT it is a tagged message etc a quote message in reply to a post made....   AS highlighted in that thread  

Also that post was 10 days after I helped that user connect to the P2 so was well and done in that thread

lol at the troll part just off that thread does a troll help a new user out by answering their questions and getting them connected to the p2 NO  as can be seen in that thread couple posts above the linked one here so keep going with the pot shots Smiley   YA really just highlighting how un helpfully you are in this thread and wanting to take pot shots at people Smiley
Jump to: