Ouroboros Implementation Overview

From Ouroboros
Revision as of 17:51, 7 June 2022 by Dimitri (talk | contribs)
Jump to navigation Jump to search

Library

The ouroboros library

Application end-to-end IPC functions

These are the functions that are typically called by an application programmer to interact with the network.

Application flow allocation API

Application flow management API

Synchronous IPC API

Asynchronous IPC API

Application end-to-end background tasks

These functions are background tasks that are not directly visible to the application programmer.

FRCT

FRCT, implements FRCP

Encryption

Authentication

Not yet implemented.

Integrity

CRC


Stream-based IPC

IRMd

IPCPs

Enrollment

Directory

Flow allocator

FLAP

Packet Transfer

ODTP


Other language support

The prototype itself is written in C for performance, but bindings for other languages are available

Python 3

pyOuroboros


Rust

A [| rust interface] is available on GitHub.

Other tools

Rumba orchestration framework

Main page: Rumba framework

Ouroboros metrics

Main page: Ouroboros metrics

Roadmap

The Ouroboros prototype is far from complete. In order to come to some usable production version (Version 1.0), a lot more implementation is needed.

License

The Ouroboros Library is Licensed under LGPL2.1. The IRMd and IPCPs are Licensed under GPL2.1. The tool are licensed under 3-clause BSD.