Skip to content
Dmitry Olegovich Sorokin (@sorydima) edited this page Jul 6, 2025 · 2 revisions

📡 GateWayChainForAuroraOS Wiki

Welcome to the official Wiki for GateWayChainForAuroraOS, a Qt/QML-based lightweight node client tailored for Aurora OS devices as part of the REChain decentralized infrastructure.


🧭 What is GateWayChain?

GateWayChain allows your Aurora OS (or Sailfish OS-compatible) device to function as a decentralized gateway node, connecting directly to the REChain network using Matrix protocol for secure communication and peer discovery.

💡 Think of it as using your phone instead of an S7 server to join and relay within a distributed network.


🚀 Key Features

  • ✅ Qt/QML native interface for mobile platforms
  • ✅ Matrix client integration (end-to-end encrypted)
  • ✅ Auto peer discovery & synchronization
  • ✅ Modular architecture (future plugin support)
  • ✅ Built for Aurora OS, works on mobile

🛠 Architecture Overview

+----------------------------+
|  Qt/QML UI                |
+----------------------------+
|  REChain Core Logic       |
|  - Matrix SDK Integration |
|  - Peer Discovery         |
|  - Event Bus              |
+----------------------------+
|  Aurora OS Runtime        |
+----------------------------+

# GateWayChain for Aurora OS

GateWayChain is a native Qt/QML app for **Aurora OS (Sailfish fork)** that acts as a REChain node interface.  
It integrates with Matrix via `libQuotient` for decentralized message transport and supports embedded SQLite for local state.  
The app is designed to run smoothly on mobile devices with minimal resources.

## ✨ Features

- Native AuroraOS (QML) interface
- Encrypted Matrix client for REChain gossip layer
- SQLite state persistence
- RPM packaging for ARM devices
- Full support for offline-first node participation
- Built-in developer diagnostics (console, logs, tracing)

## 📁 Repo Structure

| Folder          | Purpose |
|-----------------|---------|
| `src/`          | C++ logic & core REChain integration |
| `qml/`          | QML UI components |
| `translations/` | Localized `.ts` files |
| `rpm/`          | Sailfish/AuroraOS RPM packaging |
| `scripts/`      | Build & release helpers |
| `.github/`      | CI workflow for build & test |

## 🛠️ Build Quickstart

```bash
git clone https://github.com/sorydima/GateWayChainForAuroraOS.git
cd GateWayChainForAuroraOS
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
./GateWayChain

For RPM builds, use mb2 inside Sailfish SDK (see BUILD_GUIDE.md).

🧑‍💻 Dev Tips

  • Follow DEVELOPER_GUIDE.md for style, tests, and commit structure
  • CI/CD pipeline defined in .github/workflows/ci.yml
  • Run unit tests with ctest
  • Localize using lupdate, linguist, and lrelease

📦 Release Flow

  1. Merge all PRs to main
  2. Bump version in .pro and spec
  3. Tag with vX.Y.Z, run release script
  4. Upload RPM/AppImage/Flatpak to GitHub

See RELEASE.md for details.

📚 Docs

  • BUILD_GUIDE.md — compilation & install
  • DEPLOYMENT.md — on-device setup
  • GOVERNANCE.md — decision-making
  • ARCHITECTURE.md — system layout
  • DEVELOPER_GUIDE.md — contributing tips

Maintained by @sorydima · Last updated: 2025-07-06