فارسی
راهاندازی اعتبارسنج
الزامات سختافزاری
میننت
| مؤلفه | مشخصات |
|---|---|
| CPU | پردازندهی سرور با کارایی بالا (توصیه میشود HyperThreading غیرفعال شود برای بهبود ۱۰٪+ در عملکرد) |
| حافظه | 128 گیگابایت RAM |
| دیسک | 7 ترابایت NVMe SSD — 40k IOPS، توان عملیاتی 500 مگابایت بر ثانیه، تأخیر خواندن کمتر از 1 میلیثانیه |
| شبکه | پهنای باند حداقل 512 مگابیت بر ثانیه |
عملکرد دیسک حیاتی است. NVMe را با SSD استاندارد یا HDD جایگزین نکنید — این کار بهطور منفی روی سرعت همگامسازی و تولید بلاک تأثیر میگذارد.
تستنت
بهزودی — تستنت در حال توسعه است. الزامات سختافزاری آن پس از راهاندازی اینجا منتشر میشود؛ انتظار میرود سبکتر از مشخصات میننت بالا باشد.
راهاندازی نود اعتبارسنج
مرحله ۱ — نصب نود کامل DotOne
پیش از اجرای اعتبارسنج، باید یک نود کامل DotOne نصب و همگامسازیشده داشته باشید. برای انجام این مرحله ابتدا راهنمای نصب نود کامل در بخش توسعهدهندگان را دنبال کنید.
مرحله ۲ — آمادهسازی حسابها
پیش از شروع اعتبارسنج، دو حساب مورد نیاز است:
- حساب اجماع (Consensus Account) — برای امضا و تولید بلاک استفاده میشود
- حساب رأی BLS (BLS Vote Account) — برای رأیدهی Fast Finality استفاده میشود
مطمئن شوید این حسابها هنگام ثبت اعتبارسنج روی زنجیره دقیقاً مطابقت دارند.
تولید آدرس اجماع
دستور زیر را برای ساخت حساب اجماع جدید و تنظیم رمز عبور اجرا کنید:
bash
geth account new --datadir ${DATA_DIR}DATA_DIR مسیری است که فایلهای keystore شما در آن ذخیره میشوند.
اگر از قبل حساب اجماع دارید، این مرحله را رد کنید. رمز عبور خود را در یک فایل ذخیره کنید:
bash
echo {your-consensus-account-password} > password.txtتولید آدرس رأی BLS
دستور زیر را برای ساخت حساب BLS جدید اجرا کنید:
bash
geth bls account new --datadir ${DATA_DIR}اگر از قبل کلید BLS دارید، آن را با دستور زیر وارد کنید:
bash
geth bls account import ${KEY_FILE} --datadir ${DATA_DIR}برای تأیید آدرس BLS خود:
bash
geth bls account list --datadir ${DATA_DIR}رمز عبور BLS خود را در یک فایل ذخیره کنید:
bash
echo {your-bls-wallet-password} > blspassword.txtمرحله ۳ — راهاندازی نود اعتبارسنج
⚠️ هشدار: هرگز نقاط پایانی RPC خود را در معرض شبکهی عمومی قرار ندهید.
اعتبارسنج خود را با دستور زیر راهاندازی کنید:
bash
geth --config ./config.toml \
--datadir ./node \
-unlock {your-consensus-account-address} \
--miner.etherbase {your-consensus-account-address} \
--password password.txt \
--blspassword blspassword.txt \
--mine \
--vote \
--allow-insecure-unlock \
--cache 18000 \
--history.transactions 0 \
--history.logs.disableعملیات پس از راهاندازی
نظارت بر وضعیت نود
شدیداً توصیه میشود از همان لحظهای که نود شما آنلاین میشود، آن را نظارت کنید. میتوانید یک متریکاکسپورتر از طریق Docker اجرا کنید:
bash
docker run -it -d -p 9090:9090 \
-e "GETH=http://your-node-address:8545" \
hunterlong/gethexporterداشبورد مرجع: Grafana Dashboard #6976
توقف و ازسرگیری اعتبارسنجی
برای توقف تولید بلاک، به کنسول نود خود متصل شده و دستور زیر را اجرا کنید:
bash
geth attach ipc:path/to/geth.ipcسپس:
js
miner.stop()برای ازسرگیری:
js
miner.start()نکات و بهترین شیوهها
اجرای نود پشتیبان (Backup)
اجرای یک نود پشتیبان شدیداً توصیه میشود. اگر اعتبارسنج اصلی شما با مشکل مواجه شود — خرابی سختافزار، قطعی اتصال یا خطای نرمافزاری — یک نود پشتیبان تداوم مشارکت را تضمین میکند و ریسک جریمهی ناشی از downtime را کاهش میدهد.
بررسی پایداری نود
شمارش جریمههای اعتبارسنج خود را بهطور منظم نظارت کنید. از ابزار بررسی وضعیت جریمه در مخزن نود استفاده کنید:
bash
cd <dotone>/cmd/jsutils
# بررسی جریمهها در آخرین بلاک:
node getslashcount.js --Rpc https://rpc.dotone.network
# بررسی جریمهها در یک شمارهی بلاک مشخص:
node getslashcount.js --Rpc https://rpc.dotone.network --Num {block_number}یک اعتبارسنج با عملکرد خوب باید صفر یا نزدیک به صفر جریمهی روزانه داشته باشد. بیش از سه جریمه در یک روز، نشانهای برای بررسی فوری است.
حالت نگهداری (Maintenance Mode)
اگر اعتبارسنج شما به ۵۰ جریمه برسد، بهطور خودکار وارد حالت نگهداری میشود. در این نقطه:
- مشکل زمینهای را سریعاً تشخیص و برطرف کنید
- بهمحض پایدار شدن نود، از حالت نگهداری خارج شوید
- عدم خروج بهموقع ممکن است منجر به زندانی شدن نود شما شود
برای خروج از حالت نگهداری، تراکنش زیر را از آدرس اجماع اعتبارسنج خود ارسال کنید:
js
geth attach geth.ipc
web3.eth.sendTransaction({
from: "0x{your-consensus-address}",
to: "0x0000000000000000000000000000000000001000",
data: "0x04c4fec6"
})فیلتر کردن همتاها بر اساس الگو
در شرایطی که یک نسخهی خاص از نود دارای باگهای بحرانی شناختهشده باشد و ارتقای فوری سراسر شبکه ممکن نباشد، میتوانید با بهروزرسانی config.toml خود، همتاهایی که آن نسخه را اجرا میکنند قطع کنید:
toml
[Node.P2P]
PeerFilterPatterns = ["Geth/v{problematic-version}.*"]پس از اعمال تغییر، نود خود را ریاستارت کنید. این یک اقدام موقت است و باید پس از ارتقای شبکه حذف شود.