Skip to content

lofirepo/ocaml-urps

Repository files navigation

Build Status

URPS: Uniform Random Peer Sampler

URPS is an OCaml implementation of the stream sampler as specified in the paper Uniform Node Sampling Service Robust against Collusions of Malicious Nodes.

It processes on the fly an unbounded and arbitrarily biased input stream made of node identifiers exchanged within the system, and outputs a stream that preserves Uniformity and Freshness properties.

URPS is distributed under the AGPL-3.0-only license.

Installation

urps can be installed via opam:

opam install urps

Building

To build from source, generate documentation, and run tests, use dune:

dune build
dune build @doc
dune runtest -f -j1 --no-buffer

In addition, the following Makefile targets are available as a shorthand for the above:

make all
make build
make doc
make test
make testn
make testn n=10

Documentation

The documentation and API reference is generated from the source interfaces. It can be consulted online or via odig:

odig doc urps