浏览代码

Utility to create pnSeed array

tags/v0.15.1
Gavin Andresen 8 年前
父节点
当前提交
9126e08739
共有 2 个文件被更改,包括 41 次插入0 次删除
  1. 9
    0
      contrib/seeds/README
  2. 32
    0
      contrib/seeds/makeseeds.py

+ 9
- 0
contrib/seeds/README 查看文件

@@ -0,0 +1,9 @@
Utility to generate the pnSeed[] array that is compiled into the client
(see src/net.cpp).

The 600 seeds compiled into the 0.8 release were created from sipa's DNS seed data, like this:

curl -s http://bitcoin.sipa.be/seeds.txt | head -1000 | makeseeds.py

The input to makeseeds.py is assumed to be approximately sorted from most-reliable to least-reliable,
with IP:port first on each line (lines that don't match IPv4:port are ignored).

+ 32
- 0
contrib/seeds/makeseeds.py 查看文件

@@ -0,0 +1,32 @@
#!/usr/bin/env python
#
# Generate pnSeed[] from Pieter's DNS seeder
#

NSEEDS=600

import re
import sys
from subprocess import check_output

def main():
lines = sys.stdin.readlines()

ips = []
pattern = re.compile(r"^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}):8333")
for line in lines:
m = pattern.match(line)
if m is None:
continue
ip = 0
for i in range(0,4):
ip = ip + (int(m.group(i+1)) << (8*(i)))
if ip == 0:
continue
ips.append(ip)

for row in range(0, min(NSEEDS,len(ips)), 8):
print " " + ", ".join([ "0x%08x"%i for i in ips[row:row+8] ]) + ","

if __name__ == '__main__':
main()

正在加载...
取消
保存