Compile MoneroV Client

  1. Ensure that you have docker installed.
  2. Clone the MoneroV repo (including submodules via the --recursive flag).
    git clone --recursive https://github.com/monerov/monerov.git
    
  3. Overwrite the Dockerfile in the monerov repo with the one the scripts/hardforks/monerov directory.
    cd monerov
    cp <path-to-the-instructions-repo>/scripts/hardforks/xmv/Dockerfile .
    
  4. In the monerov repo, run the following command to build a docker image containing the monerovd client binary.
    docker build -t monerov .
    

    Note: You may have to increase the RAM allotted to the VM that docker uses to build the image. An allocation of 7.5 GB was sufficient for the image to be succesfully built. This can be done in the Settings > Advanced menu of Docker Desktop.

  5. The monerovd client binary is in the /src/build/release/bin/ directory of the image. To copy it to the host machine, we need a running container based on this image.
    docker run -d monerov bash -c "tail -f /dev/null"
    
    The tail -f /dev/null command prevents the container from exiting. Make a note of the container id that is printed or obtain it by running the docker ps command.
  6. Copy the monerovd binary from the container to the host using the following command (after replacing <container-id> with the actual container ID).
    docker cp <container-id>:/src/build/release/bin/monerovd .
    
    The current directory of the host must have the monerovd binary.
  7. Stop and delete the container with the following command.
    docker rm -f <container-id>