Looks really good.
Have not evaluated the scoring, but have three suggestions that would make this the go-to resource for choosing a p2pool node:
1. Try to include all active nodes automatically - perhaps by looking at each discovered nodes complete peer list for missing nodes?
2. Latency scoring is basically irrelevant unless you are running from the visitors computer (or close to it) to the actual node, when I looked into this a while ago the most suitable solution I found was
https://www.ookla.com/ Netguage, however the price of the service was prohibitive for me, perhaps you will come up with a better solution.
3. If you solve the latency and missing node issue, a valuable service to node operators would be to provide an export of the 10 best/closest online nodes to add to the command line when starting p2pool.
Great work!
Thanks for the suggestions and glad you like
nodes.p2pool.co.
1. Yes, automating collecting the node data will be in phase 2. Getting this version out took me longer than I would have liked though so I could not get everything out all at once.
2.
nodes.p2pool.co IS running from the visitors computer. Other node finders grab some data from the node and calculate the time to get that data. Unless you run that test many times it is a highly variable and poor latency test. What
nodes.p2pool.co does is it calculates the physical distance between your computer and each p2pool node. (I use
maxmind.com to locate the p2pool server from its IP address.) From there it computes latency which is pretty accurate. It calculates the speed of light between the two distances on the globe and multiples it by three since no connection is a straight line and it needs to travel through routers and since fiber slows the signal down a bit. It also adds 20ms for the computers to process the signals. Try it, it should be a pretty accurate method. With all that said I will still check out Ookla - it is probably even more accurate.
3. Yes, I was thinking the same. However, does p2pool actually figure this out on its own over time? I actually don't know but looking at the logs I know it drops unresponsive peers and pulls in new ones.