From 089916b5ddbea4dd91067ec8d94a733bccba9a72 Mon Sep 17 00:00:00 2001 From: johnysigma Date: Wed, 6 Aug 2025 08:44:23 +0300 Subject: [PATCH] Fix port conflict between RQLite and LibP2P CRITICAL FIX: Separate RQLite and LibP2P ports to prevent service startup failures Changes: - LibP2P now uses port 4000 (was conflicting with RQLite on 4001) - RQLite continues to use port 4001 for HTTP API - RQLite Raft uses port 4002 - Updated bootstrap peer configurations to use port 4000 - Updated install script port configurations - Fixed firewall configuration to allow correct ports This resolves the 'bind: address already in use' error that was preventing the debros-node service from starting properly. --- cmd/node/main.go | 4 ++-- pkg/constants/bootstrap.go | 12 ++++++------ pkg/node/node.go | 1 - scripts/install-debros-network.sh | 2 +- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/cmd/node/main.go b/cmd/node/main.go index fbd8fba..ca77387 100644 --- a/cmd/node/main.go +++ b/cmd/node/main.go @@ -48,8 +48,8 @@ func main() { } } - // All nodes use port 4001 for consistency - port := 4001 + // LibP2P uses port 4000, RQLite uses 4001 + port := 4000 // Create logger with appropriate component type var logger *logging.StandardLogger diff --git a/pkg/constants/bootstrap.go b/pkg/constants/bootstrap.go index b8dc14b..51700db 100644 --- a/pkg/constants/bootstrap.go +++ b/pkg/constants/bootstrap.go @@ -18,8 +18,8 @@ var ( // BootstrapAddresses are the full multiaddrs for bootstrap nodes BootstrapAddresses []string - // BootstrapPort is the default port for bootstrap nodes - BootstrapPort int = 4001 + // BootstrapPort is the default port for bootstrap nodes (LibP2P) + BootstrapPort int = 4000 ) // Load environment variables and initialize bootstrap configuration @@ -95,8 +95,8 @@ func setDefaultBootstrapConfig() { "12D3KooWGbdnA22bN24X2gyY1o9jozwTBq9wbfvwtJ7G4XQ9JgFm", } BootstrapAddresses = []string{ - "/ip4/57.129.81.31/tcp/4001/p2p/12D3KooWJvJj94TmNwG1sntDWgAXi7MN3xxLLkoQzgHX6gQ22eKi", - "/ip4/38.242.250.186/tcp/4001/p2p/12D3KooWGbdnA22bN24X2gyY1o9jozwTBq9wbfvwtJ7G4XQ9JgFm", + "/ip4/57.129.81.31/tcp/4000/p2p/12D3KooWJvJj94TmNwG1sntDWgAXi7MN3xxLLkoQzgHX6gQ22eKi", + "/ip4/38.242.250.186/tcp/4000/p2p/12D3KooWGbdnA22bN24X2gyY1o9jozwTBq9wbfvwtJ7G4XQ9JgFm", } } else { // Development: only use localhost bootstrap @@ -104,10 +104,10 @@ func setDefaultBootstrapConfig() { "12D3KooWBQAr9Lj9Z3918wBT523tJaRiPN6zRywAtttvPrwcZfJb", } BootstrapAddresses = []string{ - "/ip4/127.0.0.1/tcp/4001/p2p/12D3KooWBQAr9Lj9Z3918wBT523tJaRiPN6zRywAtttvPrwcZfJb", + "/ip4/127.0.0.1/tcp/4000/p2p/12D3KooWBQAr9Lj9Z3918wBT523tJaRiPN6zRywAtttvPrwcZfJb", } } - BootstrapPort = 4001 + BootstrapPort = 4000 } // extractPeerIDFromMultiaddr extracts the peer ID from a multiaddr string diff --git a/pkg/node/node.go b/pkg/node/node.go index dd1df96..1e23918 100644 --- a/pkg/node/node.go +++ b/pkg/node/node.go @@ -58,7 +58,6 @@ func NewNode(cfg *config.Config) (*Node, error) { func (n *Node) Start(ctx context.Context) error { n.logger.ComponentInfo(logging.ComponentNode, "Starting network node", zap.String("data_dir", n.config.Node.DataDir), - zap.String("type", "bootstrap"), ) // Create data directory diff --git a/scripts/install-debros-network.sh b/scripts/install-debros-network.sh index b38b7cf..3f0c057 100755 --- a/scripts/install-debros-network.sh +++ b/scripts/install-debros-network.sh @@ -15,7 +15,7 @@ NOCOLOR='\033[0m' INSTALL_DIR="/opt/debros" REPO_URL="https://git.debros.io/DeBros/network.git" MIN_GO_VERSION="1.19" -NODE_PORT="4001" +NODE_PORT="4000" # LibP2P port for peer-to-peer communication RQLITE_PORT="4001" # All nodes use same RQLite port to join same cluster RAFT_PORT="4002" # All nodes use same Raft port UPDATE_MODE=false