Development Setup on macOS

The following instructions will guide you from a clean installation of macOS to a working source checkout of raiden. Make sure that you are on OSX 10.12 or higher. This is needed since raiden uses the MONOTONICK_CLOCK_RAW attribute as seen here

  1. Install C/C++ compiler infrastructure:

    $ xcode-select --install
    
    • Click “Install” then “Agree”, wait for installation to complete

  2. Install Homebrew (a macOS package manager):

    $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
    • Follow the instructions

  3. Obtain a MONOTONIC_CLOCK_RAW compatible python version

    The precompiled Python versions for download on python.org are built on a too old macOS version which are not compatible with MONOTONIC_CLOCK_RAW. As such you will have to manually obtain a python binary that supports it. There are three ways to achieve this:

  4. Install system packages needed for raiden and its dependencies:

    $ brew install automake gmp leveldb libffi libtool openssl pkg-config
    
  5. Install pip (a Python package manager):

    $ sudo easy_install pip
    
  6. Install virtualenv:

    $ sudo pip install virtualenv
    
  7. Create a virtualenv for raiden (requires python3.8):

    $ virtualenv --python=python3.8 venv-raiden
    
  8. “Activate” the virtualenv:

    $ source venv-raiden/bin/activate
    
  9. Clone the raiden repository:

    $ git clone https://github.com/raiden-network/raiden.git
    
  10. Install the dependencies and make raiden available inside the virtualenv:

    $ cd raiden
    $ make install-dev
    

Now you have a working source installation of Raiden. To actually use it you also need an Ethereum client, which can be installed as follows:

$ brew tap ethereum/ethereum
$ brew install ethereum

The installation should now be complete. To ensure your setup is working correctly you can use the smoketest command:

$ raiden smoketest

Return to the installation guide