|
@@ -1,13 +1,11 @@
|
|
from typing import Dict, List, Tuple
|
|
from typing import Dict, List, Tuple
|
|
|
|
|
|
-from multiaddr import Multiaddr
|
|
|
|
from pydantic import BaseModel, StrictFloat, confloat, conint
|
|
from pydantic import BaseModel, StrictFloat, confloat, conint
|
|
|
|
|
|
-from hivemind import choose_ip_address
|
|
|
|
from hivemind.dht.crypto import RSASignatureValidator
|
|
from hivemind.dht.crypto import RSASignatureValidator
|
|
from hivemind.dht.schema import BytesWithPublicKey, SchemaValidator
|
|
from hivemind.dht.schema import BytesWithPublicKey, SchemaValidator
|
|
from hivemind.dht.validation import RecordValidatorBase
|
|
from hivemind.dht.validation import RecordValidatorBase
|
|
-from hivemind.utils.logging import TextStyle, get_logger
|
|
|
|
|
|
+from hivemind.utils.logging import get_logger
|
|
|
|
|
|
logger = get_logger(__name__)
|
|
logger = get_logger(__name__)
|
|
|
|
|
|
@@ -28,23 +26,3 @@ def make_validators(run_id: str) -> Tuple[List[RecordValidatorBase], bytes]:
|
|
signature_validator = RSASignatureValidator()
|
|
signature_validator = RSASignatureValidator()
|
|
validators = [SchemaValidator(MetricSchema, prefix=run_id), signature_validator]
|
|
validators = [SchemaValidator(MetricSchema, prefix=run_id), signature_validator]
|
|
return validators, signature_validator.local_public_key
|
|
return validators, signature_validator.local_public_key
|
|
-
|
|
|
|
-
|
|
|
|
-def log_visible_maddrs(visible_maddrs: List[Multiaddr], only_p2p: bool) -> None:
|
|
|
|
- if only_p2p:
|
|
|
|
- unique_addrs = {addr["p2p"] for addr in visible_maddrs}
|
|
|
|
- initial_peers_str = " ".join(f"/p2p/{addr}" for addr in unique_addrs)
|
|
|
|
- else:
|
|
|
|
- available_ips = [Multiaddr(addr) for addr in visible_maddrs if "ip4" in addr or "ip6" in addr]
|
|
|
|
- if available_ips:
|
|
|
|
- preferred_ip = choose_ip_address(available_ips)
|
|
|
|
- selected_maddrs = [addr for addr in visible_maddrs if preferred_ip in str(addr)]
|
|
|
|
- else:
|
|
|
|
- selected_maddrs = visible_maddrs
|
|
|
|
- initial_peers_str = " ".join(str(addr) for addr in selected_maddrs)
|
|
|
|
-
|
|
|
|
- logger.info(
|
|
|
|
- f"Running a DHT peer. To connect other peers to this one over the Internet, use "
|
|
|
|
- f"{TextStyle.BOLD}{TextStyle.BLUE}--initial_peers {initial_peers_str}{TextStyle.RESET}"
|
|
|
|
- )
|
|
|
|
- logger.info(f"Full list of visible multiaddresses: {' '.join(str(addr) for addr in visible_maddrs)}")
|
|
|