From ea269c7ef1a65960d680f405de21708ba477ecce Mon Sep 17 00:00:00 2001 From: Jon Atack Date: Sat, 1 May 2021 20:50:01 +0200 Subject: [PATCH] contrib: parse I2P addresses in generate-seeds.py --- contrib/seeds/generate-seeds.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/contrib/seeds/generate-seeds.py b/contrib/seeds/generate-seeds.py index d95069277df..9560b586ecb 100755 --- a/contrib/seeds/generate-seeds.py +++ b/contrib/seeds/generate-seeds.py @@ -16,6 +16,7 @@ These files must consist of lines in the format : []: .onion: + .b32.i2p: The output will be two data structures with the peers in binary format: @@ -52,6 +53,12 @@ def name_to_bip155(addr): return (BIP155Network.TORV3, vchAddr[:32]) else: raise ValueError('Invalid onion %s' % vchAddr) + elif addr.endswith('.b32.i2p'): + vchAddr = b32decode(addr[0:-8] + '====', True) + if len(vchAddr) == 32: + return (BIP155Network.I2P, vchAddr) + else: + raise ValueError(f'Invalid I2P {vchAddr}') elif '.' in addr: # IPv4 return (BIP155Network.IPV4, bytes((int(x) for x in addr.split('.')))) elif ':' in addr: # IPv6