Merge pull request #2346 from devinbileck/tor-on-regtest

Allow tor to be used with regtest
This commit is contained in:
Manfred Karrer 2019-02-04 12:24:58 +01:00 committed by GitHub
commit 68a6de2576
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 7 deletions

View file

@ -446,8 +446,9 @@ public class WalletConfig extends AbstractIdleService {
// before we're actually connected the broadcast waits for an appropriate number of connections. // before we're actually connected the broadcast waits for an appropriate number of connections.
if (peerAddresses != null) { if (peerAddresses != null) {
for (PeerAddress addr : peerAddresses) vPeerGroup.addAddress(addr); for (PeerAddress addr : peerAddresses) vPeerGroup.addAddress(addr);
log.info("We try to connect to {} btc nodes", numConnectionForBtc); int maxConnections = Math.min(numConnectionForBtc, peerAddresses.length);
vPeerGroup.setMaxConnections(Math.min(numConnectionForBtc, peerAddresses.length)); log.info("We try to connect to {} btc nodes", maxConnections);
vPeerGroup.setMaxConnections(maxConnections);
peerAddresses = null; peerAddresses = null;
} else if (!params.equals(RegTestParams.get())) { } else if (!params.equals(RegTestParams.get())) {
vPeerGroup.addPeerDiscovery(discovery != null ? discovery : new DnsDiscovery(params)); vPeerGroup.addPeerDiscovery(discovery != null ? discovery : new DnsDiscovery(params));

View file

@ -236,7 +236,6 @@ public class WalletsSetup {
if (regTestHost == RegTestHost.LOCALHOST) { if (regTestHost == RegTestHost.LOCALHOST) {
walletConfig.setPeerNodesForLocalHost(); walletConfig.setPeerNodesForLocalHost();
} else if (regTestHost == RegTestHost.REMOTE_HOST) { } else if (regTestHost == RegTestHost.REMOTE_HOST) {
walletConfig.setMinBroadcastConnections(1);
configPeerNodesForRegTestServer(); configPeerNodesForRegTestServer();
} else { } else {
configPeerNodes(socks5Proxy); configPeerNodes(socks5Proxy);
@ -315,7 +314,11 @@ public class WalletsSetup {
private void configPeerNodesForRegTestServer() { private void configPeerNodesForRegTestServer() {
try { try {
walletConfig.setPeerNodes(new PeerAddress(InetAddress.getByName(RegTestHost.HOST), params.getPort())); if (RegTestHost.HOST.endsWith(".onion")) {
walletConfig.setPeerNodes(new PeerAddress(RegTestHost.HOST, params.getPort()));
} else {
walletConfig.setPeerNodes(new PeerAddress(InetAddress.getByName(RegTestHost.HOST), params.getPort()));
}
} catch (UnknownHostException e) { } catch (UnknownHostException e) {
log.error(e.toString()); log.error(e.toString());
e.printStackTrace(); e.printStackTrace();

View file

@ -692,10 +692,12 @@ public final class Preferences implements PersistedDataHost, BridgeAddressProvid
} }
public boolean getUseTorForBitcoinJ() { public boolean getUseTorForBitcoinJ() {
// We override the useTorForBitcoinJ and set it to false if we detected a localhost node or if we are not on mainnet. // We override the useTorForBitcoinJ and set it to false if we detected a localhost node or if we are not on mainnet,
// At testnet there are very few Bitcoin tor nodes and we don't provide tor nodes. // unless the useTorForBtc parameter is explicitly provided.
if (!BisqEnvironment.getBaseCurrencyNetwork().isMainnet() // On testnet there are very few Bitcoin tor nodes and we don't provide tor nodes.
if ((!BisqEnvironment.getBaseCurrencyNetwork().isMainnet()
|| bisqEnvironment.isBitcoinLocalhostNodeRunning()) || bisqEnvironment.isBitcoinLocalhostNodeRunning())
&& (useTorFlagFromOptions == null || useTorFlagFromOptions.isEmpty()))
return false; return false;
else else
return prefPayload.isUseTorForBitcoinJ(); return prefPayload.isUseTorForBitcoinJ();