docs: centralize refactoring coordination files
This commit is contained in:
@@ -0,0 +1,327 @@
|
||||
# گزارش فنی زیرساخت سامانه توکنسازی دارانو
|
||||
|
||||
**تهیهکننده:** شرکت توسعه راهکارهای نامتمرکز سنا
|
||||
**تاریخ انتشار:** مرداد ۱۴۰۴
|
||||
**نسخه:** ۱.۰
|
||||
|
||||
---
|
||||
|
||||
## ۱. معرفی پروژه
|
||||
|
||||
### ۱.۱ درباره شرکت
|
||||
|
||||
شرکت **توسعه راهکارهای نامتمرکز سنا** فعال در حوزه فناوری بلاکچین و توکنسازی داراییهای واقعی (RWA — Real World Assets) است. مأموریت اصلی این شرکت، ایجاد زیرساختهای لازم برای تبدیل داراییهای فیزیکی و حقوقی به توکنهای قابل معامله در بازارهای دیجیتال، با رعایت کامل الزامات رگولاتوری و قوانین بانک مرکزی جمهوری اسلامی ایران است.
|
||||
|
||||
### ۱.۲ معرفی سامانه دارانو
|
||||
|
||||
سامانه **دارانو** پلتفرمی برای **توکنسازی داراییهای واقعی** است. این سامانه داراییهای فیزیکی (مانند املاک و مستغلات) را پس از طی فرآیندهای احراز مالکیت، ارزیابی و تکمیل تشریفات حقوقی، به توکنهای دیجیتال تبدیل میکند. هر توکن نماینده بخشی از مالکیت دارایی پایه بوده و امکان خرید، فروش و معامله در بازار اولیه و ثانویه را فراهم میسازد.
|
||||
|
||||
در فاز پایلوت، تمرکز سامانه بر روی **املاک** است و یک واحد ملکی با نام **«مژگان»** بهعنوان نمونه اولیه توکنسازی انتخاب شده است.
|
||||
|
||||
### ۱.۳ اصول حاکم بر سامانه
|
||||
|
||||
| اصل | توضیح |
|
||||
|-----|--------|
|
||||
| **رعایت رگولاتوری** | کلیه فرآیندها منطبق بر قوانین بانک مرکزی و مقررات مرتبط طراحی شدهاند |
|
||||
| **بلاکچین به عنوان Source of Truth** | مالکیت توکنها فقط و فقط روی شبکه ققنوس ثبت میشود |
|
||||
| **تفکیک نقشها** | ناشر، میزبان، سرمایهگذار، بازارگردان و ناظر هر کدام نقش مشخصی دارند |
|
||||
| **امنیت چندلایه** | لایههای امنیتی از Cloudflare تا مدیریت کلیدها |
|
||||
| **شفافیت کامل** | تمامی تراکنشها و وضعیت داراییها شفاف و قابل ردیابی است |
|
||||
|
||||
---
|
||||
|
||||
## ۲. شرح پروژه
|
||||
|
||||
### ۲.۱ فرآیند توکنسازی
|
||||
|
||||
فرآیند توکنسازی در دارانو شامل مراحل زیر است:
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
A[۱. شناسایی و ارزیابی دارایی] --> B[۲. بررسی حقوقی و مالکیت]
|
||||
B --> C[۳. قرارداد میزبانی و امانت]
|
||||
C --> D[۴. انتشار توکن روی ققنوس]
|
||||
D --> E[۵. عرضه در بازار اولیه]
|
||||
E --> F[۶. معامله در بازار ثانویه]
|
||||
F --> G[۷. توزیع درآمد دورهای]
|
||||
```
|
||||
|
||||
### ۲.۲ جریان درآمدی دارایی
|
||||
|
||||
درآمدهای حاصل از دارایی پایه (مانند اجارهبها) از طریق مکانیزمهای مختلف میان دارندگان توکن توزیع میشود:
|
||||
|
||||
- **توزیع مستقیم ریالی:** محاسبه ضریب توزیع بر اساس نسبت توکنهای فروختهشده به کل توکنها
|
||||
- **بازخرید توکن از طریق بازارگردان:** ایجاد فشار خرید و رشد قیمت توکن
|
||||
- **سبدگردانی و اثر مرکب:** امکان سرمایهگذاری مجدد سود برای دارندگان توکن
|
||||
|
||||
---
|
||||
|
||||
## ۳. کاربران هدف
|
||||
|
||||
سیستم دارانو شامل نقشهای زیر میباشد:
|
||||
|
||||
| نقش | شرح | دسترسی |
|
||||
|-----|-----|--------|
|
||||
| **سرمایهگذار (خریدار)** | کاربران عادی که توکنها را خریداری و نگهداری میکنند | خرید توکن، معامله در بازار ثانویه، مشاهده پورتفولیو |
|
||||
| **ناشر** | مالک اصلی دارایی (یا صاحب سببی مانند صلحنامه/وکالتنامه) | ایجاد پروژه توکنسازی، ثبت اطلاعات دارایی |
|
||||
| **میزبان (امین دارایی)** | نهاد مسئول نگهداری فیزیکی و حقوقی دارایی | تأیید وضعیت دارایی، همکاری حقوقی |
|
||||
| **تیم بازارگردان** | یک یا چند نفر مسئول تنظیم و مدیریت بازار ثانویه | مدیریت نقدینگی، تسهیل معاملات |
|
||||
| **پلتفرم (ادمین)** | تیم سنا مستقر در سامانه — شامل تیم فنی، پشتیبانی و مدیر سامانه | مدیریت کاربران، صدور توکن، پیکربندی سیستم |
|
||||
| **بازرس بانکی** | کارشناس منتخب بانک برای نظارت امنیتی و بازرسی دفتری | مشاهده تراکنشها، تیک امنیتی، نظارت بر حسابوکتاب |
|
||||
|
||||
> **نکته:** سامانه اپراتور عمومی ندارد و تنها چند ادمین اصلی با دسترسیهای مجزا فعالیت میکنند. مدیر سامانه دسترسی به ایجاد توکن جدید و تغییرات سایت دارد. تیم توسعه به کدها و اجرای آنها روی سرور تست و سندباکس دسترسی دارد، اما استقرار در محیط عملیاتی (Production) نیازمند تأیید مدیر سامانه و کمیته اجرایی است.
|
||||
|
||||
---
|
||||
|
||||
## ۴. ارتباط سامانه با بیرون
|
||||
|
||||
### ۴.۱ معماری ارتباطی
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
subgraph External
|
||||
CDN[CDN / Cloudflare]
|
||||
Firewall[فایروال لینوکس]
|
||||
end
|
||||
subgraph Darano
|
||||
Traefik[Traefik<br/>Reverse Proxy]
|
||||
API[API Gateway]
|
||||
Services[سرویسهای داخلی]
|
||||
end
|
||||
Internet[(اینترنت)] --> CDN --> Firewall --> Traefik --> API --> Services
|
||||
|
||||
style CDN fill:#e1f5fe
|
||||
style Firewall fill:#fff3e0
|
||||
style Traefik fill:#e8f5e9
|
||||
```
|
||||
|
||||
- **لایه CDN:** ترافیک ورودی ابتدا از CDN عبور میکند (پشتیبانی از DDoS Protection و TLS/SSL)
|
||||
- **فایروال:** در حال حاضر از فایروال لینوکس (Firewalld) استفاده میشود؛ در آینده قرار است سرورها پشت CDN اصلی قرار گیرند
|
||||
- **Traefik:** نقش Reverse Proxy و مدیریت ترافیک داخلی
|
||||
- **API Gateway:** نقطه ورود واحد برای تمام درخواستهای API
|
||||
|
||||
### ۴.۲ ارتباط با شبکه ققنوس
|
||||
|
||||
سامانه برای ثبت تراکنشهای توکنی از **شبکه ققنوس** (بر پایه استلار) استفاده میکند. بانک ملت نیز یکی از میزبانهای این شبکه است. ارتباط از طریق Horizon API انجام شده و یک سرویس **Wallet Streamer** بهصورت مداوم تراکنشهای شبکه را رصد و با سیستم داخلی همگامسازی میکند.
|
||||
|
||||
---
|
||||
|
||||
## ۵. دیاگرام موارد استفاده (Use Case Diagram)
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
Investor[سرمایهگذار]
|
||||
Issuer[ناشر]
|
||||
Custodian[میزبان/امین دارایی]
|
||||
MarketMaker[بازارگردان]
|
||||
PlatformAdmin[ادمین پلتفرم]
|
||||
BankInspector[بازرس بانکی]
|
||||
|
||||
Investor --> UC1[ثبتنام و ورود]
|
||||
Investor --> UC2[احراز هویت KYC]
|
||||
Investor --> UC3[خرید توکن در بازار اولیه]
|
||||
Investor --> UC4[معامله در بازار ثانویه]
|
||||
Investor --> UC5[مشاهده پورتفولیو و تاریخچه]
|
||||
Investor --> UC6[واریز و برداشت ریال]
|
||||
Investor --> UC7[واریز و برداشت توکن]
|
||||
|
||||
Issuer --> UC8[ایجاد پروژه توکنسازی]
|
||||
Issuer --> UC9[ثبت اطلاعات دارایی]
|
||||
|
||||
Custodian --> UC10[تأیید وضعیت دارایی]
|
||||
Custodian --> UC11[همکاری حقوقی]
|
||||
|
||||
MarketMaker --> UC12[مدیریت نقدینگی بازار]
|
||||
MarketMaker --> UC13[سفارشگذاری در بازار ثانویه]
|
||||
|
||||
PlatformAdmin --> UC14[مدیریت کاربران]
|
||||
PlatformAdmin --> UC15[صدور و مدیریت توکن]
|
||||
PlatformAdmin --> UC16[مدیریت سفارشها و بازار]
|
||||
PlatformAdmin --> UC17[مدیریت بازخرید]
|
||||
PlatformAdmin --> UC18[پیکربندی و پایش سامانه]
|
||||
|
||||
BankInspector --> UC19[مشاهده تراکنشها]
|
||||
BankInspector --> UC20[تیک امنیتی و نظارت]
|
||||
|
||||
style Investor fill:#e3f2fd
|
||||
style Issuer fill:#f3e5f5
|
||||
style Custodian fill:#e8f5e9
|
||||
style MarketMaker fill:#fff3e0
|
||||
style PlatformAdmin fill:#fce4ec
|
||||
style BankInspector fill:#efebe9
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ۶. سرویسهای شخص ثالث (3rd Party)
|
||||
|
||||
### ۶.۱ خدمات احراز هویت و بانکی
|
||||
|
||||
| سرویس | نقش | توضیح |
|
||||
|-------|------|--------|
|
||||
| **سامانه شاهکار** | احراز مالکیت سیمکارت و مطابقت کدملی با شماره تماس | استعلام از پایگاه داده پست |
|
||||
| **سامانه احراز هویت** | تأیید اطلاعات هویتی (کدملی، تاریخ تولد، تصویر) | سرویسهای شخص ثالث مشابه (مانند زحل، احراز، جیبیت) |
|
||||
| **استعلامات بانکی** | تأیید مالکیت حساب بانکی و شماره شبا | سرویسهای مشابه |
|
||||
|
||||
### ۶.۲ خدمات ارتباطی
|
||||
|
||||
| سرویس | نقش | توضیح |
|
||||
|-------|------|--------|
|
||||
| **پنل ایمیل سازمانی** | ارسال ایمیلهای خدماتی (خوشآمدگویی، تأیید تراکنش و …) | سرویسهایی مشابه لیموهاست |
|
||||
| **پنل پیامک** | ارسال OTP و پیامهای خدماتی | سرویسهایی مشابه کاوهنگار |
|
||||
|
||||
### ۶.۳ زیرساخت و مانیتورینگ
|
||||
|
||||
| سرویس | نقش | توضیح |
|
||||
|-------|------|--------|
|
||||
| **Prometheus** | جمعآوری متریکها | استاندارد CNCF |
|
||||
| **Grafana** | داشبورد و تجسم دادهها | استاندارد CNCF |
|
||||
| **OpenTelemetry** | Observability یکپارچه | استاندارد CNCF |
|
||||
| **Node Exporter / cAdvisor** | مانیتورینگ سیستمعامل و کانتینرها | استاندارد CNCF |
|
||||
| **S3 / Object Storage** | ذخیرهسازی فایلها و بکآپ | سرویس ابری |
|
||||
| **Traefik** | Reverse Proxy و Load Balancer | استاندارد CNCF |
|
||||
| **مرورگر شبکه (Stellar Horizon)** | ارتباط با شبکه ققنوس | سرویس بلاکچین |
|
||||
|
||||
---
|
||||
|
||||
## ۷. زیرساخت پلتفرم
|
||||
|
||||
### ۷.۱ زیرساخت فعلی
|
||||
|
||||
```mermaid
|
||||
flowchart TB
|
||||
subgraph InternetLayer
|
||||
CDN[CDN / Cloudflare]
|
||||
Firewall[Firewalld]
|
||||
end
|
||||
|
||||
subgraph VPSLayer["زیرساخت ابری مورد تایید بانک"]
|
||||
Docker[Docker + Docker Compose]
|
||||
|
||||
subgraph Services
|
||||
Traefik[Traefik<br/>Reverse Proxy]
|
||||
UI[UI - Next.js]
|
||||
Admin[Django Admin]
|
||||
API[API Gateway - Go]
|
||||
Auth[Auth Service - Go]
|
||||
Wallet[Wallet Service - Go]
|
||||
Market[Market Service - Go]
|
||||
Streamer[Wallet Streamer - Go]
|
||||
end
|
||||
|
||||
subgraph Data
|
||||
DB[(PostgreSQL)]
|
||||
Cache[(Redis)]
|
||||
MQ[(RabbitMQ)]
|
||||
end
|
||||
end
|
||||
|
||||
subgraph BlockchainLayer
|
||||
Ghoghnos[(شبکه ققنوس<br/>بر پایه استلار)]
|
||||
end
|
||||
|
||||
subgraph Monitoring
|
||||
Prometheus[Prometheus<br/>سرور جداگانه]
|
||||
Grafana[Grafana]
|
||||
Alertmanager[Alertmanager]
|
||||
end
|
||||
|
||||
CDN --> Firewall --> Traefik
|
||||
Traefik --> UI
|
||||
Traefik --> Admin
|
||||
Traefik --> API
|
||||
|
||||
API --> Auth
|
||||
API --> Wallet
|
||||
API --> Market
|
||||
|
||||
Auth --> DB
|
||||
Auth --> Cache
|
||||
Wallet --> DB
|
||||
Wallet --> Cache
|
||||
Market --> DB
|
||||
Market --> Cache
|
||||
Market --> MQ
|
||||
Streamer --> DB
|
||||
Streamer --> MQ
|
||||
|
||||
Wallet --> Ghoghnos
|
||||
Streamer --> Ghoghnos
|
||||
|
||||
Prometheus --> API
|
||||
Prometheus --> Auth
|
||||
Prometheus --> Wallet
|
||||
Prometheus --> Market
|
||||
Prometheus --> DB
|
||||
Grafana --> Prometheus
|
||||
Alertmanager --> Prometheus
|
||||
```
|
||||
|
||||
**مشخصات فنی زیرساخت فعلی:**
|
||||
|
||||
| لایه | فناوری | توضیح |
|
||||
|------|--------|--------|
|
||||
| میزبانی | سرویس ابری مورد تایید بانک | VPS با گواهی امنیتی بانکی |
|
||||
| کانتینریسازی | Docker + Docker Compose | ایزولاسیون کامل سرویسها |
|
||||
| Reverse Proxy | Traefik v2.10 | مدیریت TLS و Routing |
|
||||
| API Gateway | Go + Gin Router | مسیریابی، احراز هویت، Rate Limiting |
|
||||
| سرویسهای بیزینس | Go (GORM, Stellar SDK) | Auth, Wallet, Market |
|
||||
| پنل مدیریت | Python + Django | Server-Side Rendering |
|
||||
| رابط کاربری | Next.js + React | SSR + Client Rendering |
|
||||
| پایگاه داده | PostgreSQL 15 | دادههای رابطهای اصلی |
|
||||
| کش / Session | Redis 7 | Session، Rate Limit، Cache |
|
||||
| صف پیام | RabbitMQ 3.12 | Event-Driven آینده |
|
||||
| مانیتورینگ | Prometheus + Grafana + OpenTelemetry | سرور مانیتورینگ جداگانه |
|
||||
|
||||
### ۷.۲ زیرساخت آینده (Roadmap)
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
subgraph Current["زیرساخت فعلی (Sync)"]
|
||||
API --> Auth
|
||||
API --> Wallet
|
||||
API --> Market
|
||||
Market --> Wallet
|
||||
end
|
||||
|
||||
subgraph Future["زیرساخت آینده (Event-Driven)"]
|
||||
API --> Auth
|
||||
API --> Wallet
|
||||
API --> Market
|
||||
|
||||
EventBus[(Event Bus<br/>Kafka / RabbitMQ)]
|
||||
Auth -.->|Events| EventBus
|
||||
Wallet -.->|Events| EventBus
|
||||
Market -.->|Events| EventBus
|
||||
Streamer -.->|Events| EventBus
|
||||
|
||||
EventBus --> Notification[Notification Service]
|
||||
EventBus --> Analytics[Analytics Service]
|
||||
EventBus --> Audit[Audit Service]
|
||||
end
|
||||
|
||||
style Current fill:#e3f2fd
|
||||
style Future fill:#e8f5e9
|
||||
```
|
||||
|
||||
| ویژگی | وضعیت فعلی | هدف آینده |
|
||||
|-------|-----------|-----------|
|
||||
| الگوی ارتباطی | Synchronous (REST/gRPC) | Event-Driven (Kafka/RabbitMQ) |
|
||||
| مقیاسپذیری | Docker Compose + Horizontal Scaling | Kubernetes (K8s) |
|
||||
| Event Bus | محدود (فقط RabbitMQ در Wallet) | Event Bus مرکزی با Kafka |
|
||||
| مدیریت کلیدها | Secret Manager در Git | HashiCorp Vault / AWS KMS |
|
||||
| CI/CD | GitHub Actions | Pipeline خودکار با تأیید دو مرحلهای |
|
||||
| Service Mesh | ندارد | Istio یا Linkerd |
|
||||
| Database | PostgreSQL Single | Master-Slave + Read Replicas |
|
||||
|
||||
---
|
||||
|
||||
## ۸. خلاصه و جمعبندی
|
||||
|
||||
سامانه دارانو، توسعهیافته توسط شرکت توسعه راهکارهای نامتمرکز سنا، یک پلتفرم توکنسازی داراییهای واقعی است که با رعایت کامل ضوابط رگولاتوری و قوانین بانک مرکزی طراحی و پیادهسازی شده است. معماری سامانه بر پایه **میکروسرویس**، **بلاکچین ققنوس به عنوان Source of Truth** و **زیرساخت ابری مورد تایید بانک** بنا شده و از خدمات شخص ثالث معتبر برای احراز هویت، ارتباطات و مانیتورینگ بهره میبرد.
|
||||
|
||||
نقاط قوت کلیدی سامانه:
|
||||
- **امنیت بالا:** مدیریت کلیدها با Secret Manager، احراز هویت چندمرحلهای، فایروال و CDN
|
||||
- **شفافیت:** مالکیت توکنها فقط روی بلاکچین، ردیابی کامل تراکنشها
|
||||
- **مقیاسپذیری:** معماری میکروسرویس با امکان مهاجرت به Event-Driven و Kubernetes
|
||||
- **نظارت:** مانیتورینگ ۲۴/۷ با ابزارهای استاندارد CNCF و دسترسی بازرس بانکی
|
||||
Reference in New Issue
Block a user