From e7e4c62d5c196e9515209ba4a0981dc993bd3705 Mon Sep 17 00:00:00 2001 From: pingke Date: Sat, 2 Apr 2022 17:36:05 +0800 Subject: [PATCH 01/15] add limited peer function --- p2p/limited_peer_host.go | 38 ++++++++++++++++++++++++++++++++++++++ p2p/p2p.go | 9 ++++++--- 2 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 p2p/limited_peer_host.go diff --git a/p2p/limited_peer_host.go b/p2p/limited_peer_host.go new file mode 100644 index 0000000..f43313b --- /dev/null +++ b/p2p/limited_peer_host.go @@ -0,0 +1,38 @@ +package p2p + +import ( + "context" + "fmt" + "github.com/ethereum/go-ethereum/log" + "github.com/libp2p/go-libp2p-core/host" + "github.com/libp2p/go-libp2p-core/network" + "github.com/libp2p/go-libp2p-core/peer" +) + +type p2pHost host.Host + +type LimitedPeerHost struct { + p2pHost + limit int +} + +func WrapHost(h p2pHost, limit int) *LimitedPeerHost { + return &LimitedPeerHost{ + p2pHost: h, + limit: limit, + } +} + +func (h *LimitedPeerHost) Connect(ctx context.Context, pi peer.AddrInfo) error { + log.Info("LimitedPeerHost Connect func", "PeerId", pi.ID, "Peer Count", h.Peerstore().Peers().Len()) + // first, check if we're already connected. + if h.Network().Connectedness(pi.ID) == network.Connected { + return nil + } + + if h.Peerstore().Peers().Len() > h.limit { + return fmt.Errorf("PeerCount %d exceeds the limit %d.\r\n", h.Peerstore().Peers().Len(), h.limit) + } + + return h.p2pHost.Connect(ctx, pi) +} diff --git a/p2p/p2p.go b/p2p/p2p.go index d70ea00..eeec62d 100644 --- a/p2p/p2p.go +++ b/p2p/p2p.go @@ -318,6 +318,7 @@ func NewP2PServer( bootstrapPeers string, nodeName string, rootCtxCancel context.CancelFunc, + maxPeerCount int, ) (*Server, error) { h, err := libp2p.New(ctx, // Use the keypair we generated @@ -340,13 +341,14 @@ func NewP2PServer( // Let's prevent our peer from having too many // connections by attaching a connection manager. libp2p.ConnectionManager(connmgr.NewConnManager( - 100, // Lowwater - 400, // HighWater, - time.Minute, // GracePeriod + maxPeerCount, // Lowwater + 400, // HighWater, + time.Minute, // GracePeriod )), // Let this host use the DHT to find other hosts libp2p.Routing(func(h host.Host) (routing.PeerRouting, error) { + h = WrapHost(h, maxPeerCount) // TODO(leo): Persistent data store (i.e. address book) idht, err := dht.New(ctx, h, dht.Mode(dht.ModeServer), // TODO(leo): This intentionally makes us incompatible with the global IPFS DHT @@ -362,6 +364,7 @@ func NewP2PServer( log.Info("Connecting to bootstrap peers", "bootstrap_peers", bootstrapPeers) + h = WrapHost(h, maxPeerCount) // Add our own bootstrap nodes // Count number of successful connection attempts. If we fail to connect to any bootstrap peer, kill From ea08d692abc8fad3bf89f42206f07ab62cafcc1e Mon Sep 17 00:00:00 2001 From: pingke Date: Sat, 2 Apr 2022 17:45:45 +0800 Subject: [PATCH 02/15] add max peer count --- cmd/main/node.go | 4 +++- p2p/p2p.go | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cmd/main/node.go b/cmd/main/node.go index a1d22a3..7539fd3 100644 --- a/cmd/main/node.go +++ b/cmd/main/node.go @@ -42,6 +42,7 @@ var ( timeoutCommitMs *uint64 consensusSyncMs *uint64 proposerRepetition *uint64 + maxPeerCount *int ) var NodeCmd = &cobra.Command{ @@ -73,6 +74,7 @@ func init() { consensusSyncMs = NodeCmd.Flags().Uint64("consensusSyncMs", 500, "Consensus sync in ms") proposerRepetition = NodeCmd.Flags().Uint64("proposerRepetition", 8, "proposer repetition") + maxPeerCount = NodeCmd.Flags().Int("maxPeerCount", 10, "proposer repetition") } func runNode(cmd *cobra.Command, args []string) { @@ -191,7 +193,7 @@ func runNode(cmd *cobra.Command, args []string) { bs := NewDefaultBlockStore(db) executor := consensus.NewDefaultBlockExecutor(db) - p2pserver, err := p2p.NewP2PServer(rootCtx, bs, obsvC, sendC, p2pPriv, *p2pPort, *p2pNetworkID, *p2pBootstrap, *nodeName, rootCtxCancel) + p2pserver, err := p2p.NewP2PServer(rootCtx, bs, obsvC, sendC, p2pPriv, *p2pPort, *p2pNetworkID, *p2pBootstrap, *nodeName, rootCtxCancel, *maxPeerCount) go func() { p2pserver.Run(rootCtx) diff --git a/p2p/p2p.go b/p2p/p2p.go index eeec62d..27f1be4 100644 --- a/p2p/p2p.go +++ b/p2p/p2p.go @@ -341,9 +341,9 @@ func NewP2PServer( // Let's prevent our peer from having too many // connections by attaching a connection manager. libp2p.ConnectionManager(connmgr.NewConnManager( - maxPeerCount, // Lowwater - 400, // HighWater, - time.Minute, // GracePeriod + 100, // Lowwater + 400, // HighWater, + time.Minute, // GracePeriod )), // Let this host use the DHT to find other hosts From e33a29e13dbe44ddbe1dceba2a6028e88f0aab88 Mon Sep 17 00:00:00 2001 From: pingke Date: Sun, 3 Apr 2022 23:27:53 +0800 Subject: [PATCH 03/15] add one more node --- cmd/main/node2.key | Bin 0 -> 68 bytes cmd/main/run_2v_n0.sh | 2 ++ cmd/main/run_2v_n1.sh | 2 ++ cmd/main/run_2v_n2.sh | 15 +++++++++++++++ cmd/main/val2.key | 1 + p2p/limited_peer_host.go | 2 ++ 6 files changed, 22 insertions(+) create mode 100644 cmd/main/node2.key create mode 100644 cmd/main/run_2v_n2.sh create mode 100644 cmd/main/val2.key diff --git a/cmd/main/node2.key b/cmd/main/node2.key new file mode 100644 index 0000000000000000000000000000000000000000..e8508791a33013c735dbbe48ba574a8b4c3a2fcd GIT binary patch literal 68 zcmV-K0K5MP0TMtGx{SVO0A;MtJiuMGZ?kPntbQ&<#lA>0e_<;)p?(g(+@M0G0R7>I a)=sXGSJRY}L_|>r-sC2MZErVD5DX*!ryb7# literal 0 HcmV?d00001 diff --git a/cmd/main/run_2v_n0.sh b/cmd/main/run_2v_n0.sh index 29da1c8..849a5e7 100755 --- a/cmd/main/run_2v_n0.sh +++ b/cmd/main/run_2v_n0.sh @@ -8,5 +8,7 @@ rm -rf ./datadir_2v_n0 && \ --genesisTimeMs 1 \ --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ + --validatorSet=0x00D6bF1DbB497e8C638330ffb351B21F950934e0 \ --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5 \ + --maxPeerCount 1 \ $@ diff --git a/cmd/main/run_2v_n1.sh b/cmd/main/run_2v_n1.sh index eecf946..4c5fdb8 100755 --- a/cmd/main/run_2v_n1.sh +++ b/cmd/main/run_2v_n1.sh @@ -8,6 +8,8 @@ rm -rf ./datadir_2v_n1 && \ --genesisTimeMs 1 \ --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ + --validatorSet=0x00D6bF1DbB497e8C638330ffb351B21F950934e0 \ --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5 \ --port 8998 \ + --maxPeerCount 1 \ $@ diff --git a/cmd/main/run_2v_n2.sh b/cmd/main/run_2v_n2.sh new file mode 100644 index 0000000..fbc2624 --- /dev/null +++ b/cmd/main/run_2v_n2.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +rm -rf ./datadir_2v_n2 && \ +./main node \ + --datadir ./datadir_2v_n2 \ + --valKey=val2.key \ + --nodeKey=node2.key \ + --genesisTimeMs 1 \ + --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ + --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ + --validatorSet=0x00D6bF1DbB497e8C638330ffb351B21F950934e0 \ + --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5 \ + --port 8997 \ + --maxPeerCount 1 \ + $@ diff --git a/cmd/main/val2.key b/cmd/main/val2.key new file mode 100644 index 0000000..7f4b689 --- /dev/null +++ b/cmd/main/val2.key @@ -0,0 +1 @@ +��j��h ���L�*�2}Y���uZFZ�M \ No newline at end of file diff --git a/p2p/limited_peer_host.go b/p2p/limited_peer_host.go index f43313b..2a59283 100644 --- a/p2p/limited_peer_host.go +++ b/p2p/limited_peer_host.go @@ -27,10 +27,12 @@ func (h *LimitedPeerHost) Connect(ctx context.Context, pi peer.AddrInfo) error { log.Info("LimitedPeerHost Connect func", "PeerId", pi.ID, "Peer Count", h.Peerstore().Peers().Len()) // first, check if we're already connected. if h.Network().Connectedness(pi.ID) == network.Connected { + log.Info("LimitedPeerHost Connect func, peer exist.", "PeerId", pi.ID) return nil } if h.Peerstore().Peers().Len() > h.limit { + log.Info("LimitedPeerHost Connect func", "limit", h.limit, "Peer Count", h.Peerstore().Peers().Len()) return fmt.Errorf("PeerCount %d exceeds the limit %d.\r\n", h.Peerstore().Peers().Len(), h.limit) } From a9007af8207d593b8eae2c10afca2e3882dfccfd Mon Sep 17 00:00:00 2001 From: pingke Date: Thu, 7 Apr 2022 00:22:25 +0800 Subject: [PATCH 04/15] update peer host --- p2p/limited_peer_host.go | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/p2p/limited_peer_host.go b/p2p/limited_peer_host.go index 2a59283..6c7b0b5 100644 --- a/p2p/limited_peer_host.go +++ b/p2p/limited_peer_host.go @@ -9,31 +9,40 @@ import ( "github.com/libp2p/go-libp2p-core/peer" ) +const ( + // High watermark buffer signifies the buffer till which + // we will handle inbound requests. + highWatermarkBuffer = 10 +) + type p2pHost host.Host type LimitedPeerHost struct { p2pHost - limit int + MaxPeers int } -func WrapHost(h p2pHost, limit int) *LimitedPeerHost { +func WrapHost(h p2pHost, maxPeers int) *LimitedPeerHost { return &LimitedPeerHost{ - p2pHost: h, - limit: limit, + p2pHost: h, + MaxPeers: maxPeers, } } func (h *LimitedPeerHost) Connect(ctx context.Context, pi peer.AddrInfo) error { - log.Info("LimitedPeerHost Connect func", "PeerId", pi.ID, "Peer Count", h.Peerstore().Peers().Len()) + log.Info("LimitedPeerHost Connect func", "PeerId", pi.ID, "Peer Count", len(h.Network().Peers())) // first, check if we're already connected. if h.Network().Connectedness(pi.ID) == network.Connected { log.Info("LimitedPeerHost Connect func, peer exist.", "PeerId", pi.ID) return nil } - if h.Peerstore().Peers().Len() > h.limit { - log.Info("LimitedPeerHost Connect func", "limit", h.limit, "Peer Count", h.Peerstore().Peers().Len()) - return fmt.Errorf("PeerCount %d exceeds the limit %d.\r\n", h.Peerstore().Peers().Len(), h.limit) + if len(h.Network().Peers()) > h.MaxPeers { + log.Info("LimitedPeerHost Connect func", "limit", h.MaxPeers, "Peer Count", len(h.Network().Peers())) + for index, p := range h.Network().Peers() { + log.Info("Peer List", "index", index, "peer id", p.String(), "connected", h.Network().Connectedness(p)) + } + return fmt.Errorf("PeerCount %d exceeds the limit %d.\r\n", len(h.Network().Peers()), h.MaxPeers) } return h.p2pHost.Connect(ctx, pi) From 8e10a697ab2b2cac70d16642eecaaa2b535c935b Mon Sep 17 00:00:00 2001 From: pingke Date: Sat, 9 Apr 2022 23:23:58 +0800 Subject: [PATCH 05/15] add ConnectionGater --- p2p/conngater.go | 55 ++++++++++++++++++++++++++++++++++++++++ p2p/limited_peer_host.go | 6 ----- p2p/p2p.go | 16 +++++++----- 3 files changed, 64 insertions(+), 13 deletions(-) create mode 100644 p2p/conngater.go diff --git a/p2p/conngater.go b/p2p/conngater.go new file mode 100644 index 0000000..0e18ffb --- /dev/null +++ b/p2p/conngater.go @@ -0,0 +1,55 @@ +package p2p + +import ( + "fmt" + "github.com/ethereum/go-ethereum/log" + "github.com/libp2p/go-libp2p-core/control" + "github.com/libp2p/go-libp2p-core/host" + "github.com/libp2p/go-libp2p-core/network" + "github.com/libp2p/go-libp2p-core/peer" + ma "github.com/multiformats/go-multiaddr" + "sync" +) + +type connGater struct { + sync.RWMutex + h host.Host + MaxPeerCount int +} + +func (cg *connGater) isPeerAtLimit() bool { + cg.RLock() + defer cg.RUnlock() + if cg == nil { + return false + } + if len(cg.h.Network().Peers()) >= cg.MaxPeerCount { + log.Info("isPeerAtLimit", "MaxPeerCount", cg.MaxPeerCount, "Peer Count", len(cg.h.Network().Peers())) + for index, p := range cg.h.Network().Peers() { + log.Info("Peer List", "index", index, "peer id", p.String(), "connected", cg.h.Network().Connectedness(p)) + } + log.Error(fmt.Sprintf("PeerCount %d exceeds the MaxPeerCount %d.\r\n", len(cg.h.Network().Peers()), cg.MaxPeerCount)) + return true + } + return false +} + +func (cg *connGater) InterceptPeerDial(p peer.ID) (allow bool) { + return cg.h.Network().Connectedness(p) == network.Connected || !cg.isPeerAtLimit() +} + +func (cg *connGater) InterceptAddrDial(p peer.ID, a ma.Multiaddr) (allow bool) { + return cg.h.Network().Connectedness(p) == network.Connected || !cg.isPeerAtLimit() +} + +func (cg *connGater) InterceptAccept(cma network.ConnMultiaddrs) (allow bool) { + return true +} + +func (cg *connGater) InterceptSecured(dir network.Direction, p peer.ID, cma network.ConnMultiaddrs) (allow bool) { + return cg.h.Network().Connectedness(p) == network.Connected || !cg.isPeerAtLimit() +} + +func (cg *connGater) InterceptUpgraded(network.Conn) (allow bool, reason control.DisconnectReason) { + return true, 0 +} diff --git a/p2p/limited_peer_host.go b/p2p/limited_peer_host.go index 6c7b0b5..b1b9fd3 100644 --- a/p2p/limited_peer_host.go +++ b/p2p/limited_peer_host.go @@ -9,12 +9,6 @@ import ( "github.com/libp2p/go-libp2p-core/peer" ) -const ( - // High watermark buffer signifies the buffer till which - // we will handle inbound requests. - highWatermarkBuffer = 10 -) - type p2pHost host.Host type LimitedPeerHost struct { diff --git a/p2p/p2p.go b/p2p/p2p.go index 27f1be4..3573cb7 100644 --- a/p2p/p2p.go +++ b/p2p/p2p.go @@ -10,25 +10,23 @@ import ( "time" "github.com/QuarkChain/go-minimal-pbft/consensus" - "github.com/prometheus/client_golang/prometheus" - - "github.com/libp2p/go-libp2p-core/network" - "github.com/libp2p/go-libp2p-core/peer" - "github.com/libp2p/go-libp2p-quic-transport/integrationtests/stream" - "github.com/multiformats/go-multiaddr" - "github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/rlp" "github.com/libp2p/go-libp2p" connmgr "github.com/libp2p/go-libp2p-connmgr" "github.com/libp2p/go-libp2p-core/crypto" "github.com/libp2p/go-libp2p-core/host" + "github.com/libp2p/go-libp2p-core/network" + "github.com/libp2p/go-libp2p-core/peer" "github.com/libp2p/go-libp2p-core/protocol" "github.com/libp2p/go-libp2p-core/routing" dht "github.com/libp2p/go-libp2p-kad-dht" pubsub "github.com/libp2p/go-libp2p-pubsub" libp2pquic "github.com/libp2p/go-libp2p-quic-transport" + "github.com/libp2p/go-libp2p-quic-transport/integrationtests/stream" libp2ptls "github.com/libp2p/go-libp2p-tls" + "github.com/multiformats/go-multiaddr" + "github.com/prometheus/client_golang/prometheus" "go.uber.org/zap" ) @@ -320,6 +318,8 @@ func NewP2PServer( rootCtxCancel context.CancelFunc, maxPeerCount int, ) (*Server, error) { + cg := &connGater{h: nil, MaxPeerCount: maxPeerCount} + h, err := libp2p.New(ctx, // Use the keypair we generated libp2p.Identity(priv), @@ -332,6 +332,8 @@ func NewP2PServer( fmt.Sprintf("/ip6/::/udp/%d/quic", port), ), + libp2p.ConnectionGater(cg), + // Enable TLS security as the only security protocol. libp2p.Security(libp2ptls.ID, libp2ptls.New), From 23a30e769f957570f75ad9beb8d0098e4d19d99a Mon Sep 17 00:00:00 2001 From: pingke Date: Sat, 9 Apr 2022 23:38:39 +0800 Subject: [PATCH 06/15] add log --- p2p/conngater.go | 3 +++ p2p/p2p.go | 1 + 2 files changed, 4 insertions(+) diff --git a/p2p/conngater.go b/p2p/conngater.go index 0e18ffb..716b8c5 100644 --- a/p2p/conngater.go +++ b/p2p/conngater.go @@ -35,10 +35,12 @@ func (cg *connGater) isPeerAtLimit() bool { } func (cg *connGater) InterceptPeerDial(p peer.ID) (allow bool) { + log.Info("InterceptPeerDial", "peer id", p) return cg.h.Network().Connectedness(p) == network.Connected || !cg.isPeerAtLimit() } func (cg *connGater) InterceptAddrDial(p peer.ID, a ma.Multiaddr) (allow bool) { + log.Info("InterceptPeerDial", "peer id", p) return cg.h.Network().Connectedness(p) == network.Connected || !cg.isPeerAtLimit() } @@ -47,6 +49,7 @@ func (cg *connGater) InterceptAccept(cma network.ConnMultiaddrs) (allow bool) { } func (cg *connGater) InterceptSecured(dir network.Direction, p peer.ID, cma network.ConnMultiaddrs) (allow bool) { + log.Info("InterceptPeerDial", "peer id", p) return cg.h.Network().Connectedness(p) == network.Connected || !cg.isPeerAtLimit() } diff --git a/p2p/p2p.go b/p2p/p2p.go index 3573cb7..e0d6cfb 100644 --- a/p2p/p2p.go +++ b/p2p/p2p.go @@ -367,6 +367,7 @@ func NewP2PServer( log.Info("Connecting to bootstrap peers", "bootstrap_peers", bootstrapPeers) h = WrapHost(h, maxPeerCount) + cg.h = h // Add our own bootstrap nodes // Count number of successful connection attempts. If we fail to connect to any bootstrap peer, kill From d5a7406467ec8e663227e02bcdeecebb811e4ef9 Mon Sep 17 00:00:00 2001 From: pingke Date: Mon, 11 Apr 2022 09:38:29 +0800 Subject: [PATCH 07/15] add connected Peer Count --- p2p/conngater.go | 22 ++++++++++++++-------- p2p/p2p.go | 10 +++++----- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/p2p/conngater.go b/p2p/conngater.go index 716b8c5..e99df20 100644 --- a/p2p/conngater.go +++ b/p2p/conngater.go @@ -17,17 +17,23 @@ type connGater struct { MaxPeerCount int } +func (cg *connGater) getConnectedPeerCount() int { + c := 0 + if cg.h != nil { + for index, p := range cg.h.Network().Peers() { + if cg.h.Network().Connectedness(p) == network.Connected { + log.Debug("Connected Peer List", "index", index, "peer id", p.String()) + c++ + } + } + } + return c +} + func (cg *connGater) isPeerAtLimit() bool { cg.RLock() defer cg.RUnlock() - if cg == nil { - return false - } - if len(cg.h.Network().Peers()) >= cg.MaxPeerCount { - log.Info("isPeerAtLimit", "MaxPeerCount", cg.MaxPeerCount, "Peer Count", len(cg.h.Network().Peers())) - for index, p := range cg.h.Network().Peers() { - log.Info("Peer List", "index", index, "peer id", p.String(), "connected", cg.h.Network().Connectedness(p)) - } + if cg.getConnectedPeerCount() >= cg.MaxPeerCount { log.Error(fmt.Sprintf("PeerCount %d exceeds the MaxPeerCount %d.\r\n", len(cg.h.Network().Peers()), cg.MaxPeerCount)) return true } diff --git a/p2p/p2p.go b/p2p/p2p.go index e0d6cfb..f83f2cf 100644 --- a/p2p/p2p.go +++ b/p2p/p2p.go @@ -343,14 +343,14 @@ func NewP2PServer( // Let's prevent our peer from having too many // connections by attaching a connection manager. libp2p.ConnectionManager(connmgr.NewConnManager( - 100, // Lowwater - 400, // HighWater, - time.Minute, // GracePeriod + int(maxPeerCount*3/4), // Lowwater + maxPeerCount, // HighWater, + time.Minute, // GracePeriod )), // Let this host use the DHT to find other hosts libp2p.Routing(func(h host.Host) (routing.PeerRouting, error) { - h = WrapHost(h, maxPeerCount) + // h = WrapHost(h, maxPeerCount) // TODO(leo): Persistent data store (i.e. address book) idht, err := dht.New(ctx, h, dht.Mode(dht.ModeServer), // TODO(leo): This intentionally makes us incompatible with the global IPFS DHT @@ -366,7 +366,7 @@ func NewP2PServer( log.Info("Connecting to bootstrap peers", "bootstrap_peers", bootstrapPeers) - h = WrapHost(h, maxPeerCount) + // h = WrapHost(h, maxPeerCount) cg.h = h // Add our own bootstrap nodes From 1f6d402dbe8a83b3d672b661c0b585a2d83171f5 Mon Sep 17 00:00:00 2001 From: pingke Date: Mon, 11 Apr 2022 09:58:57 +0800 Subject: [PATCH 08/15] remove no useful host --- p2p/limited_peer_host.go | 43 ---------------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 p2p/limited_peer_host.go diff --git a/p2p/limited_peer_host.go b/p2p/limited_peer_host.go deleted file mode 100644 index b1b9fd3..0000000 --- a/p2p/limited_peer_host.go +++ /dev/null @@ -1,43 +0,0 @@ -package p2p - -import ( - "context" - "fmt" - "github.com/ethereum/go-ethereum/log" - "github.com/libp2p/go-libp2p-core/host" - "github.com/libp2p/go-libp2p-core/network" - "github.com/libp2p/go-libp2p-core/peer" -) - -type p2pHost host.Host - -type LimitedPeerHost struct { - p2pHost - MaxPeers int -} - -func WrapHost(h p2pHost, maxPeers int) *LimitedPeerHost { - return &LimitedPeerHost{ - p2pHost: h, - MaxPeers: maxPeers, - } -} - -func (h *LimitedPeerHost) Connect(ctx context.Context, pi peer.AddrInfo) error { - log.Info("LimitedPeerHost Connect func", "PeerId", pi.ID, "Peer Count", len(h.Network().Peers())) - // first, check if we're already connected. - if h.Network().Connectedness(pi.ID) == network.Connected { - log.Info("LimitedPeerHost Connect func, peer exist.", "PeerId", pi.ID) - return nil - } - - if len(h.Network().Peers()) > h.MaxPeers { - log.Info("LimitedPeerHost Connect func", "limit", h.MaxPeers, "Peer Count", len(h.Network().Peers())) - for index, p := range h.Network().Peers() { - log.Info("Peer List", "index", index, "peer id", p.String(), "connected", h.Network().Connectedness(p)) - } - return fmt.Errorf("PeerCount %d exceeds the limit %d.\r\n", len(h.Network().Peers()), h.MaxPeers) - } - - return h.p2pHost.Connect(ctx, pi) -} From 3e67e53839021ffd2fa0db84c01aff5c8e8bb3c7 Mon Sep 17 00:00:00 2001 From: pingke Date: Mon, 11 Apr 2022 10:07:54 +0800 Subject: [PATCH 09/15] remove no use code --- p2p/p2p.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/p2p/p2p.go b/p2p/p2p.go index f83f2cf..d1ecf8a 100644 --- a/p2p/p2p.go +++ b/p2p/p2p.go @@ -350,7 +350,6 @@ func NewP2PServer( // Let this host use the DHT to find other hosts libp2p.Routing(func(h host.Host) (routing.PeerRouting, error) { - // h = WrapHost(h, maxPeerCount) // TODO(leo): Persistent data store (i.e. address book) idht, err := dht.New(ctx, h, dht.Mode(dht.ModeServer), // TODO(leo): This intentionally makes us incompatible with the global IPFS DHT @@ -366,7 +365,6 @@ func NewP2PServer( log.Info("Connecting to bootstrap peers", "bootstrap_peers", bootstrapPeers) - // h = WrapHost(h, maxPeerCount) cg.h = h // Add our own bootstrap nodes From d7d9f9de2c34be52e9af25603ef0c731331eca3d Mon Sep 17 00:00:00 2001 From: pingke Date: Mon, 11 Apr 2022 10:30:02 +0800 Subject: [PATCH 10/15] change two validator to 4 validator for peer limited test --- cmd/main/node3.key | 1 + cmd/main/run_2v_n0.sh | 3 ++- cmd/main/run_2v_n1.sh | 3 ++- cmd/main/run_2v_n2.sh | 3 ++- cmd/main/run_2v_n3.sh | 16 ++++++++++++++++ cmd/main/val3.key | 1 + 6 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 cmd/main/node3.key create mode 100644 cmd/main/run_2v_n3.sh create mode 100644 cmd/main/val3.key diff --git a/cmd/main/node3.key b/cmd/main/node3.key new file mode 100644 index 0000000..b449716 --- /dev/null +++ b/cmd/main/node3.key @@ -0,0 +1 @@ +@�Q�i� L��y)� ��6>M^��F����(���T�����G���l���5ؕ ��f�E�� \ No newline at end of file diff --git a/cmd/main/run_2v_n0.sh b/cmd/main/run_2v_n0.sh index 849a5e7..12965d9 100755 --- a/cmd/main/run_2v_n0.sh +++ b/cmd/main/run_2v_n0.sh @@ -9,6 +9,7 @@ rm -rf ./datadir_2v_n0 && \ --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ --validatorSet=0x00D6bF1DbB497e8C638330ffb351B21F950934e0 \ + --validatorSet=0xcad3ADBB6985D33e85e10fdAdE8E5b132Ba4E965 \ --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5 \ - --maxPeerCount 1 \ + --maxPeerCount 3 \ $@ diff --git a/cmd/main/run_2v_n1.sh b/cmd/main/run_2v_n1.sh index 4c5fdb8..cea4dd4 100755 --- a/cmd/main/run_2v_n1.sh +++ b/cmd/main/run_2v_n1.sh @@ -9,7 +9,8 @@ rm -rf ./datadir_2v_n1 && \ --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ --validatorSet=0x00D6bF1DbB497e8C638330ffb351B21F950934e0 \ + --validatorSet=0xcad3ADBB6985D33e85e10fdAdE8E5b132Ba4E965 \ --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5 \ --port 8998 \ - --maxPeerCount 1 \ + --maxPeerCount 2 \ $@ diff --git a/cmd/main/run_2v_n2.sh b/cmd/main/run_2v_n2.sh index fbc2624..80ed40f 100644 --- a/cmd/main/run_2v_n2.sh +++ b/cmd/main/run_2v_n2.sh @@ -9,7 +9,8 @@ rm -rf ./datadir_2v_n2 && \ --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ --validatorSet=0x00D6bF1DbB497e8C638330ffb351B21F950934e0 \ + --validatorSet=0xcad3ADBB6985D33e85e10fdAdE8E5b132Ba4E965 \ --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5 \ --port 8997 \ - --maxPeerCount 1 \ + --maxPeerCount 2 \ $@ diff --git a/cmd/main/run_2v_n3.sh b/cmd/main/run_2v_n3.sh new file mode 100644 index 0000000..3a5e9fa --- /dev/null +++ b/cmd/main/run_2v_n3.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +rm -rf ./datadir_2v_n3 && \ +./main node \ + --datadir ./datadir_2v_n3 \ + --valKey=val3.key \ + --nodeKey=node3.key \ + --genesisTimeMs 1 \ + --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ + --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ + --validatorSet=0x00D6bF1DbB497e8C638330ffb351B21F950934e0 \ + --validatorSet=0xcad3ADBB6985D33e85e10fdAdE8E5b132Ba4E965 \ + --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5 \ + --port 8996 \ + --maxPeerCount 2 \ + $@ diff --git a/cmd/main/val3.key b/cmd/main/val3.key new file mode 100644 index 0000000..f4fb31b --- /dev/null +++ b/cmd/main/val3.key @@ -0,0 +1 @@ +��$�{���$�Ů�O�szWW��.J��� \ No newline at end of file From b99b8fe471336a8c27a70acc06b389cb4e17553a Mon Sep 17 00:00:00 2001 From: pingke Date: Tue, 12 Apr 2022 18:47:46 +0800 Subject: [PATCH 11/15] resolve comments --- cmd/main/node.go | 2 +- cmd/main/run_2v_n0.sh | 3 --- cmd/main/run_2v_n1.sh | 3 --- cmd/main/run_4v_n0.sh | 15 +++++++++++++++ cmd/main/run_4v_n1.sh | 16 ++++++++++++++++ cmd/main/{run_2v_n2.sh => run_4v_n2.sh} | 0 cmd/main/{run_2v_n3.sh => run_4v_n3.sh} | 0 7 files changed, 32 insertions(+), 7 deletions(-) create mode 100644 cmd/main/run_4v_n0.sh create mode 100644 cmd/main/run_4v_n1.sh rename cmd/main/{run_2v_n2.sh => run_4v_n2.sh} (100%) rename cmd/main/{run_2v_n3.sh => run_4v_n3.sh} (100%) diff --git a/cmd/main/node.go b/cmd/main/node.go index 7539fd3..e4c81bd 100644 --- a/cmd/main/node.go +++ b/cmd/main/node.go @@ -74,7 +74,7 @@ func init() { consensusSyncMs = NodeCmd.Flags().Uint64("consensusSyncMs", 500, "Consensus sync in ms") proposerRepetition = NodeCmd.Flags().Uint64("proposerRepetition", 8, "proposer repetition") - maxPeerCount = NodeCmd.Flags().Int("maxPeerCount", 10, "proposer repetition") + maxPeerCount = NodeCmd.Flags().Int("maxPeerCount", 10, "The maximum number of peers connected") } func runNode(cmd *cobra.Command, args []string) { diff --git a/cmd/main/run_2v_n0.sh b/cmd/main/run_2v_n0.sh index 12965d9..29da1c8 100755 --- a/cmd/main/run_2v_n0.sh +++ b/cmd/main/run_2v_n0.sh @@ -8,8 +8,5 @@ rm -rf ./datadir_2v_n0 && \ --genesisTimeMs 1 \ --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ - --validatorSet=0x00D6bF1DbB497e8C638330ffb351B21F950934e0 \ - --validatorSet=0xcad3ADBB6985D33e85e10fdAdE8E5b132Ba4E965 \ --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5 \ - --maxPeerCount 3 \ $@ diff --git a/cmd/main/run_2v_n1.sh b/cmd/main/run_2v_n1.sh index cea4dd4..eecf946 100755 --- a/cmd/main/run_2v_n1.sh +++ b/cmd/main/run_2v_n1.sh @@ -8,9 +8,6 @@ rm -rf ./datadir_2v_n1 && \ --genesisTimeMs 1 \ --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ - --validatorSet=0x00D6bF1DbB497e8C638330ffb351B21F950934e0 \ - --validatorSet=0xcad3ADBB6985D33e85e10fdAdE8E5b132Ba4E965 \ --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5 \ --port 8998 \ - --maxPeerCount 2 \ $@ diff --git a/cmd/main/run_4v_n0.sh b/cmd/main/run_4v_n0.sh new file mode 100644 index 0000000..12965d9 --- /dev/null +++ b/cmd/main/run_4v_n0.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +rm -rf ./datadir_2v_n0 && \ +./main node \ + --datadir ./datadir_2v_n0 \ + --valKey=val0.key \ + --nodeKey=node0.key \ + --genesisTimeMs 1 \ + --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ + --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ + --validatorSet=0x00D6bF1DbB497e8C638330ffb351B21F950934e0 \ + --validatorSet=0xcad3ADBB6985D33e85e10fdAdE8E5b132Ba4E965 \ + --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5 \ + --maxPeerCount 3 \ + $@ diff --git a/cmd/main/run_4v_n1.sh b/cmd/main/run_4v_n1.sh new file mode 100644 index 0000000..cea4dd4 --- /dev/null +++ b/cmd/main/run_4v_n1.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +rm -rf ./datadir_2v_n1 && \ +./main node \ + --datadir ./datadir_2v_n1 \ + --valKey=val1.key \ + --nodeKey=node1.key \ + --genesisTimeMs 1 \ + --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ + --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ + --validatorSet=0x00D6bF1DbB497e8C638330ffb351B21F950934e0 \ + --validatorSet=0xcad3ADBB6985D33e85e10fdAdE8E5b132Ba4E965 \ + --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5 \ + --port 8998 \ + --maxPeerCount 2 \ + $@ diff --git a/cmd/main/run_2v_n2.sh b/cmd/main/run_4v_n2.sh similarity index 100% rename from cmd/main/run_2v_n2.sh rename to cmd/main/run_4v_n2.sh diff --git a/cmd/main/run_2v_n3.sh b/cmd/main/run_4v_n3.sh similarity index 100% rename from cmd/main/run_2v_n3.sh rename to cmd/main/run_4v_n3.sh From a4f4e02a7abe5f69beaaf5a25e57c00a9d86d5ff Mon Sep 17 00:00:00 2001 From: pingke Date: Tue, 12 Apr 2022 23:57:12 +0800 Subject: [PATCH 12/15] remove run 4v sh --- cmd/main/node2.key | Bin 68 -> 0 bytes cmd/main/node3.key | 1 - cmd/main/run_4v_n0.sh | 15 --------------- cmd/main/run_4v_n1.sh | 16 ---------------- cmd/main/run_4v_n2.sh | 16 ---------------- cmd/main/run_4v_n3.sh | 16 ---------------- cmd/main/val2.key | 1 - cmd/main/val3.key | 1 - 8 files changed, 66 deletions(-) delete mode 100644 cmd/main/node2.key delete mode 100644 cmd/main/node3.key delete mode 100644 cmd/main/run_4v_n0.sh delete mode 100644 cmd/main/run_4v_n1.sh delete mode 100644 cmd/main/run_4v_n2.sh delete mode 100644 cmd/main/run_4v_n3.sh delete mode 100644 cmd/main/val2.key delete mode 100644 cmd/main/val3.key diff --git a/cmd/main/node2.key b/cmd/main/node2.key deleted file mode 100644 index e8508791a33013c735dbbe48ba574a8b4c3a2fcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmV-K0K5MP0TMtGx{SVO0A;MtJiuMGZ?kPntbQ&<#lA>0e_<;)p?(g(+@M0G0R7>I a)=sXGSJRY}L_|>r-sC2MZErVD5DX*!ryb7# diff --git a/cmd/main/node3.key b/cmd/main/node3.key deleted file mode 100644 index b449716..0000000 --- a/cmd/main/node3.key +++ /dev/null @@ -1 +0,0 @@ -@�Q�i� L��y)� ��6>M^��F����(���T�����G���l���5ؕ ��f�E�� \ No newline at end of file diff --git a/cmd/main/run_4v_n0.sh b/cmd/main/run_4v_n0.sh deleted file mode 100644 index 12965d9..0000000 --- a/cmd/main/run_4v_n0.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -rm -rf ./datadir_2v_n0 && \ -./main node \ - --datadir ./datadir_2v_n0 \ - --valKey=val0.key \ - --nodeKey=node0.key \ - --genesisTimeMs 1 \ - --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ - --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ - --validatorSet=0x00D6bF1DbB497e8C638330ffb351B21F950934e0 \ - --validatorSet=0xcad3ADBB6985D33e85e10fdAdE8E5b132Ba4E965 \ - --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5 \ - --maxPeerCount 3 \ - $@ diff --git a/cmd/main/run_4v_n1.sh b/cmd/main/run_4v_n1.sh deleted file mode 100644 index cea4dd4..0000000 --- a/cmd/main/run_4v_n1.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -rm -rf ./datadir_2v_n1 && \ -./main node \ - --datadir ./datadir_2v_n1 \ - --valKey=val1.key \ - --nodeKey=node1.key \ - --genesisTimeMs 1 \ - --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ - --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ - --validatorSet=0x00D6bF1DbB497e8C638330ffb351B21F950934e0 \ - --validatorSet=0xcad3ADBB6985D33e85e10fdAdE8E5b132Ba4E965 \ - --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5 \ - --port 8998 \ - --maxPeerCount 2 \ - $@ diff --git a/cmd/main/run_4v_n2.sh b/cmd/main/run_4v_n2.sh deleted file mode 100644 index 80ed40f..0000000 --- a/cmd/main/run_4v_n2.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -rm -rf ./datadir_2v_n2 && \ -./main node \ - --datadir ./datadir_2v_n2 \ - --valKey=val2.key \ - --nodeKey=node2.key \ - --genesisTimeMs 1 \ - --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ - --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ - --validatorSet=0x00D6bF1DbB497e8C638330ffb351B21F950934e0 \ - --validatorSet=0xcad3ADBB6985D33e85e10fdAdE8E5b132Ba4E965 \ - --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5 \ - --port 8997 \ - --maxPeerCount 2 \ - $@ diff --git a/cmd/main/run_4v_n3.sh b/cmd/main/run_4v_n3.sh deleted file mode 100644 index 3a5e9fa..0000000 --- a/cmd/main/run_4v_n3.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -rm -rf ./datadir_2v_n3 && \ -./main node \ - --datadir ./datadir_2v_n3 \ - --valKey=val3.key \ - --nodeKey=node3.key \ - --genesisTimeMs 1 \ - --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ - --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ - --validatorSet=0x00D6bF1DbB497e8C638330ffb351B21F950934e0 \ - --validatorSet=0xcad3ADBB6985D33e85e10fdAdE8E5b132Ba4E965 \ - --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5 \ - --port 8996 \ - --maxPeerCount 2 \ - $@ diff --git a/cmd/main/val2.key b/cmd/main/val2.key deleted file mode 100644 index 7f4b689..0000000 --- a/cmd/main/val2.key +++ /dev/null @@ -1 +0,0 @@ -��j��h ���L�*�2}Y���uZFZ�M \ No newline at end of file diff --git a/cmd/main/val3.key b/cmd/main/val3.key deleted file mode 100644 index f4fb31b..0000000 --- a/cmd/main/val3.key +++ /dev/null @@ -1 +0,0 @@ -��$�{���$�Ů�O�szWW��.J��� \ No newline at end of file From ad14c42eadd7014bb4fe537d1397550aa75b0864 Mon Sep 17 00:00:00 2001 From: pingke Date: Wed, 13 Apr 2022 09:33:34 +0800 Subject: [PATCH 13/15] update log --- cmd/main/run_4v_mpc.sh | 20 ++++++++++++++++++++ p2p/conngater.go | 4 ++-- 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 cmd/main/run_4v_mpc.sh diff --git a/cmd/main/run_4v_mpc.sh b/cmd/main/run_4v_mpc.sh new file mode 100644 index 0000000..8bf8d66 --- /dev/null +++ b/cmd/main/run_4v_mpc.sh @@ -0,0 +1,20 @@ +#!/bin/bash +NODE_ID=${1} +MAX_PEER_COUNT=${2} +rm -rf ./datadir_4v_n${NODE_ID} && \ + +port=$((8999 + ${NODE_ID})) + +./main node \ + --datadir ./datadir_4v_n${NODE_ID} \ + --valKey=val${NODE_ID}.key \ + --nodeKey=node${NODE_ID}.key \ + --genesisTimeMs 1 \ + --validatorSet=0x564D965830b6081506c6de0625F089F751Af134a \ + --validatorSet=0x0a700e9B59d92259C68E50a978c851214916BE52 \ + --validatorSet=0x6cB42599986aF998cF4223D7C839E2dbDeC5f40f \ + --validatorSet=0x817959ec9f31a998Aa7614bCa158f22a9Cf5AE48 \ + --bootstrap /ip4/127.0.0.1/udp/8999/quic/p2p/12D3KooWEZ94qZgJgUNYiLwXahknkniYgozxw5eocijZJkew6Mj5,/ip4/127.0.0.1/udp/9000/quic/p2p/12D3KooWRAPv94qoUn8dAa3NQpZGKjaBcdiaqCETrcuyo2rT2ZvV \ + --port ${port} \ + --maxPeerCount ${MAX_PEER_COUNT} + $@ diff --git a/p2p/conngater.go b/p2p/conngater.go index e99df20..e4a2abf 100644 --- a/p2p/conngater.go +++ b/p2p/conngater.go @@ -46,7 +46,7 @@ func (cg *connGater) InterceptPeerDial(p peer.ID) (allow bool) { } func (cg *connGater) InterceptAddrDial(p peer.ID, a ma.Multiaddr) (allow bool) { - log.Info("InterceptPeerDial", "peer id", p) + log.Info("InterceptAddrDial", "peer id", p) return cg.h.Network().Connectedness(p) == network.Connected || !cg.isPeerAtLimit() } @@ -55,7 +55,7 @@ func (cg *connGater) InterceptAccept(cma network.ConnMultiaddrs) (allow bool) { } func (cg *connGater) InterceptSecured(dir network.Direction, p peer.ID, cma network.ConnMultiaddrs) (allow bool) { - log.Info("InterceptPeerDial", "peer id", p) + log.Info("InterceptSecured", "peer id", p) return cg.h.Network().Connectedness(p) == network.Connected || !cg.isPeerAtLimit() } From 55896b9758be8702aea47201ec6ee66bca26b538 Mon Sep 17 00:00:00 2001 From: pingke Date: Wed, 13 Apr 2022 09:52:36 +0800 Subject: [PATCH 14/15] update log level --- p2p/conngater.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/p2p/conngater.go b/p2p/conngater.go index e4a2abf..f75a37d 100644 --- a/p2p/conngater.go +++ b/p2p/conngater.go @@ -41,12 +41,12 @@ func (cg *connGater) isPeerAtLimit() bool { } func (cg *connGater) InterceptPeerDial(p peer.ID) (allow bool) { - log.Info("InterceptPeerDial", "peer id", p) + log.Debug("InterceptPeerDial", "peer id", p) return cg.h.Network().Connectedness(p) == network.Connected || !cg.isPeerAtLimit() } func (cg *connGater) InterceptAddrDial(p peer.ID, a ma.Multiaddr) (allow bool) { - log.Info("InterceptAddrDial", "peer id", p) + log.Debug("InterceptAddrDial", "peer id", p) return cg.h.Network().Connectedness(p) == network.Connected || !cg.isPeerAtLimit() } @@ -55,7 +55,7 @@ func (cg *connGater) InterceptAccept(cma network.ConnMultiaddrs) (allow bool) { } func (cg *connGater) InterceptSecured(dir network.Direction, p peer.ID, cma network.ConnMultiaddrs) (allow bool) { - log.Info("InterceptSecured", "peer id", p) + log.Debug("InterceptSecured", "peer id", p) return cg.h.Network().Connectedness(p) == network.Connected || !cg.isPeerAtLimit() } From 27c37b544b4f775e025098875ef59e7906441d98 Mon Sep 17 00:00:00 2001 From: pingke Date: Wed, 13 Apr 2022 09:56:50 +0800 Subject: [PATCH 15/15] update log level --- p2p/conngater.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/p2p/conngater.go b/p2p/conngater.go index f75a37d..7670b4a 100644 --- a/p2p/conngater.go +++ b/p2p/conngater.go @@ -34,7 +34,7 @@ func (cg *connGater) isPeerAtLimit() bool { cg.RLock() defer cg.RUnlock() if cg.getConnectedPeerCount() >= cg.MaxPeerCount { - log.Error(fmt.Sprintf("PeerCount %d exceeds the MaxPeerCount %d.\r\n", len(cg.h.Network().Peers()), cg.MaxPeerCount)) + log.Info(fmt.Sprintf("PeerCount %d exceeds the MaxPeerCount %d.\r\n", len(cg.h.Network().Peers()), cg.MaxPeerCount)) return true } return false