Which ever Operating System you choose you will have to install Haveno on a desktop or on a server environment before you can use Haveno on your mobile device. As the desktop and server versions to the heavy lifting, you're phone is able to link with either so you can trade on-the-go.
This is a set of platforms that we currently support Haveno on
Stable currently works on Windows 10
Notes:
tor
on non-standard port managed by the app for destop this is port 9066
and the control port is on '9077'monerod
and monero-wallet-rpc
from the official getmonero.org github releases release page into the Haveno application support directly from the releases page on Monero to ensure.If you have homebrew you can install via the homebrew cask using the terminal command:
Firstly, if you don't aready have the popular software package manager for macOS, you can install
brew tap moneroecosystem/haveno
brew install --cask haveno
This is buggy, at the moment, it's best to used the cask which is working without any serious issues.
If you woul'd like to identify bugs can download thee .pkg
installer anyway, be sure to install with admin rights or this will not work, you will likely need to bypass gatekeeper which is your mac's in-built security because it doesn't like anything that contains the monero and tor binaries, but in the cask in option above this shouldn not be an issue.
Notes:
monerod
and monero-wallet-rpc
on to your machine directly from the official github releases provided on the monero-project/monero github into the Application Support folder.tor
on non-standard port managed by the app, running SOCKS5 on 9066 and tor control on 9077.There are several ways to install Haveno on your Linux machine, it depends whether you have a GUI or not, if you only have a server or VPS then see the Docker section.
snap install haveno
apt
file on Debian based distributions you can also add to apt, first make sure that you have software-proeprties-common
installed using this command.apt-get install software-properties-common
sudo add-apt-repository https://repo.haveno.com/
sudo apt-get update
sudo apt-get install haveno
Notes:
haveno daemon
on to your PC.tor
on non-standard port managed by the app.monerod
and monero-wallet-rpc
from the official repo.There are a few way to install Haveno on Android. You can choose one of the following
Notes:
iOS is supported however due to the limitations imposed by apple, natively, we can only check notifications once every 15 minutes approximately. There is a solution for setting up custom notifications through, SMS, email or Simplex if you need immediate trade message notifications, these require extra configuration
Recommended for server environments. You can use Docker Compose for multi-container applications. You can however also very convieniently deploy build the Haveno app using docker
Debian-Based Systems (e.g., Ubuntu)
If you're on a Debian-based machine, use the following command to install Docker and Docker Compose:
sudo apt-get install docker.io docker-compose
Alternatively, you can use Docker’s official repository to get the latest version:
# Update package information and install prerequisites
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
# Add Docker’s official GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Add the Docker repository
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Install Docker and Docker Compose
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Red Hat-Based Systems (e.g., CentOS, Fedora)
For Red Hat-based systems, use the following commands:
# Install required packages
sudo dnf -y install dnf-plugins-core
# Add the Docker repository
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# Install Docker and start the service
sudo dnf install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
# Install Docker Compose
sudo dnf install docker-compose
Create a new directory such as haveno-daemon
and inside navigate into it, then create a new file named docker-compose.yml
with the following contents, then save it:
# Copyright 2024 Kewbit (https://kewbit.org/)
version: '3'
services:
haveno-daemon:
image: haveno-daemon:latest
build: .
volumes:
- ./haveno-daemon/user:/app/user/ ### TODO THIS NEEDS TO BE REVIEWED
- ./haveno-daemon/data:/app/data/ ### TODO THIS NEEDS TO BE REVIEWED
ports:
- "3201:3201"
environment:
TOR_CONTROL_HOST: 172.23.0.3
TOR_CONTROL_PORT: 9051
TOR_CONTROL_PASSWORD: "FartLogs"
NETWORK_NAME: WOODSER
NODE_PORT: 9999
API_PASSWORD: "Rotteneggs123"
MAX_MEMORY: 2400
SEED_NODES: "dl57jitswby4yhzpqpu7pwq6iyqg2x6vkio73araparbftlqoqxhvqad.onion:2002,3cqlkowdu766sto5wrdqpntpsi7kezwkkakc532i6jeiyu7hha726ead.onion:3003"
XMR_NODE: http://node2.monerodevs.org:38089
networks:
lockdown_net:
ipv4_address: 172.23.0.4
depends_on:
tor:
condition: service_healthy
dnsmasq:
condition: service_healthy
dns:
- 172.23.0.2
tor:
image: dperson/torproxy
environment:
- TZ=UTC
- SERVICE=80;172.23.0.4:3201,80:172.23.0.5:2222
- EXITNODE=0
volumes:
- ./torrc:/etc/tor/torrc:ro
- ./tordata:/tor/data
restart: unless-stopped
networks:
lockdown_net:
ipv4_address: 172.23.0.3
cap_add:
- NET_ADMIN
- NET_RAW
dnsmasq:
image: havenodex/dnsmasq:latest
networks:
lockdown_net:
ipv4_address: 172.23.0.2
cap_add:
- NET_ADMIN
- NET_RAW
ports:
- "53/tcp"
- "53/udp"
restart: unless-stopped
envoy:
image: envoyproxy/envoy:v1.24.0
volumes:
- ./transformer-envoy.yaml:/etc/envoy/envoy.yaml
depends_on:
- tor
networks:
lockdown_net:
ipv4_address: 172.23.0.5
ports:
- "2222:2222"
watchtower:
image: containrrr/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
WATCHTOWER_CLEANUP: "true"
WATCHTOWER_POLL_INTERVAL: 300
networks:
lockdown_net:
ipv4_address: 172.23.0.6
networks:
lockdown_net:
driver: bridge
ipam:
config:
- subnet: 172.23.0.0/16
Once you have saved the docker-compose.yml
and adjusted the evnironment variables accordingly, you can start the daemon by using the command:
docker-compose up -d
# On newer versions of docker you may need to adjust the command slightly as follows:
docker compose up -d
This will start the program in background mode, if you need to check the logs you can do docker-compose logs -f
while in the same working directory as the docker-compose.yml
This will start a stack with tor
, a haveno daemon
and watchetower
optionally you can disable envoy
, this is only used if you want to interact with the daemon via a simple HTTP RPC and is not required for the functioning of the stack. watchtower
is included so that if any of your stack has an update it will automatically update it for you, if you would not like to automatically update you can comment out or remove watchtower.