Skip to content

Reactivegas

An open-source system for managing the economic activities of solidarity purchasing groups (GAS - Gruppo di Acquisto Solidale).

Overview

Reactivegas is built on the principle of distributed state modification, dividing the administration of the purchasing group among peers. The system emphasizes:

  • Prepaid payments - Members deposit funds before purchases, eliminating individual payments at transaction time
  • Banking independence - Distributes cashier functions among group members through information technology
  • Self-governance - Managers administer their group through consensus, without external administrators

How It Works

Members access the group's economic activities through any of the administrators (responsabili) who can recognize them as holders of credit with the GAS. The number of administrators is smaller than total membership.

Distributed Counter Service

All managers can assist members with economic transactions. Purchase managers retain authority over order collection for their specific acquisitions.

Distributed Cash Management

Managers physically hold portions of member credits. Cash flows through:

  • Member deposits
  • Purchase executions
  • Inter-manager settlement transactions

Consensus Building

Managers (responsabili) publicly declare economic operations, keeping the system synchronized with actual group activities. The system provides:

  • Event certification - Cryptographic verification of economic events
  • Open event scheduling - Programming of future activities
  • Parallel state construction - Distributed state synchronization among administrators

Key Concepts

Italian Term English Description
Responsabile Administrator/Manager A peer who manages group activities
Utente User/Member A member of the purchasing group
Accredito Credit User's credit balance with the group
Saldo Balance Administrator's account balance
Impegno Commitment Economic commitment/pledge for purchases
Acquisto Purchase A group purchase order
Anagrafe Registry User and administrator registry
Movimento Movement A transaction or state change
Dichiarazione Declaration A certified economic operation

Architecture

The system consists of:

  • Events layer (Eventi/) - Defines economic events like purchases, credits, commitments
  • Persistence layer (Applicazioni/) - Handles state persistence via files and SQLite
  • Core types (Core/) - Fundamental type definitions and state management
  • Server (Server/) - SCGI web server for the user interface

Quick Start

# Start the server
server --port 5000 /path/to/data mypassword

See Installation for setup instructions and Usage for detailed documentation.

Command Line Options

Usage: server [-p|--port PORT] [-m|--movements COUNT] [-s|--sessions COUNT]
              [-r|--memories COUNT] DIRECTORY PASSWORD

Available options:
  -h,--help                Show this help text
  -p,--port PORT           CGI server port (default: 5000)
  -m,--movements COUNT     Max group movements in memory (default: 15)
  -s,--sessions COUNT      Max sessions in memory (default: 200)
  -r,--memories COUNT      Max memories per session (default: 20)
  DIRECTORY                Working directory
  PASSWORD                 Administration password