mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-02-19 13:54:21 -05:00
dockerize deamons with docker compose
This commit is contained in:
parent
f11c816cda
commit
217e7e03a2
10
README.md
10
README.md
@ -1,11 +1,11 @@
|
|||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://raw.githubusercontent.com/haveno-dex/haveno-meta/721e52919b28b44d12b6e1e5dac57265f1c05cda/logo/haveno_logo_landscape.svg" alt="Haveno logo">
|
<img src="https://raw.githubusercontent.com/haveno-dex/haveno-meta/721e52919b28b44d12b6e1e5dac57265f1c05cda/logo/haveno_logo_landscape.svg" alt="Haveno logo">
|
||||||
|
|
||||||
[](https://app.codacy.com/gh/haveno-dex/haveno/dashboard)
|
[](https://app.codacy.com/gh/haveno-dex/haveno/dashboard)
|
||||||

|

|
||||||
[](https://github.com/orgs/haveno-dex/projects/2) |
|
[](https://github.com/orgs/haveno-dex/projects/2) |
|
||||||
[](https://twitter.com/havenodex)
|
[](https://twitter.com/havenodex)
|
||||||
[](https://matrix.to/#/#haveno:monero.social) [](https://github.com/haveno-dex/.github/blob/master/CODE_OF_CONDUCT.md)
|
[](https://matrix.to/#/#haveno:monero.social) [](https://github.com/haveno-dex/.github/blob/master/CODE_OF_CONDUCT.md)
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## What is Haveno?
|
## What is Haveno?
|
||||||
@ -83,4 +83,4 @@ If you are using a wallet that supports OpenAlias (like the 'official' CLI and G
|
|||||||
|
|
||||||
`1AKq3CE1yBAnxGmHXbNFfNYStcByNDc5gQ`
|
`1AKq3CE1yBAnxGmHXbNFfNYStcByNDc5gQ`
|
||||||
|
|
||||||
<!--  -->
|
<!--  -->
|
||||||
|
@ -92,14 +92,14 @@ public class CoreAccountService {
|
|||||||
if (accountExists()) throw new IllegalStateException("Cannot create account if account already exists");
|
if (accountExists()) throw new IllegalStateException("Cannot create account if account already exists");
|
||||||
keyRing.generateKeys(password);
|
keyRing.generateKeys(password);
|
||||||
this.password = password;
|
this.password = password;
|
||||||
for (AccountServiceListener listener : listeners) listener.onAccountCreated();
|
for (AccountServiceListener listener : new ArrayList<AccountServiceListener>(listeners)) listener.onAccountCreated();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void openAccount(String password) throws IncorrectPasswordException {
|
public void openAccount(String password) throws IncorrectPasswordException {
|
||||||
if (!accountExists()) throw new IllegalStateException("Cannot open account if account does not exist");
|
if (!accountExists()) throw new IllegalStateException("Cannot open account if account does not exist");
|
||||||
if (keyRing.unlockKeys(password, false)) {
|
if (keyRing.unlockKeys(password, false)) {
|
||||||
this.password = password;
|
this.password = password;
|
||||||
for (AccountServiceListener listener : listeners) listener.onAccountOpened();
|
for (AccountServiceListener listener : new ArrayList<AccountServiceListener>(listeners)) listener.onAccountOpened();
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalStateException("keyRing.unlockKeys() returned false, that should never happen");
|
throw new IllegalStateException("keyRing.unlockKeys() returned false, that should never happen");
|
||||||
}
|
}
|
||||||
@ -110,13 +110,13 @@ public class CoreAccountService {
|
|||||||
String oldPassword = this.password;
|
String oldPassword = this.password;
|
||||||
keyStorage.saveKeyRing(keyRing, oldPassword, password);
|
keyStorage.saveKeyRing(keyRing, oldPassword, password);
|
||||||
this.password = password;
|
this.password = password;
|
||||||
for (AccountServiceListener listener : listeners) listener.onPasswordChanged(oldPassword, password);
|
for (AccountServiceListener listener : new ArrayList<AccountServiceListener>(listeners)) listener.onPasswordChanged(oldPassword, password);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void closeAccount() {
|
public void closeAccount() {
|
||||||
if (!isAccountOpen()) throw new IllegalStateException("Cannot close unopened account");
|
if (!isAccountOpen()) throw new IllegalStateException("Cannot close unopened account");
|
||||||
keyRing.lockKeys(); // closed account means the keys are locked
|
keyRing.lockKeys(); // closed account means the keys are locked
|
||||||
for (AccountServiceListener listener : listeners) listener.onAccountClosed();
|
for (AccountServiceListener listener : new ArrayList<AccountServiceListener>(listeners)) listener.onAccountClosed();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void backupAccount(int bufferSize, Consumer<InputStream> consume, Consumer<Exception> error) {
|
public void backupAccount(int bufferSize, Consumer<InputStream> consume, Consumer<Exception> error) {
|
||||||
|
@ -23,7 +23,6 @@ import com.google.inject.Inject;
|
|||||||
|
|
||||||
import javax.inject.Named;
|
import javax.inject.Named;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -35,7 +34,7 @@ import javax.annotation.Nullable;
|
|||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class ProvidersRepository {
|
public class ProvidersRepository {
|
||||||
private static final List<String> DEFAULT_NODES = Arrays.asList(
|
private static final List<String> DEFAULT_NODES = List.of(
|
||||||
"http://gbmks3wzvdzu5xq6gnqpj2qz3262tcr36iltagk37udcbwzsbfazq3yd.onion/" // Haveno
|
"http://gbmks3wzvdzu5xq6gnqpj2qz3262tcr36iltagk37udcbwzsbfazq3yd.onion/" // Haveno
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -104,8 +103,8 @@ public class ProvidersRepository {
|
|||||||
if (useLocalhostForP2P) {
|
if (useLocalhostForP2P) {
|
||||||
// If we run in localhost mode we don't have the tor node running, so we need a clearnet host
|
// If we run in localhost mode we don't have the tor node running, so we need a clearnet host
|
||||||
// Use localhost for using a locally running provider
|
// Use localhost for using a locally running provider
|
||||||
// providers = Collections.singletonList("http://localhost:8078");
|
|
||||||
providers = Collections.singletonList("https://price.haveno.network/"); // Haveno
|
providers = List.of("http://localhost:8078/", "https://price.haveno.network/");
|
||||||
} else {
|
} else {
|
||||||
providers = DEFAULT_NODES;
|
providers = DEFAULT_NODES;
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ On Ubuntu: `sudo apt install make wget git openjdk-11-jdk`. The Monero binaries
|
|||||||
|
|
||||||
## Build Haveno
|
## Build Haveno
|
||||||
|
|
||||||
If it's the first time you are building Haveno, run the following commands to download the repository, the needed dependencies, and build the latest release:
|
If it's the first time you are building Haveno, run the following commands to download the repository, the needed dependencies, and build the latest release:
|
||||||
|
|
||||||
```
|
```
|
||||||
git clone https://github.com/haveno-dex/haveno.git
|
git clone https://github.com/haveno-dex/haveno.git
|
||||||
@ -68,6 +68,8 @@ If you don't use *screen*, open 4 terminal windows and run in each one of them:
|
|||||||
1. `make seednode-local`
|
1. `make seednode-local`
|
||||||
2. `make user1-desktop-local` or if you want to run user1 as a daemon: `make user1-daemon-local`
|
2. `make user1-desktop-local` or if you want to run user1 as a daemon: `make user1-daemon-local`
|
||||||
3. `make user2-desktop-local` or if you want to run user2 as a daemon: `make user2-daemon-local`
|
3. `make user2-desktop-local` or if you want to run user2 as a daemon: `make user2-daemon-local`
|
||||||
|
4. `make arbitrator-desktop-local` or if you want to run arbitrator as a daemon: `make arbitrator-daemon-local`
|
||||||
|
5. Optionally run a [local price node](https://github.com/haveno-dex/haveno-pricenode/blob/main/README.md)
|
||||||
|
|
||||||
If this is the first time launching the arbitrator desktop application, register the arbitrator after the interface opens. Go to the *Account* tab and press `cmd+r`. Confirm the registration of the arbitrator.
|
If this is the first time launching the arbitrator desktop application, register the arbitrator after the interface opens. Go to the *Account* tab and press `cmd+r`. Confirm the registration of the arbitrator.
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user