serialization network ID set via env var and docker improvements
Some checks are pending
Some checks are pending
This commit is contained in:
parent
893fa2ec90
commit
30460f05f4
7 changed files with 223 additions and 2 deletions
|
@ -99,7 +99,7 @@ public class Version {
|
|||
|
||||
// The version no. for the objects sent over the network. A change will break the serialization of old objects.
|
||||
// If objects are used for both network and database the network version is applied.
|
||||
public static final String P2P_NETWORK_VERSION = "X";
|
||||
public static final String P2P_NETWORK_VERSION = System.getenv().getOrDefault("P2P_NETWORK_VERSION", "X");
|
||||
|
||||
// The version no. of the serialized data stored to disc. A change will break the serialization of old objects.
|
||||
// VERSION = 0.5.0 -> LOCAL_DB_VERSION = 1
|
||||
|
|
|
@ -15,7 +15,7 @@ USER haveno
|
|||
|
||||
WORKDIR /home/haveno
|
||||
|
||||
RUN set -ex && git clone https://git.haveno.com/haveno/haveno.git
|
||||
RUN set -ex && git clone https://foss.haveno.com/haveno-network/haveno-core.git
|
||||
|
||||
WORKDIR /home/haveno/haveno
|
||||
|
||||
|
|
3
docker/daemon/.env
Normal file
3
docker/daemon/.env
Normal file
|
@ -0,0 +1,3 @@
|
|||
NETWORK_VERSION_TAG=1.1.2
|
||||
BASE_NETWORK=MAINNET
|
||||
P2P_NETWORK_VERSION="X"
|
28
docker/daemon/docker-compose.yml
Normal file
28
docker/daemon/docker-compose.yml
Normal file
|
@ -0,0 +1,28 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
haveno-daemon:
|
||||
image: haveno-core
|
||||
build:
|
||||
context: ../
|
||||
ports:
|
||||
- "127.0.0.1:3201:3201"
|
||||
environment:
|
||||
- P2P_NETWORK_VERSION=X
|
||||
- NETWORK_VERSION_TAG=${NETWORK_VERSION_TAG}
|
||||
- BASE_CURRENCY_NETWORK=XMR_${BASE_NETWORK}
|
||||
- USE_LOCALHOST_FOR_P2P=false
|
||||
- USE_DEV_PRIVILEGE_KEYS=false
|
||||
- NODE_PORT=9999
|
||||
- APP_NAME=haveno-XMR_${BASE_NETWORK}_DAEMON
|
||||
- EXPORT_SHADOW=yes
|
||||
- EXPORT_SHADOW_PATH=daemon/build/libs/daemon-all.sh # Leave this blank in most cases
|
||||
entrypoint: ["./haveno-daemon"]
|
||||
command:
|
||||
- "--baseCurrencyNetwork=XMR_${BASE_NETWORK}"
|
||||
- "--useLocalhostForP2P=false"
|
||||
- "--useDevPrivilegeKeys=false"
|
||||
- "--nodePort=9999"
|
||||
- "--appName=XMR_${BASE_NETWORK}_DAEMON"
|
||||
- "--seedNodes=5i6blbmuflq4s4im6zby26a7g22oef6kyp7vbwyru6oq5e36akzo3ayd.onion:2001,dx4ktxyiemjc354imehuaswbhqlidhy62b4ifzigk5p2rb37lxqbveqd.onion:2002,ajbqx4clnjlr7lmzoftuvpvmqafdiilidsgocvokx6bqj3okk56ccfqd.onion:2003"
|
||||
restart: unless-stopped
|
2
docker/seednode/.env
Normal file
2
docker/seednode/.env
Normal file
|
@ -0,0 +1,2 @@
|
|||
BASE_NETWORK=MAINNET
|
||||
P2P_NETWORK_VERSION="X"
|
79
docker/seednode/docker-compose.yml
Normal file
79
docker/seednode/docker-compose.yml
Normal file
|
@ -0,0 +1,79 @@
|
|||
version: '3.8'
|
||||
|
||||
services:
|
||||
haveno-core:
|
||||
image: haveno-core
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: Dockerfile.core
|
||||
# No ports, this one just builds the image
|
||||
entrypoint: ["true"] # No need to run
|
||||
|
||||
haveno-seednode_2001:
|
||||
image: haveno-core
|
||||
depends_on:
|
||||
- haveno-core
|
||||
ports:
|
||||
- "127.0.0.1:2001:2001"
|
||||
environment:
|
||||
- BASE_CURRENCY_NETWORK=XMR_${BASE_NETWORK}
|
||||
- USE_LOCALHOST_FOR_P2P=false
|
||||
- USE_DEV_PRIVILEGE_KEYS=false
|
||||
- NODE_PORT=2001
|
||||
- APP_NAME=haveno-XMR_${BASE_NETWORK}_Seed_2001
|
||||
entrypoint: ["./haveno-seednode"]
|
||||
command:
|
||||
- "--baseCurrencyNetwork=XMR_${BASE_NETWORK}"
|
||||
- "--useLocalhostForP2P=false"
|
||||
- "--useDevPrivilegeKeys=false"
|
||||
- "--nodePort=2001"
|
||||
- "--appName=haveno-XMR_${BASE_NETWORK}_Seed_2001"
|
||||
- "--hiddenServiceAddress=5i6blbmuflq4s4im6zby26a7g22oef6kyp7vbwyru6oq5e36akzo3ayd.onion"
|
||||
- "--seedNodes=5i6blbmuflq4s4im6zby26a7g22oef6kyp7vbwyru6oq5e36akzo3ayd.onion:2001,dx4ktxyiemjc354imehuaswbhqlidhy62b4ifzigk5p2rb37lxqbveqd.onion:2002,ajbqx4clnjlr7lmzoftuvpvmqafdiilidsgocvokx6bqj3okk56ccfqd.onion:2003"
|
||||
restart: unless-stopped
|
||||
|
||||
haveno-seednode_2002:
|
||||
image: haveno-core
|
||||
depends_on:
|
||||
- haveno-core
|
||||
ports:
|
||||
- "127.0.0.1:2002:2002"
|
||||
environment:
|
||||
- BASE_CURRENCY_NETWORK=XMR_${BASE_NETWORK}
|
||||
- USE_LOCALHOST_FOR_P2P=false
|
||||
- USE_DEV_PRIVILEGE_KEYS=false
|
||||
- NODE_PORT=2002
|
||||
- APP_NAME=haveno-XMR_${BASE_NETWORK}_Seed_2002
|
||||
entrypoint: ["./haveno-seednode"]
|
||||
command:
|
||||
- "--baseCurrencyNetwork=XMR_${BASE_NETWORK}"
|
||||
- "--useLocalhostForP2P=false"
|
||||
- "--useDevPrivilegeKeys=false"
|
||||
- "--nodePort=2002"
|
||||
- "--appName=haveno-XMR_${BASE_NETWORK}_Seed_2002"
|
||||
- "--hiddenServiceAddress=dx4ktxyiemjc354imehuaswbhqlidhy62b4ifzigk5p2rb37lxqbveqd.onion"
|
||||
- "--seedNodes=5i6blbmuflq4s4im6zby26a7g22oef6kyp7vbwyru6oq5e36akzo3ayd.onion:2001,dx4ktxyiemjc354imehuaswbhqlidhy62b4ifzigk5p2rb37lxqbveqd.onion:2002,ajbqx4clnjlr7lmzoftuvpvmqafdiilidsgocvokx6bqj3okk56ccfqd.onion:2003"
|
||||
restart: unless-stopped
|
||||
|
||||
haveno-seednode_2003:
|
||||
image: haveno-core
|
||||
depends_on:
|
||||
- haveno-core
|
||||
ports:
|
||||
- "127.0.0.1:2003:2003"
|
||||
environment:
|
||||
- BASE_CURRENCY_NETWORK=XMR_${BASE_NETWORK}
|
||||
- USE_LOCALHOST_FOR_P2P=false
|
||||
- USE_DEV_PRIVILEGE_KEYS=false
|
||||
- NODE_PORT=2003
|
||||
- APP_NAME=haveno-XMR_${BASE_NETWORK}_Seed_2003
|
||||
entrypoint: ["./haveno-seednode"]
|
||||
command:
|
||||
- "--baseCurrencyNetwork=XMR_${BASE_NETWORK}"
|
||||
- "--useLocalhostForP2P=false"
|
||||
- "--useDevPrivilegeKeys=false"
|
||||
- "--nodePort=2003"
|
||||
- "--appName=haveno-XMR_${BASE_NETWORK}_Seed_2003"
|
||||
- "--hiddenServiceAddress=ajbqx4clnjlr7lmzoftuvpvmqafdiilidsgocvokx6bqj3okk56ccfqd.onion"
|
||||
- "--seedNodes=5i6blbmuflq4s4im6zby26a7g22oef6kyp7vbwyru6oq5e36akzo3ayd.onion:2001,dx4ktxyiemjc354imehuaswbhqlidhy62b4ifzigk5p2rb37lxqbveqd.onion:2002,ajbqx4clnjlr7lmzoftuvpvmqafdiilidsgocvokx6bqj3okk56ccfqd.onion:2003"
|
||||
restart: unless-stopped
|
109
docker/torrc
Normal file
109
docker/torrc
Normal file
|
@ -0,0 +1,109 @@
|
|||
## Configuration file for Haveno Seednode
|
||||
##
|
||||
## Tor opens a socks proxy on port 9050 by default -- even if you don't
|
||||
## configure one below. Set "SocksPort 0" if you plan to run Tor only
|
||||
## as a relay, and not make any local application connections yourself.
|
||||
#SocksPort 9050 # Default: Bind to localhost:9050 for local connections.
|
||||
# ### SocksPort flag: OnionTrafficOnly ###
|
||||
## Tell the tor client to only connect to .onion addresses in response to SOCKS5 requests on this connection.
|
||||
## This is equivalent to NoDNSRequest, NoIPv4Traffic, NoIPv6Traffic.
|
||||
# ### SocksPort flag: ExtendedErrors ###
|
||||
## Return extended error code in the SOCKS reply. So far, the possible errors are:
|
||||
# X'F0' Onion Service Descriptor Can Not be Found
|
||||
# X'F1' Onion Service Descriptor Is Invalid
|
||||
# X'F2' Onion Service Introduction Failed
|
||||
# X'F3' Onion Service Rendezvous Failed
|
||||
# X'F4' Onion Service Missing Client Authorization
|
||||
# X'F5' Onion Service Wrong Client Authorization
|
||||
# X'F6' Onion Service Invalid Address
|
||||
# X'F7' Onion Service Introduction Timed Out
|
||||
SocksPort 9050 OnionTrafficOnly ExtendedErrors
|
||||
|
||||
## Entry policies to allow/deny SOCKS requests based on IP address.
|
||||
## First entry that matches wins. If no SocksPolicy is set, we accept
|
||||
## all (and only) requests that reach a SocksPort. Untrusted users who
|
||||
## can access your SocksPort may be able to learn about the connections
|
||||
## you make.
|
||||
SocksPolicy accept 127.0.0.1
|
||||
SocksPolicy accept6 [::1]
|
||||
SocksPolicy reject *
|
||||
|
||||
## Tor will reject application connections that use unsafe variants of the socks protocol
|
||||
## — ones that only provide an IP address, meaning the application is doing a DNS resolve first.
|
||||
## Specifically, these are socks4 and socks5 when not doing remote DNS. (Default: 0)
|
||||
#SafeSocks 1
|
||||
|
||||
## Tor will make a notice-level log entry for each connection to the Socks port indicating
|
||||
## whether the request used a safe socks protocol or an unsafe one (see above entry on SafeSocks).
|
||||
## This helps to determine whether an application using Tor is possibly leaking DNS requests. (Default: 0)
|
||||
TestSocks 1
|
||||
|
||||
## Logs go to stdout at level "notice" unless redirected by something
|
||||
## else, like one of the below lines. You can have as many Log lines as
|
||||
## you want.
|
||||
##
|
||||
## We advise using "notice" in most cases, since anything more verbose
|
||||
## may provide sensitive information to an attacker who obtains the logs.
|
||||
##
|
||||
## Send all messages of level 'notice' or higher to /var/log/tor/notices.log
|
||||
#Log notice file /var/log/tor/notices.log
|
||||
## Send every possible message to /var/log/tor/debug.log
|
||||
#Log debug file /var/log/tor/debug.log
|
||||
## Use the system log instead of Tor's logfiles (This is default)
|
||||
#Log notice syslog
|
||||
## To send all messages to stderr:
|
||||
#Log debug stderr
|
||||
|
||||
# Try to write to disk less frequently than we would otherwise. This is useful when running on flash memory.
|
||||
AvoidDiskWrites 1
|
||||
|
||||
HiddenServiceStatistics 0
|
||||
|
||||
## Compute the hash of a password with "tor --hash-password password".
|
||||
HashedControlPassword 16:872860B76453A77D60CA2BB8C1A7042072093276A3D701AD684053EC4C
|
||||
#CookieAuthentication 0 # (Default: 1)
|
||||
|
||||
## MetricsPort provides an interface to the underlying Tor relay metrics.
|
||||
## Exposing publicly is dangerous, set a very strict access policy.
|
||||
## Retrieve the metrics with: curl http://127.0.0.1:9035/metrics
|
||||
MetricsPort 127.0.0.1:9035
|
||||
MetricsPortPolicy accept 127.0.0.1
|
||||
MetricsPortPolicy accept [::1]
|
||||
|
||||
HiddenServiceDir /var/lib/tor/haveno_seednode_2001
|
||||
HiddenServicePort 2001 127.0.0.1:2001
|
||||
HiddenServicePort 2001 [::1]:2001
|
||||
HiddenServiceEnableIntroDoSDefense 1
|
||||
HiddenServicePoWDefensesEnabled 1
|
||||
HiddenServicePoWQueueRate 50 # (Default: 250)
|
||||
HiddenServicePoWQueueBurst 250 # (Default: 2500)
|
||||
HiddenServiceMaxStreams 25
|
||||
|
||||
|
||||
HiddenServiceDir /var/lib/tor/haveno_seednode_2002
|
||||
HiddenServicePort 2002 127.0.0.1:2002
|
||||
HiddenServicePort 2002 [::1]:2002
|
||||
HiddenServiceEnableIntroDoSDefense 1
|
||||
#HiddenServiceEnableIntroDoSRatePerSec 25 # (Default: 25)
|
||||
#HiddenServiceEnableIntroDoSBurstPerSec 200 # (Default: 200)
|
||||
HiddenServicePoWDefensesEnabled 1
|
||||
HiddenServicePoWQueueRate 50 # (Default: 250)
|
||||
HiddenServicePoWQueueBurst 250 # (Default: 2500)
|
||||
HiddenServiceMaxStreams 25
|
||||
#HiddenServiceMaxStreamsCloseCircuit 1
|
||||
|
||||
|
||||
HiddenServiceDir /var/lib/tor/haveno_seednode_2003
|
||||
HiddenServicePort 2003 127.0.0.1:2003
|
||||
HiddenServicePort 2003 [::1]:2003
|
||||
HiddenServiceEnableIntroDoSDefense 1
|
||||
#HiddenServiceEnableIntroDoSRatePerSec 25 # (Default: 25)
|
||||
#HiddenServiceEnableIntroDoSBurstPerSec 200 # (Default: 200)
|
||||
#HiddenServiceNumIntroductionPoints 3 # (Default: 3)
|
||||
HiddenServicePoWDefensesEnabled 1
|
||||
HiddenServicePoWQueueRate 50 # (Default: 250)
|
||||
HiddenServicePoWQueueBurst 250 # (Default: 2500)
|
||||
HiddenServiceMaxStreams 25
|
||||
#HiddenServiceMaxStreamsCloseCircuit 1
|
||||
|
||||
LongLivedPorts 2001,2002,2003
|
Loading…
Reference in a new issue