README.md

The Swirl Project

Swirl is an implementation of the IETF PPSP protocol, RFC7574 in
Erlang/OTP, and released under the ALv2 license. It is currently incomplete.

Until the project's alpha status is removed, expect this repo to change
quickly and without respecting any version numbers. Bugs are expected, but
any reports or even patches would make my day/week/year.

Requirements

A modern UNIX system, although swirl will likely run on Windows, the
compile-time dependencies are more complicated. Please contact the
project if you want to build or run on Windows.

The most recent release of Erlang/OTP available. This is OTP 18.2 at
time of writing, and is available from ESL for most platforms. This
is strongly advised, instead of using a possibly inconsistent version from
your OS packaging system.

A reasonable level of Erlang and PPSPP knowledge is anticipated.

If you are developing on / with swirl you will need a pre-built dialyzer
plt. If you don't know what this is, just run make distclean plt each
time you install/upgrade to a new Erlang/OTP release.

Usage

Use make as usual. It will retrieve dependencies, so internet is needed
at least for the first run.

After building, a stand-alone command, ./swirl starts a simple peer
on localhost:7777, without console access.

make console loads the full erlang application but you'll need to enter
either swirl:start_peer(). for a single instance, or read the
console help via swirl:help(). to see how to start multiple peers.

Developers

make distcheck cleans all build files out, compiles, and runs all tests,
including common_test, and dialyzer.

Images

The Swirl Project uses a number of stunning images of the Messier M74
Spiral Galaxy, also known as NGC 628. These images are in the public domain,
and you can see more of them at the hubblesite, and on their mobile site.