From f53e2ffa47043ce6783093d9ffd922850f08c426 Mon Sep 17 00:00:00 2001 From: CalDescent Date: Fri, 8 Oct 2021 19:10:02 +0100 Subject: [PATCH] Add initial peers on node startup if we don't have any in the repository. This will be needed for future bootstraps, which don't contain any peers. It is also useful for those who have used the DELETE /peers/known API. --- .../java/org/qortal/controller/Controller.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/org/qortal/controller/Controller.java b/src/main/java/org/qortal/controller/Controller.java index c8943ded..f2d91804 100644 --- a/src/main/java/org/qortal/controller/Controller.java +++ b/src/main/java/org/qortal/controller/Controller.java @@ -457,6 +457,9 @@ public class Controller extends Thread { // Import current trade bot states and minting accounts if they exist Controller.importRepositoryData(); + // Add the initial peers to the repository if we don't have any + Controller.installInitialPeers(); + LOGGER.info("Starting controller"); Controller.getInstance().start(); @@ -679,6 +682,17 @@ public class Controller extends Thread { } } + private static void installInitialPeers() { + try (final Repository repository = RepositoryManager.getRepository()) { + if (repository.getNetworkRepository().getAllPeers().isEmpty()) { + Network.installInitialPeers(repository); + } + + } catch (DataException e) { + // Fail silently as this is an optional step + } + } + private long getRandomRepositoryMaintenanceInterval() { final long minInterval = Settings.getInstance().getRepositoryMaintenanceMinInterval(); final long maxInterval = Settings.getInstance().getRepositoryMaintenanceMaxInterval();