diff --git a/README.md b/README.md index 0f96047..b795b3b 100644 --- a/README.md +++ b/README.md @@ -79,23 +79,35 @@ The key features of the Wownero Blockchain Explorer are: ## Compilation -#### Wownero download and compilation - -First compile Wownero from source: +### Dependencies ```bash -git clone --recursive https://github.com/wownero/wownero.git -cd wownero -make -j$(nproc) +sudo apt update +sudo apt install git build-essential cmake libboost-all-dev miniupnpc \ + libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev \ + libcurl4-openssl-dev libgtest-dev libreadline-dev libzmq3-dev \ + libsodium-dev libhidapi-dev libhidapi-libusb0 ``` -##### Compile and run the explorer +### Wownero download and compilation -Once Wownero compiles, the explorer can be downloaded and compiled -as follows: +The explorer links against Wownero libraries, so you need to compile Wownero from source first. +**Note:** You don't need to *run* this compiled wownerod - the explorer reads the blockchain directly from the LMDB database. You can have a separate wownerod running (e.g. from a package). The compiled source is only needed for the libraries. + +```bash +cd ~ +git clone --recursive https://github.com/wownero/wownero.git +cd wownero + +# USE_SINGLE_BUILDDIR=1 is required! Creates build/release/ which cmake expects +USE_SINGLE_BUILDDIR=1 make release -j$(nproc) +``` + +### Compile the explorer + +Once Wownero compiles, the explorer can be downloaded and compiled: ```bash -# go to home folder if still in ~/wownero cd ~ # download the source code @@ -107,11 +119,14 @@ cd onion-wownero-blockchain-explorer-themefork # make a build folder and enter it mkdir build && cd build -# create the makefile -cmake .. +# create the makefile (point to your wownero source) +cmake -DMONERO_DIR=~/wownero .. # compile -make +make -j$(nproc) + +# create symlink to templates (required for runtime) +ln -s ../src/templates templates ``` @@ -145,8 +160,8 @@ This section covers running the explorer as a systemd service on a production se ### Prerequisites -- Wownero daemon (`wownerod`) running and synced -- Wownero compiled from source (for libraries) +- Wownero daemon (`wownerod`) running and synced (the explorer reads the LMDB directly) +- Wownero compiled from source (for libraries only - you don't run this binary) ### 1. Create a dedicated user (optional but recommended) @@ -163,13 +178,20 @@ sudo useradd -r -m -s /bin/bash wowexplorer # Switch to the user sudo -u wowexplorer -i +# First build Wownero (for libraries only) +cd ~ +git clone --recursive https://github.com/wownero/wownero.git +cd wownero +USE_SINGLE_BUILDDIR=1 make release -j$(nproc) + # Clone the explorer +cd ~ git clone https://codeberg.org/wownero/onion-wownero-blockchain-explorer-themefork.git cd onion-wownero-blockchain-explorer-themefork # Build mkdir build && cd build -cmake -DMONERO_DIR=/path/to/wownero .. +cmake -DMONERO_DIR=~/wownero .. make -j$(nproc) # Create templates symlink in build dir (required for runtime) @@ -180,6 +202,8 @@ ln -s ../src/templates templates Create `/etc/systemd/system/wowexplorer.service`: +**Note:** The explorer reads the blockchain directly from LMDB. The `--daemon-url` is only needed for mempool info and network stats - it connects to your running wownerod's RPC. + ```ini [Unit] Description=Wownero Blockchain Explorer