# انواع نود و چرخه راه‌اندازی

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

وضعیت: پیاده‌سازی‌شده | مخاطب: اپراتور Station و مدیر زیرساخت
بازبینی مستندات: ۲۰۲۶/۰۹/۲۴ · ۲ مهر ۱۴۰۵

## نقش‌های فنی متفاوت

کاتالوگ توسعه Station چند نوع منبع را توصیف می‌کند. این کاتالوگ مشخص می‌کند هر درخواست به چه اطلاعات و مجوزی نیاز دارد؛ وجود نام یک نوع منبع در رابط به معنی نصب‌شدن خودکار آن نیست.

| منبع | کارکرد | حق اجماع |
| --- | --- | --- |
| Validator | اجرای نود عضو و مشارکت QBFT | فقط پس از عضویت canonical |
| Standby Validator | آمادگی برای جایگزینی کنترل‌شده | تا پیش از رأی و عضویت ندارد |
| Full / RPC Node | کنترل مستقل زنجیره یا ارائه RPC خصوصی | ندارد |
| Mini / Operational Node | منبع عملیاتی با داده کم‌حجم‌تر | عنوان Mini به معنای Light Client نیست |
| Observer / Archive | مشاهده یا نگهداری تاریخچه state | ندارد |
| Bootnode | کشف همتایان | نقش خودکار اعتبارسنج ندارد |
| Monitoring Agent | پایش و گزارش وضعیت | ندارد |

## ابتدا منابع موجود شناسایی می‌شوند

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

تطبیق شامل هویت نود، وضعیت فرایند، RPC اختصاصی، Chain ID، Genesis و در صورت وجود مرجع، هش در ارتفاع مشترک است. نام یک کانتینر یا یک رکورد محلی به‌تنهایی هویت canonical را اثبات نمی‌کند.

## درخواست توسعه، استقرار نیست

فرم توسعه می‌تواند نوع منبع، نام فنی، پورت‌ها، حالت همگام‌سازی FULL یا SNAP، سیاست داده PRUNED/FULL/ARCHIVE و مرجع بسته ادمین را ثبت کند. نشانی عمومی RPC به‌عنوان یک قابلیت خودکار مجاز فرض نشده است.

خروجی درخواست بر اساس اطلاعات و سیاست می‌تواند WAITING_ADMIN_PACKAGE، WAITING_NETWORK_GOVERNANCE یا DRAFT_READY باشد. این وضعیت‌ها پیش‌نویس و انتظار را توصیف می‌کنند؛ تولید Genesis، دریافت مجوز و ساخت کانتینر واقعی مراحل جدا هستند.

## کنترل فقط منبع متصل

عامل Station برای start، stop و restart از مسیر محدود کنترل نود استفاده می‌کند. helper نصب‌شده باید مالک root داشته باشد؛ سرویس درخواستی را با binding همان Station و Inventory مورد اعتماد تطبیق می‌دهد و نوع کانتینر Besu را بررسی می‌کند.

این اختیار، دسترسی عمومی به همه کانتینرهای میزبان نیست. در نسخه Remote macOS حتی همین کنترل محدود runtime نیز وجود ندارد و فقط خواندن اطلاعات مجاز است.

## توقف محلی، خروج از شبکه و حذف داده

مدل چرخه عمر میان غیرفعال‌سازی محلی، درخواست خروج از شبکه و پاک‌سازی سرور تفاوت می‌گذارد. خاموش‌کردن کانتینر، آدرس را از مجموعه QBFT حذف نمی‌کند و حذف یک رکورد رابط نیز جای رأی شبکه را نمی‌گیرد.

شرایط اقدام باید از وضعیت تازه بررسی شوند: binding معتبر، رمز محلی، حضور در Inventory، وضعیت اجرا و تأیید خروج از مجموعه canonical. پیش از هر پاک‌سازی، هویت و داده بازیابی باید در برنامه عملیاتی مستقل حفاظت شوند.

## مراجع پیاده‌سازی

- plank-station-new/agent/app.py
- plank-station-new/scripts/refresh-node-inventory.py
- plank-station-new/scripts/node-runtime-control.sh
- plank-station-new/deploy/install-ubuntu-24.04.sh
