پرش به محتویات

سند پیاده‌سازی

1. مقدمه

این سند به تشریح پیاده‌سازی سامانه دارانو به‌عنوان پلتفرم توکن‌سازی دارایی‌های واقعی می‌پردازد. پیاده‌سازی به‌گونه‌ای انجام شده که امکان مدیریت چرخه عمر توکن‌ها، انجام معاملات ثانویه و یکپارچگی کامل با شبکه ققنوس فراهم باشد.


2. معماری کلان سیستم

دارانو مبتنی بر معماری Microservices بوده و سرویس‌ها در Docker اجرا و از طریق Traefik و Cloudflare به‌صورت امن در اینترنت عرضه می‌شوند.

بطور خلاصه به شکل زیر است:

graph LR
    U[User] --> UI[UI - Next.js]
    UI --> API[API Gateway - Go]

    API --> AUTH[Auth Service<br>RBAC / JWT]
    API --> WAL[Wallet Service<br>Blockchain Ops]

    AUTH --> DB[(PostgreSQL)]
    WAL --> DB


    WAL --> BC[(Kuknos Network<br>Token Ledger)]

کمی تکمیل تر

graph LR
  %% High Level Architecture - Darano

  %% Clients
  subgraph Clients
    UWeb[User Web/Mobile]
    UAdmin[Admin / Operator]
  end

  %% Edge & Security Layer
  subgraph Edge[Edge & Security]
    CF[Cloudflare DNS + WAF]
    TFK[Traefik Reverse Proxy]
  end

  %% Frontend Layer
  subgraph FE[Frontend Layer]
    UI[UI Next.js]
    AP[Admin Panel Django]
  end

  %% Backend Microservices
  subgraph BE[Backend Microservices]
    APIGW[API Gateway]
    AUTH[Auth Service]
    MKT[Market Service]
    WAL[Wallet Service]
    WSTR[Wallet Streamer]
  end

  %% Data & Messaging
  subgraph DATA[Data & Messaging]
    DB[(PostgreSQL)]
    MQ[(RabbitMQ)]
    REDIS[(Redis)]
  end

  %% Monitoring & Ops
  subgraph MON[Monitoring & Ops]
    PROM[Prometheus]
    GRAF[Grafana]
    PORT[Portainer]
    ALERT[Alertmanager]
  end

  %% Blockchain
  subgraph BC[Kuknos Network]
    KCHAIN[(Token Ledger)]
  end

  %% Flows
  UWeb --> CF
  UAdmin --> CF

  CF --> TFK

  TFK --> UI
  TFK --> AP
  TFK --> APIGW

  UI --> APIGW
  AP --> APIGW

  APIGW --> AUTH
  APIGW --> MKT
  APIGW --> WAL

  AUTH --> DB
  MKT --> DB
  WAL --> DB
  AP --> DB

  APIGW --> MQ
  APIGW --> REDIS

  WAL --> KCHAIN
  WSTR --> KCHAIN
  WSTR --> DB

  PROM --> APIGW
  PROM --> AUTH
  PROM --> MKT
  PROM --> WAL
  PROM --> DB

  GRAF --> PROM
  PORT --> APIGW
  PORT --> TFK
  ALERT --> PROM

3. اصل پیاده‌سازی دارایی‌ها

موضوع وضعیت
ذخیره‌سازی مالکیت کاملاً روی ققنوس
نوع Token Darano Asset Token (Stellar-based Issued Asset)
نگهداری Metadata به حداقل (کد توکن + شناسه تراکنش)

هیچ مدل Shadow Ledger در دیتابیس وجود ندارد.


4. پیاده‌سازی امنیت و هویت‌سنجی

مولفه API & Mobile/Web Admin Panel
روش Login JWT + Refresh Token RBAC + ABAC
مدل دسترسی سه سطح: guest, user, admin نقش‌های پیشرفته
MFA قابل توسعه در نسخه‌های بعد
Session Store Stateless Mix Stateless + Policy based

