Skip to content

PoolNode/stratum-ping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

stratum-ping

Abstract

Often the performance of various mining pools is verified using the built-in ping utility. While this approach is feasible, it is more important to measure the actual response time from the pool, as it may be busy or using some geolocation-based forwarding solution that brings the connecting endpoint closer to the user but then it still takes some significant time for the actual data to be transferred.

Therefore we find useful a mining-specific approach when we measure the amount of time required to connect and successfully pass authentication using the Stratum protocol. This provides more accurate readings in regards of what the mining software will actually do when mining.

We use this tool at pool-node internally to measure the performance of our pools. It is capable of pinging through IPv4 and IPv6 with or without TLS.

TL;DR: The ping to the pool server's box is not as significant as the actual response time through Stratum.

Usage

Usage of ./stratum-ping:
  -6    use ipv6
  -c int
        stop after <count> replies (default 5)
  -p string
        pass (default "x")
  -t string
        stratum type: stratum1, stratum2 (default "stratum2")
  -tls
        use TLS
  -u string
        login (default "0x6a6eE2d7d06aa9b47B25957EC1E1D8124837FfEc")

Example Usage

IPv4 without TLS:

# ./stratum-ping eth-solo.pool-node.com:5000
PING stratum eth-solo.pool-node.com (51.89.64.65) port 5000
eth-solo.pool-node.com (51.89.64.65): seq=0, time=14.239754ms
eth-solo.pool-node.com (51.89.64.65): seq=1, time=14.318485ms
eth-solo.pool-node.com (51.89.64.65): seq=2, time=16.103118ms
eth-solo.pool-node.com (51.89.64.65): seq=3, time=15.77519ms
eth-solo.pool-node.com (51.89.64.65): seq=4, time=14.223268ms

--- eth-solo.pool-node.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 5.150504495s
min/avg/max = 14.223268ms, 14.931963ms, 16.103118ms

IPv4 using TLS:

# ./stratum-ping -tls eth-solo.pool-node.com:5004
PING stratum eth-solo.pool-node.com (51.195.88.15) TLS port 5004
eth-solo.pool-node.com (51.195.88.15): seq=0, time=308.065µs
eth-solo.pool-node.com (51.195.88.15): seq=1, time=165.527µs
eth-solo.pool-node.com (51.195.88.15): seq=2, time=192.482µs
eth-solo.pool-node.com (51.195.88.15): seq=3, time=191.818µs
eth-solo.pool-node.com (51.195.88.15): seq=4, time=169.952µs

--- eth-solo.pool-node.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 5.021413961s
min/avg/max = 165.527µs, 205.568µs, 308.065µs

IPv6 without TLS:

# ./stratum-ping -6 eth-solo.pool-node.com:5000
PING stratum eth-solo.pool-node.com (2001:41d0:700:3441::) port 5000
eth-solo.pool-node.com (2001:41d0:700:3441::): seq=0, time=176.611µs
eth-solo.pool-node.com (2001:41d0:700:3441::): seq=1, time=177.769µs
eth-solo.pool-node.com (2001:41d0:700:3441::): seq=2, time=185.733µs
eth-solo.pool-node.com (2001:41d0:700:3441::): seq=3, time=166.971µs
eth-solo.pool-node.com (2001:41d0:700:3441::): seq=4, time=171.775µs

--- eth-solo.pool-node.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 5.002555972s
min/avg/max = 166.971µs, 175.771µs, 185.733µs

Copyright

Copyright ©2021, pool-node.com.com. All rights reserved.