From 22338a8d4d99e166aeaaf4d5299473995b1a70b4 Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Sun, 5 Apr 2015 16:30:19 +0200 Subject: [PATCH] Make regtest default, use random node ports --- .../java/io/bitsquare/btc/BitcoinNetwork.java | 2 +- core/src/main/java/io/bitsquare/p2p/Node.java | 24 ++++++++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/io/bitsquare/btc/BitcoinNetwork.java b/core/src/main/java/io/bitsquare/btc/BitcoinNetwork.java index 152d01db6e..b3f6d7261b 100644 --- a/core/src/main/java/io/bitsquare/btc/BitcoinNetwork.java +++ b/core/src/main/java/io/bitsquare/btc/BitcoinNetwork.java @@ -29,7 +29,7 @@ public enum BitcoinNetwork { REGTEST(RegTestParams.get()); public static final String KEY = "bitcoin.network"; - public static final BitcoinNetwork DEFAULT = TESTNET; + public static final BitcoinNetwork DEFAULT = REGTEST; private final NetworkParameters parameters; diff --git a/core/src/main/java/io/bitsquare/p2p/Node.java b/core/src/main/java/io/bitsquare/p2p/Node.java index 53b6fc7164..c4fafd9560 100644 --- a/core/src/main/java/io/bitsquare/p2p/Node.java +++ b/core/src/main/java/io/bitsquare/p2p/Node.java @@ -19,7 +19,16 @@ package io.bitsquare.p2p; import com.google.common.base.Objects; +import java.io.IOException; + +import java.net.ServerSocket; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + public final class Node { + private static final Logger log = LoggerFactory.getLogger(Node.class); + public static final String NAME_KEY = "node.name"; public static final String PORT_KEY = "node.port"; @@ -28,7 +37,7 @@ public final class Node { * href="https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?&page=103"> * currently unassigned by IANA (7366-7390). */ - public static final int DEFAULT_PORT = 7366; + public static int DEFAULT_PORT = findFreeSystemPort(); private final String name; private final String ip; @@ -71,6 +80,19 @@ public final class Node { return Node.at(this.name, this.ip, newPort); } + private static int findFreeSystemPort() { + int port = 7366; + try { + ServerSocket server = new ServerSocket(0); + port = server.getLocalPort(); + server.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + return port; + } + @Override public boolean equals(Object object) { if (this == object)