Skip to content

Commit

Permalink
Using own libp2p fork for connections reliability
Browse files Browse the repository at this point in the history
  • Loading branch information
juligasa committed Sep 27, 2022
1 parent 7987252 commit 4c88550
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 246 deletions.
3 changes: 3 additions & 0 deletions backend/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ func Default() Config {
P2P: P2P{
Port: 55000,
RelayBackoffDelay: 21600 * time.Minute,
StaticRelayRescan: 1 * time.Minute,
},

Syncing: Syncing{
Expand All @@ -54,6 +55,7 @@ func SetupFlags(fs *flag.FlagSet, cfg *Config) {
fs.BoolVar(&cfg.P2P.NoBootstrap, "p2p.no-bootstrap", cfg.P2P.NoBootstrap, "Disable IPFS bootstrapping")
fs.BoolVar(&cfg.P2P.NoMetrics, "p2p.no-metrics", cfg.P2P.NoMetrics, "Disable Prometheus metrics collection")
fs.DurationVar(&cfg.P2P.RelayBackoffDelay, "p2p.relay-backoff-delay", cfg.P2P.RelayBackoffDelay, "The time in which the autorelay will prune a relay if it cannot connect to it")
fs.DurationVar(&cfg.P2P.StaticRelayRescan, "p2p.static-relay-rescan", cfg.P2P.StaticRelayRescan, "The period for automatic static relay rescanning")
fs.BoolVar(&cfg.P2P.ReportPrivateAddrs, "p2p.report-private-addrs", cfg.P2P.ReportPrivateAddrs, "If true the node will report/announce addresses within private IP ranges")

fs.DurationVar(&cfg.Syncing.WarmupDuration, "syncing.warmup-duration", cfg.Syncing.WarmupDuration, "Time to wait before the first sync loop iteration")
Expand Down Expand Up @@ -88,6 +90,7 @@ type P2P struct {
NoBootstrap bool
NoMetrics bool
RelayBackoffDelay time.Duration
StaticRelayRescan time.Duration
ReportPrivateAddrs bool
}

Expand Down
18 changes: 10 additions & 8 deletions backend/mttnet/mttnet.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,20 +53,20 @@ var userAgent = "mintter/<dev>"
// DefaultRelays bootstrap mintter-owned relays so they can reserveslots to do holepunch.
func DefaultRelays() []peer.AddrInfo {
return []peer.AddrInfo{
// Mintter test server
// Mintter prod server
{
ID: must.Do2(peer.Decode("12D3KooWGvsbBfcbnkecNoRBM7eUTiuriDqUyzu87pobZXSdUUsJ")),
ID: must.Do2(peer.Decode("12D3KooWNmjM4sMbSkDEA6ShvjTgkrJHjMya46fhZ9PjKZ4KVZYq")),
Addrs: []multiaddr.Multiaddr{
must.Do2(multiaddr.NewMultiaddr("/ip4/52.22.139.174/tcp/4002")),
must.Do2(multiaddr.NewMultiaddr("/ip4/52.22.139.174/udp/4002/quic")),
must.Do2(multiaddr.NewMultiaddr("/ip4/23.20.24.146/tcp/4002")),
//must.Do2(multiaddr.NewMultiaddr("/ip4/23.20.24.146/udp/4002/quic")),
},
},
// Mintter prod server
// Mintter test server
{
ID: must.Do2(peer.Decode("12D3KooWNmjM4sMbSkDEA6ShvjTgkrJHjMya46fhZ9PjKZ4KVZYq")),
ID: must.Do2(peer.Decode("12D3KooWGvsbBfcbnkecNoRBM7eUTiuriDqUyzu87pobZXSdUUsJ")),
Addrs: []multiaddr.Multiaddr{
must.Do2(multiaddr.NewMultiaddr("/ip4/23.20.24.146/tcp/4002")),
must.Do2(multiaddr.NewMultiaddr("/ip4/23.20.24.146/udp/4002/quic")),
must.Do2(multiaddr.NewMultiaddr("/ip4/52.22.139.174/tcp/4002")),
//must.Do2(multiaddr.NewMultiaddr("/ip4/52.22.139.174/udp/4002/quic")),
},
},
}
Expand Down Expand Up @@ -383,6 +383,8 @@ func newLibp2p(cfg config.P2P, device crypto.PrivKey) (*ipfs.Libp2p, io.Closer,
libp2p.EnableHolePunching(),
libp2p.EnableNATService(),
libp2p.EnableAutoRelay(autorelay.WithStaticRelays(DefaultRelays()),
autorelay.WithNumRelays(2),
autorelay.WithStaticRescan(cfg.StaticRelayRescan),
autorelay.WithBackoff(cfg.RelayBackoffDelay)),
)
}
Expand Down
2 changes: 2 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,8 @@ require (
nhooyr.io/websocket v1.8.6 // indirect
)

replace github.com/libp2p/go-libp2p => github.com/mintterteam/go-libp2p v0.23.95

replace crawshaw.io/sqlite => ./third_party/sqlite

// LND imports etcd, which imports some very old version of OpenTelemetry,
Expand Down
Loading

0 comments on commit 4c88550

Please sign in to comment.