/libcage

NATs free DHT(Kademlia) library in C++.

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

1. What?
    libcage is NATs free DHT library which implements Kademlia. This enables
    decentralized key-value store and peer-to-peer communications via NATs.
    Even if both peers are under NATs, peers can communicate with each other.

2. How to compile

    libcage depends on:
        libevent (http://www.monkey.org/~provos/libevent/)
        boost (http://www.boost.org/)

    and uses C++ compiler and OMake (http://omake.metaprl.org/index.html).
    So, please install above libraries and applications before compiling.

    You can then compile as:

    $ cd libcage
    $ omake


    libcage uses libevent as a default event library. If you'd like to use
    libev instead of libevent, please use the EV option when compiling.

    $ omake EV=TRUE


    The DEBUG option enables debugging which passes -O0 and -g flags to the
    compiler.

    $ omake DEBUG=TRUE


    If you want to debug RDP, please add a -DDEBUG_RDP flag to the CXXFLAGS
    option. When enabled DEBUG_RDP, libcage outputs RDP packets to the standard
    error.

    $ omake CXXFLAGS=-DDEBUG_RDP

3. Install
    If you want to install to /usr/local, please type:
    $ omake install

    If you want to install to any other places, plese use PREFIX option.
    For example, to install to /opt/local, please type:
    $ omake install PREFIX=/opt/local

4. Uninstall
    If you have installed to /user/local, please type:
    $ omake uninstall

    If you have installed to any other places, plese use PREFIX option.
    $ omake uninstall PREFIX=/opt/local

    You can uninstall libcage as:
    # rm -rf /usr/local/include/libcage
    # rm /usr/local/lib/libcage*