Attribute Based Access Control (ABAC)

  • برای دسترسی به عملیات حساس مانند:
  • صدور توکن (Token Issuance)
  • بازخرید (Buy-Back)
  • تنظیمات توکن (Tokenomics)
  • تنظیمات بازار (Market Ops)
  • برنامه های اقساطی (BNPL)

5. پیاده‌سازی بازار (Secondary Market)

ویژگی وضعیت
مدل کامل Peer-to-Peer
Match Engine مستقیم روی Order فروشنده
Settlement On-Chain روی ققنوس
Custody مبتنی بر کیف‌پول‌های HD Wallet
Maker/Taker Fees قابل‌کنترل سمت Admin

کاربران صاحب توکن‌ها هستند و مالکیت مستقیم دارند.


6. ارتباط با شبکه ققنوس (Blockchain Integration)

عملیات وضعیت مسئول
Issuance Admin
Transfer User (از طریق Wallet Service)
Balance Query Wallet
Network Stream Wallet-Streamer
Trustline درخواست کاربر قبول کردن قوانین توکن
Account Creation توسط Backend

امنیت کلیدها و عملیات توسط Vault مدیریت می‌شود.


7. سرویس‌ها و مسئولیت‌ها

سرویس زبان وظیفه
API Go Gateway & Aggregation
Auth Go CBAC + JWT
Wallet Go Blockchain Ops
Wallet Streamer Go Listener for Transfers
Market Go Order Management
AdminPanel Python/Django Panel + RBAC+ABAC
UI Next.js User Interface

8. زیرساخت استقرار

فناوری نقش
Docker اجرای سرویس‌ها
Docker Compose مدیریت مجموعه سرویس‌ها
Traefik Reverse Proxy / TLS / Routing
Cloudflare DNS / Security Shield
PostgreSQL Metadata & Configuration
Redis Cache & Events
RabbitMQ Async Messaging
Prometheus / Grafana Monitoring
Portainer مدیریت کانتینرها

9. دیاگرام شبکه و ارتباطات

graph TD
A[Internet Clients] --> T[Traefik Gateway]
T --> UI[Next.js UI]
T --> APIGW[API Gateway]
APIGW --> AUTH[Auth Service]
APIGW --> MKT[Market Service]
APIGW --> WAL[Wallet Service]
WAL --> DB[(PostgreSQL)]
AUTH --> DB
MKT --> DB
WAL --> KUKNOS[(Kuknos Blockchain)]
STR[Wallet Streamer] --> KUKNOS
APIGW --> REDIS[(Redis)]
APIGW --> MQ[(RabbitMQ)]

10. مثال از مسیر درخواست معامله در بازار (Sequence Diagram)

sequenceDiagram
User ->> UI: Submit Purchase
UI ->> API: (JWT) Order Request
API ->> Market: Validate + Match
Market ->> Wallet: Transfer Request
Wallet ->> Kuknos: On-chain Transfer
Kuknos ->> Wallet Streamer: Event
Wallet Streamer ->> DB: Update History(Ref Only)
API ->> UI: Success Response

11. مدیریت نسخه و DevOps

معیار وضعیت
نسخه توسعه B-Level: v0.6
CI/CD Automate Pull/Deploy
Image Hardening انجام‌شده
Secrets Management Mount Secure Paths

12. ریسک‌های فنی و راهکارها (خلاصه)

ریسک راهکار
اتصال به ققنوس Fail شود Retry + Fallback switching
سرور کیف‌پول Down شود Auto restart + Stream replay
Data Desync بین DB و Ledger Stateless Ownership
API Abuse / DDoS WAF

13. استانداردهای رعایت‌شده

  • ✔ OWASP Top 10
  • ✔ Zero Trust for AdminOps
  • ✔ Principle of Least Privilege
  • ✔ Event-driven Accuracy
  • ✔ Tokenization Compliance Baseline