Skip to content
Dmitry Sorokin (@sorydima) edited this page Dec 1, 2024 · 1 revision

FIX Repository Wiki

Home

Welcome to the FIX Repository Wiki!

The FIX Repository is a terminal-based client designed to implement and interact with the REChain Basis Protocol, a decentralized communication and blockchain protocol. The client offers cross-platform compatibility, high security, and efficiency, leveraging Rust and Cargo for robust terminal-based functionality.


Getting Started

Prerequisites

  • Rust (latest stable version)
  • Cargo (Rust's package manager)
  • Terminal or shell environment (Linux, macOS, or Windows with PowerShell or WSL)

Installation

  1. Clone the repository:
    git clone https://github.com/sorydima/FIX.git
    cd FIX
  2. Build the project:
    cargo build --release
  3. Run the client:
    cargo run

Configuration

  • The configuration file config.toml must include:
    [network]
    node_address = "127.0.0.1:8080"
    federation_mode = true
    
    [encryption]
    enable_e2e = true
  • Adjust the settings to connect to your REChain Basis node or local server.

Features

  1. Cross-Platform Support
    Run seamlessly on Linux, macOS, and Windows.

  2. Real-Time Messaging
    Supports chat, group messaging, and federated communication between servers.

  3. End-to-End Encryption
    Secure communication with E2EE for maximum privacy.

  4. Decentralized Federation
    Connect to REChain Basis servers and interact with the broader network.

  5. Modular Design
    Expandable with additional modules for file sharing, video calls, and more.


Architecture

Protocol Overview

The FIX client implements core features of the REChain Basis Protocol, including:

  • Federation: Servers exchange data securely and efficiently.
  • Messaging API: REST and WebSocket interfaces for seamless communication.
  • Data Synchronization: Supports backfill and re-sync for robust message delivery.

Diagram: Client-Server Interaction

+------------------+      +------------------+      +------------------+
|   FIX Client     | ---->|   REChain Node   | ---->|  Other Federation|
|  (User terminal) |      |  (Processing)    |      |  (Federated Node)|
+------------------+      +------------------+      +------------------+

Usage Guide

Basic Commands

  • Login:
    fix-cli login --username "user" --password "password"
  • Send Message:
    fix-cli send --to "room_id" --message "Hello, REChain!"
  • Retrieve Messages:
    fix-cli fetch --room "room_id"

Advanced Configuration

  • Federation Mode: Enable federation_mode in config.toml for decentralized communication.
  • Offline Mode: Allows autonomous operation without an internet connection.

Contributing

How to Contribute

  1. Fork the repository.
  2. Create a feature branch:
    git checkout -b feature/your-feature
  3. Test and commit your changes:
    cargo test
    git commit -m "Add new feature"
  4. Submit a pull request.

Development Guidelines

  • Adhere to Rust's coding conventions.
  • Ensure compatibility with Cargo builds.
  • Write unit tests for all new features.

FAQ

  1. What is FIX?
    A terminal client for interacting with the REChain Basis Protocol.

  2. How do I connect to a REChain node?
    Configure node_address in config.toml.

  3. Can FIX operate without internet?
    Yes, it supports autonomous operation within a local network.


Additional Resources