mirror of
https://github.com/status-im/nim-codex.git
synced 2025-01-10 19:06:28 +00:00
0ecbfcec9f
* setup and persist private key * return dht record spr * helper to remap multiaddr ip and port * set/update discovery and announce addrs * add nat and discovery IPs * allow for announce and DHT addresses separatelly * update tests * check for nat or discoveryIp * fix integration tests * misc align * don't share data dirs and and set bootstrap node * add log scope * remap announceAddrs after node start * simplify discovery initialization * make nat and disc-ip required * add log scope don't init dht spr in constructor * bump dht * dissallow `0.0.0.0` for `--nat`
41 lines
911 B
Nim
41 lines
911 B
Nim
## Nim-Codex
|
|
## Copyright (c) 2022 Status Research & Development GmbH
|
|
## Licensed under either of
|
|
## * Apache License, version 2.0, ([LICENSE-APACHE](LICENSE-APACHE))
|
|
## * MIT license ([LICENSE-MIT](LICENSE-MIT))
|
|
## at your option.
|
|
## This file may not be copied, modified, or distributed except according to
|
|
## those terms.
|
|
|
|
import pkg/upraises
|
|
push: {.upraises: [].}
|
|
|
|
import std/strutils
|
|
import std/options
|
|
|
|
import pkg/libp2p
|
|
import pkg/stew/shims/net
|
|
|
|
func remapAddr*(
|
|
address: MultiAddress,
|
|
ip: Option[ValidIpAddress] = ValidIpAddress.none,
|
|
port: Option[Port] = Port.none): MultiAddress =
|
|
## Remap addresses to new IP and/or Port
|
|
##
|
|
|
|
var
|
|
parts = ($address).split("/")
|
|
|
|
parts[2] = if ip.isSome:
|
|
$ip.get
|
|
else:
|
|
parts[2]
|
|
|
|
parts[4] = if port.isSome:
|
|
$port.get
|
|
else:
|
|
parts[4]
|
|
|
|
MultiAddress.init(parts.join("/"))
|
|
.expect("Should construct multiaddress")
|