Table of Contents

RobinNet

RobinNet is a lightweight store-and-forward messaging network designed for:

Each node stores messages locally and synchronizes them with peer nodes.


Design Philosophy

RobinNet was designed with these principles:

Nodes can run on:


System Architecture

A RobinNet node contains:

Nodes exchange messages using a lightweight HTTP protocol.


Core Components

File Description
db.py SQLite database layer
models.py Message structures and hashing
cli.py Command line operator interface
api.py HTTP API server
sync.py Peer synchronization engine
main.py Node launcher
daemon.py Background maintenance worker

Documentation

Section Description
install Installing and deploying RobinNet
testing Local testing workflows
cli Command line interface
api API documentation
db Database layer
models Message models
sync Synchronization engine

Example Workflow

Typical operator workflow:

  1. initialize node
  2. add peers
  3. test peer connectivity
  4. post bulletins
  5. synchronize nodes
  6. inspect messages and trace history

Example:

python -m robinnet.cli --db ./data/alpha.db init-node --name alpha --operator "Rich"
python -m robinnet.cli --db ./data/alpha.db add-peer --name bravo --url http://127.0.0.1:8082
python -m robinnet.cli --db ./data/alpha.db peer-test --peer-id 1
python -m robinnet.cli --db ./data/alpha.db post-bulletin --title "Test" --body "Hello"
python -m robinnet.cli --db ./data/alpha.db sync-all

Planned Features

Future development includes:


Cardinal

Cardinal will be the future graphical interface for RobinNet.

Goals:

Cardinal will communicate with RobinNet using the API.