forked from bitcoin/bitcoin
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Open
Description
Fixed seed nodes.
PR: #1029
3.68.34.196:9333 => VERSION 107
5.100.250.140:9333 => NO RESPONSE
5.133.65.82:9333 => NO RESPONSE
5.149.250.76:9333 => NO RESPONSE
5.199.168.101:9333 => NO RESPONSE
15.204.183.3:9333 => NO RESPONSE
18.193.218.8:9333 => VERSION 107
34.206.199.154:9333 => NO RESPONSE
37.187.29.140:9333 => NO RESPONSE
45.77.162.206:9333 => NO RESPONSE
45.135.92.41:9333 => NO RESPONSE
46.19.67.66:9333 => VERSION 107
46.4.35.198:9333 => NO RESPONSE
51.210.217.144:9333 => VERSION 107
54.37.80.7:9333 => NO RESPONSE
54.37.80.214:9333 => NO RESPONSE
54.211.175.39:9333 => VERSION 109
64.227.105.219:9333 => NO RESPONSE
67.21.93.74:9333 => VERSION 107
69.165.205.142:9933 => VERSION 107
70.181.13.143:9333 => VERSION 107
72.68.211.215:9333 => NO RESPONSE
75.119.135.155:9333 => NO RESPONSE
77.221.211.137:9333 => NO RESPONSE
77.247.178.158:9333 => VERSION 107
80.111.142.213:9333 => VERSION 107
81.78.192.98:9333 => NO RESPONSE
84.201.173.23:9333 => NO RESPONSE
85.15.179.171:9333 => NO RESPONSE
85.214.61.209:9333 => VERSION 107
86.71.47.11:9333 => NO RESPONSE
89.19.26.211:9333 => VERSION 107
90.127.109.104:9333 => NO RESPONSE
91.193.181.3:9333 => VERSION 107
91.228.147.153:9333 => VERSION 107
93.183.72.195:9333 => NO RESPONSE
94.130.49.164:9333 => NO RESPONSE
95.43.97.84:9333 => NO RESPONSE
95.211.210.38:9333 => VERSION 107
97.115.248.110:9333 => NO RESPONSE
136.244.65.212:9333 => NO RESPONSE
142.132.218.251:9333 => NO RESPONSE
144.91.104.184:9333 => NO RESPONSE
146.59.69.245:9333 => VERSION 107
149.7.16.137:9333 => VERSION 109
157.161.128.57:9333 => NO RESPONSE
165.227.148.108:9333 => NO RESPONSE
173.208.172.165:9333 => NO RESPONSE
173.212.242.5:9333 => NO RESPONSE
174.60.186.254:9333 => NO RESPONSE
178.10.236.205:9333 => NO RESPONSE
178.41.11.254:9333 => NO RESPONSE
178.196.21.241:9333 => NO RESPONSE
185.26.30.134:7203 => NO RESPONSE
188.143.140.154:9333 => VERSION 107
190.2.130.27:9333 => VERSION 107
195.154.187.6:9333 => VERSION 107
206.189.195.1:9333 => NO RESPONSE
207.246.96.81:9333 => NO RESPONSE
207.255.193.47:9333 => NO RESPONSE
212.7.202.120:9333 => NO RESPONSE
212.92.101.189:9333 => VERSION 107
213.129.124.50:9333 => NO RESPONSE
217.182.200.177:9333 => NO RESPONSE
221.216.141.193:2321 => NO RESPONSE
nodes-check.py
import socket
import struct
import time
import hashlib
import os
def load_nodes(filename):
nodes = []
with open(filename) as f:
for line in f:
line = line.strip()
if not line or ':' not in line or line.startswith('#'):
continue
host, port = line.split(':', 1)
try:
port = int(port)
nodes.append((host, port))
except ValueError:
continue
return nodes
def make_version_payload():
version = 70015
services = 0
timestamp = int(time.time())
addr_recv = b"\x00" * 26
addr_from = b"\x00" * 26
nonce = 0
user_agent = b'\x0f' + b'/LiteNodeCheck:0.1/'
start_height = 0
relay = 0
payload = struct.pack('<iQQ', version, services, timestamp)
payload += addr_recv
payload += addr_from
payload += struct.pack('<Q', nonce)
payload += user_agent
payload += struct.pack('<i?', start_height, relay)
return payload
def bitcoin_checksum(payload):
return hashlib.sha256(hashlib.sha256(payload).digest()).digest()[:4]
def make_version_message():
magic = b'\xfb\xc0\xb6\xdb'
command = b'version' + b'\x00' * (12 - len('version'))
payload = make_version_payload()
length = struct.pack('<I', len(payload))
checksum = bitcoin_checksum(payload)
return magic + command + length + checksum + payload
def get_litecoin_version(host, port, timeout=2):
msg = make_version_message()
try:
with socket.create_connection((host, port), timeout=timeout) as s:
s.settimeout(timeout)
s.sendall(msg)
data = s.recv(1024)
if b'version' in data:
idx = data.find(b'version')
version_payload = data[idx+12:idx+16]
if len(version_payload) == 4:
version = struct.unpack('<i', version_payload)[0]
return version
except Exception as e:
# print(f"{host}:{port} => Error: {e}")
pass
return None
def main():
script_dir = os.path.dirname(os.path.abspath(__file__))
nodes_file = os.path.join(script_dir, "nodes.txt")
nodes = load_nodes(nodes_file)
print(f"Checking Litecoin node versions ({len(nodes)} nodes):\n")
for host, port in nodes:
version = get_litecoin_version(host, port)
if version:
print(f"{host}:{port} => VERSION {version}")
else:
print(f"{host}:{port} => NO RESPONSE")
if __name__ == "__main__":
main()
Metadata
Metadata
Assignees
Labels
No labels