From 98d2fef6ec8703be5b78e1d847e445e3846c0c5e Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Fri, 17 Jan 2020 06:28:23 -0800 Subject: [PATCH] fix: use pre-defined relays for autorelay Unfortunately, we don't currently have any way to pick out good relays from bad. That means we keep searching, trying bad relays, searching some more, trying _the same relays_, etc. until we randomly find 3 good stable relays. In practice, this means we just keep searching forever and keep thrashing the DHT. see https://github.com/libp2p/go-libp2p/issues/694 --- core/node/libp2p/relay.go | 2 +- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/node/libp2p/relay.go b/core/node/libp2p/relay.go index 59fe1cdd1..ac75aa667 100644 --- a/core/node/libp2p/relay.go +++ b/core/node/libp2p/relay.go @@ -21,4 +21,4 @@ func Relay(disable, enableHop bool) func() (opts Libp2pOpts, err error) { } } -var AutoRelay = simpleOpt(libp2p.EnableAutoRelay()) +var AutoRelay = simpleOpt(libp2p.ChainOptions(libp2p.EnableAutoRelay(), libp2p.DefaultStaticRelays())) diff --git a/go.mod b/go.mod index 4e471b719..cd3106283 100644 --- a/go.mod +++ b/go.mod @@ -57,7 +57,7 @@ require ( github.com/jbenet/go-random v0.0.0-20190219211222-123a90aedc0c github.com/jbenet/go-temp-err-catcher v0.0.0-20150120210811-aac704a3f4f2 github.com/jbenet/goprocess v0.1.3 - github.com/libp2p/go-libp2p v0.5.0 + github.com/libp2p/go-libp2p v0.5.1 github.com/libp2p/go-libp2p-autonat-svc v0.1.0 github.com/libp2p/go-libp2p-circuit v0.1.4 github.com/libp2p/go-libp2p-connmgr v0.1.1 diff --git a/go.sum b/go.sum index b3afe247e..f359442f8 100644 --- a/go.sum +++ b/go.sum @@ -354,8 +354,8 @@ github.com/libp2p/go-libp2p v0.4.0 h1:nV2q3fdhL80OWtPyBrsoWKcw32qC4TbbR+iGjEOMRa github.com/libp2p/go-libp2p v0.4.0/go.mod h1:9EsEIf9p2UDuwtPd0DwJsAl0qXVxgAnuDGRvHbfATfI= github.com/libp2p/go-libp2p v0.4.2 h1:p0cthB0jDNHO4gH2HzS8/nAMMXbfUlFHs0jwZ4U+F2g= github.com/libp2p/go-libp2p v0.4.2/go.mod h1:MNmgUxUw5pMsdOzMlT0EE7oKjRasl+WyVwM0IBlpKgQ= -github.com/libp2p/go-libp2p v0.5.0 h1:/nnb5mc2TK6TwknECsWIkfCwMTHv0AXbvzxlnVivfeg= -github.com/libp2p/go-libp2p v0.5.0/go.mod h1:Os7a5Z3B+ErF4v7zgIJ7nBHNu2LYt8ZMLkTQUB3G/wA= +github.com/libp2p/go-libp2p v0.5.1 h1:kZ9jg+2B9IIptRcltBHKBrQdhXNNSrjCoztvrMx7tqI= +github.com/libp2p/go-libp2p v0.5.1/go.mod h1:Os7a5Z3B+ErF4v7zgIJ7nBHNu2LYt8ZMLkTQUB3G/wA= github.com/libp2p/go-libp2p-autonat v0.0.2/go.mod h1:fs71q5Xk+pdnKU014o2iq1RhMs9/PMaG5zXRFNnIIT4= github.com/libp2p/go-libp2p-autonat v0.0.6/go.mod h1:uZneLdOkZHro35xIhpbtTzLlgYturpu4J5+0cZK3MqE= github.com/libp2p/go-libp2p-autonat v0.1.0 h1:aCWAu43Ri4nU0ZPO7NyLzUvvfqd0nE3dX0R/ZGYVgOU=