
به سرعت به زمان عرضه اتریوم ۲ (Ethereum 2.0) نزدیک میشویم و حالا که در سال ۲۰۲۰ هستیم، یکی از ویژگیهایی که اتریوم عرضه خواهد کرد گواه اثبات سهام است. استیکینگ (نگه داشتن کوینها) عملکردی مشابه با ماینینگ در اتریوم ۱.۰ خواهد داشت و به دارندگان، روشی برای کسب سود از سرمایه گذاریهای خود ارائه خواهد داد.
استیکینگ (Staking) چندین مزیت نسبت به ماینینگ دارد که از بین آنها میتوان به مصرف انرژی کمتر و کاهش نرخ تورم اتریوم اشاره کرد. به طور کل استیکینگ ایمن تر و غیرمتمرکزتر از ماینینگ است. به هر ترتیب، این تغییر فرصت بزرگی برای شبکه اتریوم و کاربران آن است. در این مقاله به بررسی نکاتی میپردازیم که باید از استیکینگ بدانید.
اصول استیکینگ (Staking) در اتریوم ۲
به منظور شروع استیکینگ (Staking) در اتریوم ۲.۰ باید نود تایید کننده در اختیار داشته باشید و توکنهای خود را در حساب مسدود کنید. این امر به شما امکان خواهد داد تا در ایجاد بلاک شرکت کنید. تایید کنندگان سراسر شبکه اتریوم برای رای گیری نیمه تصادفی در خصوص بلاکهای جدید انتخاب خواهند شد. سایر تایید کنندگان در خصوص نتیجه موافقت میکنند و به اجماع میرسند.
استیکینگ (Staking) به شما امکان خواهد داد تا پاداش دریافت کنید اما نرخ دقیق سود هنوز مشخص نیست. ویتالیک بوترین موسس اتریوم اخیرا نرخ سود سالانه را بین ۱.۵ الی ۱۸ درصد پیشنهاد داده است. این نرخ سود به مقدار استیکینگ اتریوم در سراسر شبکه بستگی دارد. جاستین دریک سرپرست توسعه دهندگان نرخ سود ۵ درصد را برای تایید کنندگان پیشنهاد داد. وی همچنین خاطر نشان کرد که سود سالانه شامل سود گس (Gas) و تورم نیز خواهد بود.
اتریوم ۲.۰ به منظور حفظ یکپارچگی و امنیت شبکه؛ از بازدارندهها استفاده خواهد کرد. جریمههای اندک باعث میشود تایید کنندگان آنلاین بمانند. در عین حال اسلشینگ (Slashing) نیز یک فرایند جداگانه است که بخشی از استیک تایید کنندگان را برمیدارد و آنها را مجبور به ترک شبکه خواهد کرد. گفتنی است که اسلشینگ، تایید کنندگان با اهداف خرابکارانه را هدف قرار داده است.
نکات لازم برای شروع استیکینگ
در حال حاضر برای اینکه بخواهید در استیکینگ (Staking) اتریوم ۲.۰ شرکت کنید باید ۳۲ اتر (که تقریبا ۷ هزار دلار میشود) داشته باشید. خوشبختانه دیگر نباید نگران هزینه مصرف برق باشید؛ زیرا استیکینگ به رایانه قوی یا سخت افزار مخصوص نیاز ندارد. دریک بیان کرد که اکثر لپتاپ های معمولی نیز میتوانند به عنوان تایید کننده عمل کنند. هرچند برای تایید بلاکها باید دائما آنلاین و در دسترس باشید.
اگر استیکینگ را با استخر انجام دهید، بعضی از این پیش نیازها حذف میشوند. برای مثال استخر RocketPool استیکینگ را از جانب شما انجام میدهد و دیگر نیازی نیست که نرم افزار خاصی اجرا کنید یا همیشه آنلاین باشید. هم چنین مقدار استیکینگ آن نیز کمتر است و تا ۱ اتر (حدود ۲۳۸ دلار) را نیز میتوانید استیک کنید. متاسفانه استخرهای استیکینگ معمولا کارمزد دریافت میکنند؛ بنابراین سود کمتری نسبت به استیکینگ انفرادی دریافت میکنید.
شرکتهای ارائه دهنده خدمات استیکینگ نیز همانند استخرها، به ازای دریافت کارمزد از جانب شما استیک انجام میدهند. شرکتهای استیک کپیتال، استیکد، Stake.fish و Staking Facilities در حال برنامه ریزی هستند تا سال آینده، برنامههای استیکینگ اتریوم خود را معرفی کنند. هرچند بعضی از این شرکتها به سرمایه گذارهای سازمانی خدمات ارائه میدهند و ممکن است در دسترس کاربران معمولی نباشند.
زمان شروع استیکینگ
طبق برنامهریزیهایی که برای استیکینگ اتریوم انجام شده بود، قرار بود این قابلیت از ژانویه سال ۲۰۲۰ فعال شود. ولی در حال حاضر که نیمی از سال ۲۰۲۰ را پشت سر گذاشتهایم، استیکنیگ اتریوم هنوز عرضه نشده است و تاریخ مشخصی هم برای اجرایی شدن آن اعلام نشده است.
در حال حاضر میتوانید با استفاده از شبکه های آزمایشی به آزمایش استیکینگ بپردازید. در ماه می، پرایسمتیک لبز شبکه آزمایشی عرضه کرد که در دسترس عموم بود. پس از آن، سایر پروژه ها نظیر لایت هاوس (Lighthouse) و نیمبوس (Nimbus) هم این کار را انجام دادند. از آنجایی که شبکه آزمایشی به اتر واقعی نیاز ندارد، میتوانید به طور رایگان از آن استفاده کنید اما باید توجه داشته باشید که پاداش شما هم ارزشی ندارد. به هر ترتیب پرایس مایک ایر در حال تشویق کاربران اتریوم به شرکت در این شبکه آزمایشی است.
استخر RocketPool نیز در حال برنامه ریزی برای عرضه نسخه آزمایشی بتای عمومی است که برای استیکینگ از اتر بدون ارزش استفاده خواهد کرد. این استخر ممکن است قبل از فعال شدن اتریوم ۲.۰، استیکینگ و پاداش واقعی ارائه دهد. RocketPool برای دستیابی به این هدف از توکن جایگزین (rETH) استفاده خواهد کرد که قابل تبدیل به اتر واقعی را دارد.
نحوه همکاری اتریوم ۱.۰ و ۲.۰ چگونه است؟
در ابتدا اتریوم ۱.۰ و ۲.۰ به طور موازی عمل خواهند کرد. در فاز صفر میتوانید توکنهای اتر را به بیکن چین اتریوم ۲.۰ که استیکینگ را به طور انحصاری مدیریت خواهد کرد انتقال دهید. در فاز صفر، اتریوم ۱.۰ فعالیتهای غیر استیکینگ نظیر فعالیتهای تراکنش و قراردادهای هوشمند را مدیریت خواهد کرد.
هم چنین میتوانید پس از فعال شدن استیکینگ (Staking)، در اتریوم ۱.۰ به استخراج بپردازید اما پاداش ماینینگ با افت چشمگیری مواجه خواهد شد. در واقع این موضوع رخ داده است. به روزرسانی سال جاری کنستانتینوپول با کاهش قابل ملاحظه پاداش ماینینگ همراه بوده است. از آن زمان به بعد دریک اذعان داشته است که پاداش ماینینگ در سال های آینده ۱۰ برابر کاهش خواهد یافت.
آموزش راه اندازی نود ولیدیتور برای استیکینگ در اتریوم ۲.۰
پیش نیازها
این آموزش برای افراد کاملا تازه کار نیست؛ برای اجرای استیکینگ در اتریوم، نیاز به دانش در زمینه اتریوم، توکن اتر، استیکینگ، لینوکس و کیف پول متامسک دارید.
قبل از شروع، باید یک سرور اوبونتوی راه اندازی شده داشته باشید. همچنین باید افزونه کیف پول متامسک را نصب کنید.
ابزار مورد نیاز
- سرور اوبونتو، ترجیحا نسخه ۲۰.۰۴ (LTS) سرور ماشین مجازی amd64
- متامسک نصب و تنظیم شده
- فعلا سخت افزار خاصی تعریف نشده. اما میتوانید از یک ماشین مجازی با این مشخصات استفاده کنید:
- Intel Xeon Gold 6140 CPU @ 2.30 GHz
- 4 GB RAM
- 80GB SSD
نگاه کلی
این یک راهنمای طولانی و پرجزئیات است. در زیر دیاگرام سادهای را میبینید که به شما کمک میکند تا متوجه شوید چه کاری قرار است انجام دهید. باکسهای زرد رنگ بخشهای اصلی این راهنمایی را نشان میدهند.
مفهوم کلی آن به این صورت است:
- راه اندازی نود اتریوم ۱.۰ و همگام سازی آن با تست نت Goerli اتریوم ۱.۰
- تولید و فعال سازی کلیدهای ولیدیتور (تایید کننده)
- تنظیم نود بیکن (Beacon) به همراه ولیدیتور
- نود بیکن با کمک ولیدیتور (امضا) بلاکها و امضاها را تایید میکند
گام ۰: اتصال به شبکه
با استفاده از کلاینت SSH به سرور اوبونتو متصل شوید. اکانت کاربری root بر روی سرور اوبونتو به صورت پیش فرض غیرفعال است. با این وجود، برخی از ارائه دهندگان ابری (Cloud) آن را فعال میکنند.
اگر شما به عنوان root وارد شدهاید، بیایید یک اکانت در سطح کاربر با مزایای ادمین بودن بسازیم؛ چون استفاده از root کاربر برای ورود، ریسکی است.
نکته: اگر به عنوان root وارد نشدهاید، این مرحله را حذف کنید و از مرحله ۱ شروع کنید.
# adduser <yourusername>
از شما خواسته میشود که یک پسورد و اطلاعات دیگر بسازید.
موافقت ادمینها برای اضافه کردن کاربر جدید در گروه sudo لازم است.
<usermod -aG sudo <yourusername #
زمانی که شما به عنوان <yourusername> وارد شدید، میتوانید قبل از دستورات sudo را وارد کنید تا دستورات را با مزایای یک کاربر ویژه اجر کنید.
اختیاری: اگر از کلیدهای SSH برای اتصال به اوبونتوی خود و با استفاده از root استفاده میکنید، نیاز به همکاری با کاربر جدید با دیتاهای کلیدهای SSH او دارید.
<rsync –archive –chown=<yourusername>:<yourusername> ~/.ssh /home/<yourusername #
در نهایت، از root لاگ اوت کنید و به عنوان <yourusername> لاگین کنید.
گام ۱: آپدیت کردن سیستم خود
مطمئن شوید که سیستم شما با آخرین نرم افزار آپدیت شده باشد. اگر لازم است سیستم خود را ریستارت کنید.
$ sudo apt update && sudo apt upgrade
$ sudo apt dist-upgrade && sudo apt autoremove
گام ۲: سیستم خود را امن کنید
امنیت مهم است. این یک راهنما برای امنیت کامل نیست و تنها تنظیمات مقدماتی است.
تنظیمات فایروال
سرورهای اوبونتوی ۲۰.۰۴ میتوانند از فایروال پیش فرض UFW استفاده کنند تا از ورود ترافیک به سرور جلوگیری کنند. ما نیاز به اجازه ورود ترافیک برای SSH داریم.
اجازه برای SSH
از طریق SSH میتوانید به اتصالهای سرور اجازه ورود بدهید. برای دلایل امنیتی، ما پورت پیش فرض ۲۲ را تغییر میدهیم؛ زیرا بیشتر حملات به آن انجام میشود.
یک پورت را از بین ۱۰۲۴ تا ۴۹۱۵۱ انتخاب کنید و دستور زیر را اجرا کنید تا مطمئن شوید که پورت انتخابی شما بر روی سرور در حال استفاده نباشد. اگر در حال استفاده باشد، با رنگ قرمز مشخص میشود. پس باید پورت خود را عوض کنید.
$ sudo ss -tulpn | grep ‘:<yourSSHportnumber>’
فایروال خود را آپدیت کنید تا به ترافیک ورودی در <yourSSHportnumber> اجازه ورود بدهد. SSH نیاز به TCP دارد.
$ sudo ufw allow <yourSSHportnumber>/tcp
این دستور، پورت SSH پیش فرض را تغییر میدهد.
$ sudo nano /etc/ssh/sshd_config
خطی را پیدا کنید که # port 22 یا port 22 را داشته باشد. آن را به <port <yourSSHportnumber تغییر دهید. اگر # وجود داشت، آن را پاک کنید.
به اسکرین شات زیر نگاه کنید؛ فایل شما باید شبیه به آن باشد (البته با شماره پورتی که شما انتخاب کردهاید). سیو کنید و خارج شوید.
سرویس SSH را ریستارت کنید.
$ sudo systemctl restart ssh
دفعه بعدی که خواستید توسط SSH لاگین کنید، برای پورت از <yourSSHportnumber> استفاده کنید.
اختیاری: اگر شما از UFW با پورت 22/TCP استفاده میکنید، فایروال خود را آپدیت کنید تا از ورود ترافیک به پورت خود جلوگیری کنید.
$ sudo ufw deny 22/tcp
فعال کردن Go Ethereum
درخواستهای ورودی از همتاهای Go Ethereum را فعال میکند (پورت 30303/TPC و 30303/UDP).
نکته: اگر شما اوبونتوی خود را بر روی روتر و/یا فایروال خود میزبانی میکنید، برای اجازه ورود ترافیک بر روی این پورتها، نیاز به تنظیمات دارید.
$ sudo ufw allow 30303/tcp
$ sudo ufw allow 30303/udp
فعال کردن Nimbus
اجازه فعالیت اتصالهای P2P با همتاها را بر روی نود بیکن را میدهد (پورتهای 19000/TCP و 19000/UDP).
نکته: اگر شما اوبونتوی خود را بر روی روتر و/یا فایروال خود میزبانی میکنید، برای اجازه ورود ترافیک بر روی این پورتها، نیاز به تنظیمات دارید.
$ sudo ufw allow 19000/tcp
$ sudo ufw allow 19000/udp
فعال کردن Grafana
درخواستهای ورودی به سرور وب گرافانا را فعال میکند (پورت 3000/TCP).
$ sudo ufw allow 3000/tcp
فعال کردن Prometheus (اختیاری)
اگر میخواهید دسترسی مستقیم به دیتاهای پرومتئوس داشته باشید، میتوانید یک پورت 9090/TCP باز کنید. اگر از گرافانا برای دیدن دیتاها استفاده میکنید، نیازی به این پورت ندارید.
$ sudo ufw allow 9090/tcp
حالا فایروال خود را فعال کنید و اعتبار قوانین را بررسی کنید که صحیح باشند.
$ sudo ufw enable
$ sudo ufw status numbered
خروجی باید چیزی شبیه به تصویر زیر باشد.
گام ۳: پیکربندی ntpd Timekeeping
اوبونتو دارای همزمان سازی زمان است و به طور پیش فرض این کار را با استفاده از سرویس systemd’s timesyncd انجام میدهد. با این وجود، برای برنامههایی که نیازمند نگهداری زمان دقیقتری هستند (مثل بلاک چین)، از ntpd استفاده میکنیم.
ابتدا باید timesyncd را خاموش کنیم. خروجی باید این را نشان دهد: NTP service: inactive
$ sudo timedatectl set-ntp no
$ timedatectl
سپس پکیج ntp را نصب کنید. پس از نصب شدن، به صورت اتوماتیک شروع به کار میکند. پکیج را تایید کنید.
$ sudo apt install ntp
$ ntpq –p
خروجی باید شبیه به تصویر زیر باشد.
گام ۴: نصب و راه اندازی نود Go Ethereum
نود اتریوم ۱.۰ را که قرار است نود نیمبوس بیکن به آن متصل شود را نصب و تنظیم کنید. اگر شما از یک نود که توسط یک واسطه میزبانی میشود استفاده میکنید، این مرحله را حذف کنید.
نصب Go Ethereum
Go Ethereum نیازمند استفاده از آرشیوهای پکیج شخصی (PPA) است.
$ sudo add-apt-repository -y ppa:ethereum/ethereum
پکیجها را آپدیت کنید و آخرین ورژن استیبل را نصب کنید.
$ sudo apt update
$ sudo apt install ethereum
راه اندازی Go Ethereum به عنوان یک سرویس پس زمینه
یک اکانت به منظور راه اندازی پس زمینه برای این سرویس بسازید. این نوع اکانتها نمیتوانند در سرور لاگین شوند.
$ sudo useradd –no-create-home –shell /bin/false goeth
برای زنجیره اتریوم ۱.۰ یک دایرکتوری دیتا بسازید. این برای ذخیره دیتاهای نود اتریوم ۱.۰ مورد نیاز است. از آپشن –p استفاده کنید تا path کامل را بسازید.
$ sudo mkdir -p /var/lib/goethereum
دسترسیهای دایرکتوری را تعیین کنید. اکانت goeth نیازمند دسترسی است تا بتواند دایرکتوری دیتا را تغییر دهد.
$ sudo chown -R goeth:goeth /var/lib/goethereum
یک سرویس systemd بسازید تا تنظیمات سرویس را ذخیره کند. ما از config file استفاده میکنیم تا به systemd بگوید که پروسه geth را راه اندازی کند.
$ sudo nano /etc/systemd/system/geth.service
تنظیمات زیر را درون فایل کپی کنید.
[Unit]
Description=Ethereum go client
After=network.target
Wants=network.target[Service]
User=goeth
Group=goeth
Type=simple
Restart=always
RestartSec=5
ExecStart=geth –goerli –http –datadir /var/lib/goethereum[Install]
WantedBy=default.target
flag –goerli برای شبکه تستی Goerli استفاده میشود و flag –http برای نمایش دادن نقطه پایانی (http://localhost:8545) استفاده میشود که زنجیره بیکن به آن متصل میشود.
به تصویر زیر نگاه کنید؛ فایل شما باید شبیه آن باشد. سیو کنید و خارج شوید.
Systemd را ریلود کنید تا تغییرات را نشان دهد.
$ sudo systemctl daemon-reload
سرویس را اجرا کنید و مطمئن شوید که به درستی کار میکند.
$ sudo systemctl start geth
$ sudo systemctl status geth
خروجی باید شبیه تصویر زیر باشد.
اگر همه چیز را درست انجام داده باشید، نوشته سبز رنگی به معنای فعال (Running) خواهید دید. اگر غیر از این باشد، باید برگردید و گامهای قبلی را دوباره انجام دهید تا این مشکل برطرف شود. Q را بزنید تا خارج شوید.
سرویس geth را فعال کنید تا به طور خودکار پس از ریستارت شدن سیستم شما، شروع به کار کند.
$ sudo systemctl enable geth
نود Go Ethereum شروع به همگام سازی میکند. شما میتوانید پروسه را توسط دستور Journal دنبال کنید. Ctrl+C را بزنید تا خارج شوید.
$ sudo journalctl -f -u geth.service
برخی مواقع ممکن است مقداری طول بکشد تا یک همتا برای همگام شدن پیدا کند. اگر این اتفاق افتاد، شما میتوانید تعدادی همتا اضافه کنید تا به افزایش سرعت این پروسه کمک کنید. برای به روزترین لیست و اصلاحات سرویس geth به اینجا مراجعه کنید.
$ sudo systemctl stop geth
$ sudo nano /etc/systemd/system/geth.service
لاین ExecStart را تغییر دهید و flag –bootnodes را با تعدادی از آخرین همتاها اضافه کنید (با کاما آنها را جدا کنید).
ExecStart=geth –goerli –http –datadir /var/lib/goethereum –bootnodes “enode://46add44b9f13965f7b9875ac6b85f016f341012d84f975377573800a863526f4da19ae2c620ec73d11591fa9510e992ecc03ad0751f53cc02f7c7ed6d55c7291@94.237.54.114:30313,enode://119f66b04772e8d2e9d352b81a15aa49d565590bfc9a80fe732706919f8ccd00a471cf8433e398c55c4862aadb4aadf3a010201483b87e8358951698aa0b6f07@13.250.50.139:30303”
فایل را سیو کنید و خارج شوید. سرویس را ریستارت کنید و این دستورات را مشاهده کنید.
$ sudo systemctl daemon-reload
$ sudo systemctl start geth
$ sudo journalctl -f -u geth.service
زمانی که شروع به کار کرد، خروجی باید شبیه تصویر زیر باشد.
نکته: قبل از راه اندازی نود بیکن، باید صبر کنید تا همگام سازی نود تکمیل شود. میتوانید آخرین بلاک را از اینجا مشاهده کنید.
برای مثال، اسکرین شات بالا نشان میدهد که نود در حال پردازش بلاک ۴۹۸۸۸۰ است. پس بر اساس این اطلاعات، ما قبل از تکمیل شدن همگام سازی، مقداری کار داریم.
سپس ما باید نرم افزار نیمبوس را Clone کنیم و آن را بسازیم.
گام ۵: نصب توابع
تعدادی از ابزارهای ارائه توابع (مثل C Compiler، Make، Bash، Git و PCRE) برای ساخت کلاینت نیمبوس مورد نیاز است.
$ sudo apt install build-essential git libpcre3-dev
گام ۶: نصب و ساخت نیمبوس
حالا ما آماده ساخت نیمبوس هستیم. ساخت نیمبوس، یک باینری beacon_node تولید میکند. ما این باینری را با flagها یا زیرفرمان (SubCommand)های مختلفی اجرا میکنیم تا به عملکرد مورد نیازمان برسیم. مثلا:
Beacon_node deposits import کلیدهای ولیدیتور را در داخل کیف پول کلاینت ایمپورت میکند.
Beacon_node –network=medulla نمونه بیکن نودی که به شبکه Medalla متصل است را اجرا میکند.
مخزن اصلی نیمبوس را Clone کنید و شاخه devel را به منظور آخرین تغییرات، انتخاب کنید.
نکته: تیم نیمبوس توصیه میکند که شاخه devel را همگام سازی کنید تا بتواند کلاینت را ارتقاء دهد، تا این که به صورت Master ثابت شود.
$ cd ~
$ git clone https://github.com/status-im/nim-beacon-chain
$ cd nim-beacon-chain
$ git checkout devel
از MAKE برای کامپایل Nimbus binary استفاده کنید. برای کامپایل کردن در metrics functionality ما insecure flag را در نظر میگیریم.
$ make NIMFLAGS=”-d:insecure” beacon_node
خروجی باید شبیه به تصویر زیر باشد.
بسته به سخت افزار شما، مقداری طول میکشد تا ساخته شود. اگر ساخته شدن موفقیت آمیز بود، ادامه مراحل را طی کنید.
گام ۷: تکمیل کردن پروسه آن بورد Medalla
به منظور راه اندازی نود ولیدیتور بر روی اتریوم ۲.۰ در تست نت Medalla، ما نیاز به ثبت نام در یک یا چند اکانت ولیدیتور داریم.
نکته: اگر شما اکنون دیتاهای واریزی خود را ایجاد کردهاید و واریزهای استیکینگ خود را ثبت کردهاید، میتوانید این مرحله را حذف کنید. این مرحله فایلهای کلید ولیدیتور را که بر روی سرور اوبونتو ذخیره شدهاند را به عهده میگیرد.
$ HOME/eth2.0-deposit-cli/validator_keys
برای ثبت نام این مراحل را طی کنید:
- Georli ETH را دریافت کنید.
- کلیدهای ولیدیتور را تولید کنید. هر کلید یک اکانت ولیدیتور است.
- در هر یک از اکانتهای ولیدیتور Goerli ETH ۳۲ اتر واریز کنید.
- صبر کنید تا اکانت (ها) ولیدیتور شما فعال شود.
دریافت Gorli ETH
- افزونه متامسک را بر روی کامپیوتر خود نصب کنید.
- بر روی متامسک کلیک کنید و لاگین کنید.
- از طریق زبانهای که بالای صفحه متامسک قرار دارد، Gorli Test Network را انتخاب کنید.
- بر روی اکانت خود کلیک کنید تا آدرس کیف پول Goerli Test Network را کپی کنید.
- با استفاده از آدرس خود، Gorli ETH را از طریق کانال #request-goerli-eth دریافت کنید. این کانال در ethstaker Discord قرار دارد. با استفاده از این دستور آن را دریافت کنید.
!goerliEth <yourwalletaddress>
نکته: هر ولیدیتور نیازمند واریز ۳۲ اتر است. شما باید به حد کافی در متامسک خود Goerli ETH داشته باشید تا بتوانید درهر ولیدیتور واریز کنید. برای مثال، اگر شما ۱۰ ولیدیتور دارید، باید ۳۲۰ Goerli ETH به علاوه مثلا ۱ اتر برای پرداخت هزینه گس داشته باشید.
تولید کلیدهای ولیدیتور
در قدم بعدی مع باید کلیدهای ولیدیتور را تولید کنیم. کلاینت ولیدیتور از چندین کلید ولیدیتور پشتیبانی میکند. هر کلید ولیدیتور اصولا یک اکانت ولیدیتور بر روی تست نت Medalla است.
کلاینت تولید کننده واریزی را Clone کنید.
$ cd ~
$ git clone https://github.com/ethereum/eth2.0-deposit-cli.git
$ cd eth2.0-deposit-cli
ورژن پایتون را چک کنید (ورژن ۳.۷ به بالا مورد نیاز است).
$ python3 –V
اگر پایتون ندارید (یا ورژن پایتون شما پایینتر از ۳.۷ است) این مراحل را دنبال کنید.
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt update
$ sudo apt install python3.7
پیش نیازهای سند واریزی را نصب کنید.
$ sudo apt install python3-pip
اپلیکیشن را نصب کنید تا کلیدهای ولیدیتور را تولید کنید.
<numberofvalidators> را تغییر دهید و به جای آن، تعداد کلیدهای ولیدیتوری که میخواهید بسازید را وارد کنید. مثلا num_validators 5
$ sudo ./deposit.sh install
$ ./deposit.sh –num_validators <numberofvalidators> –chain medulla
پس از انجام این مرحله، شما باید برای واریزی خود، یک فایل JSON داشته باشید. برخی از کلیدهای ولیدیتور شامل فایلهای JSON، پسورد و کلمات بازیابی هستند. از همه اینها بکاپ بگیرید و در جای امنی نگهداری کنید.
کلیدهای خود را میتوانید در /home/<yourusername>/eth2.0-deposit-cli/validator_keys پیدا کنید.
کپی کردن فایل دیتای واریزی
در دایرکتوری validator_keys باید یک فایل deposit_data-[timestamp].json وجود داشته باشد. شما باید در قدم بعدی آن را توسط یک وب سایت آپلود کنید.
واریز کلیدهای ولیدیتور
این مرحله شامل واریز کردن مقدار مورد نیاز Goerli ETH به قرارداد استیکینگ تست نت Medalla است. این مرحله توسط وب سایت Eth2.0 Launchpad انجام میشود.
از مراحل اولیه سایت عبور کنید و سپس تعداد ولیدیتورهایی که میخواهید درست کنید را انتخاب کنید. سپس Continue را بزنید.
از شما خواسته میشود که فایل deposit_data-[timestamp].json را آپلود کنید. این فایل را Drag کنید و بر روی Continue کلیک کنید.
به کیف پول خود متصل شوید. متامسک را انتخاب کنید، لاگین کنید، Goerli Test Network را انتخاب کنید و Continue را بزنید.
موجودی متامسک شما نمایش داده میشود. اگر موجودیتان کافی باشد، سایت به شما اجازه ادامه میدهد.
Summary تعداد ولیدیتورها و مقدار کل Goerli ETH مورد نیاز را نشان میدهد. اگر درست است، باکسها را تیک بزنید و روی Continue کلیک کنید.
بر روی Initiate all Transactions کلیک کنید. در مرحله بعدی حسابهای متامسک شما باز میشود که هر کدام دارای ۳۲ Goerli ETH هستند. این مرحله درخواست تراکنش این حسابها برای قرارداد واریزی تست نت Medalla را نشان میدهد. این تراکنشها را تایید کنید.
وقتی که همه تراکنشها با موفقیت تکمیل شدند، کار شما تمام شده است!
وضعیت ولیدیتورهای خود را بررسی کنید
ولیدیتورهایی که تازه اضافه شدهاند، ممکن است ساعتها، روزها یا هفتهها طول بکشد تا فعال شوند. شما میتوانید وضعیت کلیدهای خود را از طریق این گامها چک کنید:
- آدرس کیف پول Goerli Test Network خود را کپی کنید.
- به اینجا بروید: https://beaconcha.in/
- آدرس کیف پول خود را سرچ کنید. کلیدهای شما نمایش داده خواهند شد.
بر روی کلید کلیک کنید تا اطلاعات برآورد فعال شدن را ببینید.
همین! حالا بیایید کیف پول ولیدیتور را بسازیم.
گام ۸: ساختن کیف پول ولیدیتور
کیف پول ولیدیتور توسط ایمپورت کردن فایلهای keystore-m JSON که در مرحله قبل ایجاد کردیم، ساخته میشود.
ابتدا، یک دایرکتوری برای ذخیره کیف پول ولیدیتور بسازید و دسترسیهای فعلی کاربری را به آن بدهید. <yourusername> را تغییر دهید تا با یوزرنیم خود لاگین شوید.
$ sudo mkdir -p /var/lib/nimbus
$ sudo chown -R <yourusername>:<yourusername> /var/lib/nimbus
پروسه ساخت کیف پول را راه اندازی کنید. Function beacon_chain deposits import نیازمند کلیدهای keystore-m JSON در داخل دایرکتوری HOME/eth2.0-deposit-cli/validator_keys $ است.
$ cd ~
$ cd nim-beacon-chain
$ build/beacon_node deposits import –data-dir=/var/lib/nimbus $HOME/eth2.0-deposit-cli/validator_keys
Flag –data-dir محل خروجی دیتای کیف پول را مشخص میکند.
از شما خواسته میشود که پسورد کلیدهای ولیدیتور خود را وارد کنید؛ این همان پسوردی است که در قدم قبلی برای کلیدهای خود انتخاب کردهاید.
خروجی باید شبیه تصویر زیر باشد.
حالا کیف پول ولیدیتور شما ساخته شده است. اکنون ما یک نود بیکن (و ولیدیتور) درست میکنیم تا به عنوان یک سرویس اجرا شود.
گام ۹: ساخت نود بیکن
ما نود بیکن را به عنوان یک سرویس اجرا میکنیم تا اگر سیستم ریستارت شد، پروسه به صورت اتوماتیک ادامه یابد.
نکته: اکنون یک مسئله در نیمبوس وجود دارد که سیستم کلاینت هر ۶ ساعت یک بار ریستارت میشود. این مسئله توسط سرویس systemd و توسط RuntimeMaxSec=21600 انجام میشود.
نصب اکانتها و دایرکتوریها
اکانت نود بیکن را بسازید تا به صورت پس زمینه اجرا شود. این نوع اکانت نمیتواند در داخل سرور لاگین شود.
$ sudo useradd –no-create-home –shell /bin/false nimbus
دسترسیهای دایرکتوری را تعیین کنید. ما مرحله قبل دایرکتوری دیتای /var/lib/nimbus را ساختیم. اکانت nimbus نیازمند دسترسی است تا این دایرکتوری دیتا را تغییر دهد.
$ sudo chown -R nimbus:nimbus /var/lib/nimbus
سپس باینری beacon_node که در گام ۶ ساختید را در دایرکتوری /usr/local/bin کپی کنید. سرویس نیمبوس از آنجا اجرا خواهد شد.
نکته: هر بار که میخواهید یک ورژن جدید از باینری beacon_node را بسازید، باید این مرحله را انجام دهید.
$ sudo cp /$HOME/nim-beacon-chain/build/beacon_node /usr/local/bin
ساخت و پیکربندی سرویس
یک فایل سوریس systemd بسازید تا تنظیمات سرویس را ذخیره کند.
$ sudo nano /etc/systemd/system/nimbus.service
این تنظیمات را در داخل فایل کپی کنید.
[Unit]
Description=Nimbus Beacon Node
Wants=network-online.target
After=network-online.target[Service]
Type=simple
User=nimbus
Group=nimbus
Restart=always
RuntimeMaxSec=21600
WorkingDirectory=/var/lib/nimbus
Environment=”ClientIP=$(curl -s v4.ident.me)”
ExecStart=/bin/bash -c ‘/usr/local/bin/beacon_node –network=medalla –data-dir=/var/lib/nimbus –web3-url=http://127.0.0.1:8545 –graffiti=<yourPOAPstring> –metrics –metrics-port=8008 –rpc –rpc-port=9091 –max-peers=250 –nat=extip:${ClientIP} –validators-dir=/var/lib/nimbus/validators –secrets-dir=/var/lib/nimbus/secrets –log-level=INFO –log-file=/var/lib/nimbus/beacon_node.log'[Install]
WantedBy=multi-user.target
به جای <yourPOAPstring> Nimbus POAP participation medal value خود را وارد کنید تا یک جایزه ویژه NFT دریافت کنید! مثلا –graffiti=abcdefg12345saf
اگر نیاز است، به جای –web3-url ، لینک نود ETH1 خود را قرار دهید.
Flagها اینها هستند:
- –network— شبکهای که کلاینت به آن متصل است. در این مورد، Medalla.
- –data-dir— دایرکتوری برای ذخیره نود بیکن و دیتای ولیدیتور.
- –web3-url— URL نود Eth1 (لوکال یا ریموت).
- –graffiti— رشته POAP graffiti برای ولیدیتورها.
- –metrics— metricهای سرور را تغییر وضعیت میدهد.
- –metrics-port— باید در فایل تغییرات پرومتئوس، با metricهای نیمبوس متناسب باشد.
- –rpc— برای تغییر وضعیت RPC API به کار میرود.
- –rpc-port— برای جلوگیری از نامتناسب بودن با پرومتئوس لازم است.
- –max-peers— حداکثر مقدار همتاها برای نود بیکن.
- –nat— آدرس IP سرور شماست. ما از Environment variable زیر استفاده میکنیم تا آدرس IP کلاینت را بگیریم؛ چون ExecStart چنین اجازهای به ما نمیدهد.
Environment=”ClientIP=$(curl -s v4.ident.me)”
- –validators-dir— دایرکتوری که دیتاهای کلید ولیدیتور در آنجا قرار دارد.
- –secrets-dir— دایرکتوری که secretهای کلید ولیدیتور در آنجا قرار دارد.
- –log-file— برای این که سرویس بتواند log-file را بسازد، مورد نیاز است. Pathباید با سرویس WorkingDirectory متناسب باشد.
فایل شما باید شبیه اسکرین شات زیر باشد. سیو کنید و خارج شوید.
Systemd را ریلود کنید تا تغییرات را نشان دهد.
$ sudo systemctl daemon-reload
نکته: اگر یک نود لوکال Eth1 را اجرا میکنید (گام ۴ را نگاه کنید)، شما باید قبل از شروع سرویس نیمبوس، تا پایان همگام سازی صبر کنید. پروسه را از اینجا چک کنید:
: sudo journalctl -f -u geth.service
سرویس را شروع کنید و مطمئن شوید که به درستی کار میکند.
$ sudo systemctl start nimbus
$ sudo systemctl status nimbus
خروجی باید شبیه تصویر زیر باشد.
اگر همه چیز را درست انجام داده باشید، نوشته سبز رنگی به معنای فعال (Running) خواهید دید. اگر اشتباه انجام دادید، برگردید و مراحل قبلی را دوباره انجام دهید تا مشکل حل شود. Q را بزنید تا خارج شوید.
سرویس را فعال کنید تا به طور خودکار پس از ریستارت شدن سیستم شما، شروع به کار کند.
$ sudo systemctl enable nimbus
Beacon-chain شروع به همگام سازی میکند. ممکن است چند ساعت طول بکشد تا نود کاملا همگام شود. میتوانید این پروسه را با اجرای دستور Journal ببینید. Ctrl+C را بزنید تا خارج شوید.
$ sudo journalctl -f -u nimbus.service
خروجی journal باید شبیه تصویر زیر باشد.
برای تشخیص فاصله بین Current و Head میتوانید epoch را با epoch فعلی از طریق سایت beaconcha.in مقایسه کنید.
برای مثال، خروجی journal بالا نشان میدهد که نود در حال پردازش epoch: 36 است و در اسکرین شات زیر، میتوانید ببینید که آخری epoch ۸۸۵۶ است. بنابراین برای تکمیل همگام سازی، مقداری کار داریم.
حالا زنجیره بیکن شما به عنوان یک سرویس اجرا میشود.
نکته: زمانی که نود بیکن به طور کامل همگام سازی شد، ولیدیتور (ها) به طور اتوماتیک شروع به تایید اسناد میکنند.
شما میتوانید وضعیت ولیدیتور (ها) خود را از طریق beaconcha.in بررسی کنید. برای این کار، کلید عمومی ولیدیتور خود را با استفاده از آدرس کیف پول متامسک خود سرچ کنید. ممکن است مقداری طول بکشد تا کلید عمومی شما بر روی سایت قرار گیرد.
اکنون ما عملکرد زنجیره بیکن و ولیدیتور (ها) را داریم.
گام ۱۰: نصب پرومتيوس
پرومتیوس یک ابزار مانیتورینگ و هشداردهی سیستمهای متن باز است. پرومتیوس به عنوان یک سرویس بر روی سرور اوبونتوی شما اجرا میشود و کارش این است که metricها را جذب کند.
ما از پرومتیوس استفاده میکنیم تا دیتاهای runtime را از beacon-chain و ولیدیتور را نشان دهد.
ساخت اکانت کاربری
اکانتها برای اجرا به صورت پس زمینه هستند. این اکانتها نمیتوانند در سرور لاگین شوند.
$ sudo useradd –no-create-home –shell /bin/false prometheus
$ sudo useradd –no-create-home –shell /bin/false node_exporter
ساخت دایرکتوریها
دایرکتوریهای برنامه و دیتاها:
$ sudo mkdir /etc/prometheus
$ sudo mkdir /var/lib/Prometheus
مالکیت دایرکتوری را تعیین کنید. اکانت prometheus این کار را انجام میدهد.
$ sudo chown -R prometheus:prometheus /etc/prometheus
$ sudo chown -R prometheus:prometheus /var/lib/Prometheus
دانلود نرم افزار پرومتیوس
شماره ورژن را بر روی آخرین ورژن از داخل Prometheus download page تنظیم کنید. کاربران Rpi باید مطمئن شوند که باینری ARM را گرفتهاند.
$ cd ~
$ curl -LO https://github.com/prometheus/prometheus/releases/download/v2.20.1/prometheus-2.20.1.linux-amd64.tar.gz
آرشیو را unpack کنید. این فایل شامل دو باینری و تعدادی فایل محتوایی است.
$ tar xvf prometheus-2.20.1.linux-amd64.tar.gz
باینریها را در این محلها کپی کنید:
$ sudo cp prometheus-2.20.1.linux-amd64/prometheus /usr/local/bin/
$ sudo cp prometheus-2.20.1.linux-amd64/promtool /usr/local/bin/
مالکیت دایرکتوری را تعیین کنید. اکانت پرومتیوس این کار را انجام میدهد.
$ sudo chown -R prometheus:prometheus /usr/local/bin/prometheus
$ sudo chown -R prometheus:prometheus /usr/local/bin/promtool
فایلهای محتوایی داخل آرشیو را در این محلها کپی کنید:
$ sudo cp -r prometheus-2.20.1.linux-amd64/consoles /etc/prometheus
$ sudo cp -r prometheus-2.20.1.linux-amd64/console_libraries /etc/Prometheus
مالکیت دایرکتوری و فایل را تعیین کنید. اکانت پرومتیوس این کار را انجام میدهد.
$ sudo chown -R prometheus:prometheus /etc/prometheus/consoles
$ sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
آرشیو دانلود شده را دیلیت کنید.
$ rm -rf prometheus-2.20.1.linux-amd64.tar.gz prometheus-2.20.1.linux-amd64
ادیت فایل پیکربندی شده
پرومتیوس از یک فایل پیکربندی استفاده میکند. بنابراین متوجه میشود که از کجا باید دیتا را پیدا کند. فایل کانفیگ YAML را برای ادیت کردن باز کنید.
$ sudo nano /etc/prometheus/prometheus.yml
این تنظیمات را در داخل فایل کپی کنید و مراقب باشید که هیچ ادیت اضافهای روی آنها انجام ندهید. سپس فایل را سیو کنید و خارج شوید.
global:
scrape_interval: 15s
evaluation_interval: 15s scrape_configs:
– job_name: ‘nimbus’
static_configs:
– targets: [‘localhost:8008’]
– job_name: ‘node_exporter’
static_configs:
– targets: [‘localhost:9100’]
scrape_configs هدف خروجی را برای وظایف مختلف تعریف میکند. node_exporter برای metricهایی است که به سرور خودش مرتبط هستند (مثل حافظه، CPU، دیسک، شبکه و غیره). در اینجا node_exporter را نصب و پیکربندی میکنیم.
مالکیت را برای فایل کانفیگ تعیین کنید. اکانت پرومتیوس مالک آن خواهد بود.
$ sudo chown -R prometheus:prometheus /etc/prometheus/prometheus.yml
در انتها، سرویس را تست کنید و ببینید به درستی کار میکند یا خیر.
$ sudo -u prometheus /usr/local/bin/prometheus \
–config.file /etc/prometheus/prometheus.yml \
–storage.tsdb.path /var/lib/prometheus/ \
–web.console.templates=/etc/prometheus/consoles \
–web.console.libraries=/etc/prometheus/console_libraries
خروجی باید شبیه تصویر زیر باشد. Ctrl+C را بزنید تا خارج شوید.
تعیین پرومتیوس برای شروع خودکار به عنوان یک سرویس
یک فایل سرویس systemd بسازید تا کانفیگ سرویسی را ذخیره کند که به systemd میگوید که پرومتیوس را به عنوان کاربر پرومتیوس اجرا کند. این فایل را به همراه فایل configuration که در محل /etc/prometheus/prometheus.yml قرار دارد را به فایل اول انتقال دهید تا دیتاهای خود را در دایرکتوری /var/lib/Prometheus ذخیره کند.
$ sudo nano /etc/systemd/system/prometheus.service
این تنظیمات را در داخل فایل کپی کنید. سیو کنید و خارج شوید.
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target[Service]
Type=simple
User=prometheus
Group=prometheus
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/prometheus \
–config.file /etc/prometheus/prometheus.yml \
–storage.tsdb.path /var/lib/prometheus/ \
–web.console.templates=/etc/prometheus/consoles \
–web.console.libraries=/etc/prometheus/console_libraries[Install]
WantedBy=multi-user.target
Systemd را ریلود کنید تا تغییرات را مشاهده کنید.
$ sudo systemctl daemon-reload
سپس سرویس را با استفده از دستورات زیر اجرا کنید و وضعیت را بررسی کنید تا مطمئن شوید به درستی کار میکند.
$ sudo systemctl start prometheus
$ sudo systemctl status Prometheus
خروجی باید شبیه به تصویر زیر باشد.
اگر همه چیز را درست انجام داده باشید، نوشته سبز رنگی به معنای فعال (Running) خواهید دید. اگر غیر از این باشد، باید برگردید و گامهای قبلی را دوباره انجام دهید تا این مشکل برطرف شود. Q را بزنید تا خارج شوید.
در آخر پرومتیوس را فعال کنید تا به طور خودکار پس از ریستارت شدن سیستم شما، شروع به کار کند.
$ sudo systemctl enable Prometheus
گام ۱۱: نصب Exporter نود
پرومتیوس metricهایی درباره زنجیره بیکن و ولیدیتورها ارائه میدهد. اگر ما metricهایی درباره اوبونتوی خود میخواهیم، نیاز به یک افزونه به نام Node_Exporter خواهیم داشت. میتوانید آخرین ورژن استیبل آن را در اینجا پیدا کنید. اگر میخواهید یک ورژن خاصی را مشخص کنید، در دستور زیر آن را وارد کنید. کاربران RPI باید باینری ARM را نیز دریافت کنند.
$ cd ~
$ curl -LO https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
نرم افزار دانلود شده را Unpack کنید.
$ tar xvf node_exporter-1.0.1.linux-amd64.tar.gz
باینری را در دایرکتوری /usr/local/bin کپی کنید و مالکیت کاربر و گروه را یوزر node_exporter که در بالا ساختیم، تعیین کنید.
$ sudo cp node_exporter-1.0.1.linux-amd64/node_exporter /usr/local/bin
$ sudo chown -R node_exporter:node_exporter /usr/local/bin/node_exporter
آرشیو دانلود شده را دیلیت کنید.
$ rm -rf node_exporter-1.0.1.linux-amd64.tar.gz node_exporter-1.0.1.linux-amd64
تعیین Node Exporter برای شروع خودکار به عنوان یک سرویس
یک فایل سرویس systemd بسازید تا سرویس کانفیگی را ذخیره کند که به systemd میگوید Node_Exporter را به عنوان یوزر Node_Exporter اجرا کند.
$ sudo nano /etc/systemd/system/node_exporter.service
این تنظیمات را داخل فایل کپی کنید. سیو کنید و خارج شوید.
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter[Install]
WantedBy=multi-user.target
Systemd را ریلود کنید تا تغییرات را نشان دهد.
$ sudo systemctl daemon-reload
سپس سرویس را با استفاده از دستورات زیر اجرا کنید و وضعیت را چک کنید تا مطمئن شوید به درستی کار میکند.
$ sudo systemctl start node_exporter
$ sudo systemctl status node_exporter
خروجی باید شبیه تصویر زیر باشد.
اگر همه چیز را درست انجام داده باشید، نوشته سبز رنگی به معنای فعال (Running) خواهید دید. اگر غیر از این باشد، باید برگردید و گامهای قبلی را دوباره انجام دهید تا این مشکل برطرف شود. Q را بزنید تا خارج شوید.
در آخر Node Exporter را فعال کنید تا به طور خودکار پس از ریستارت شدن سیستم شما، شروع به کار کند.
$ sudo systemctl enable node_exporter
تست پرومتیوس و Node Exporter (اختیاری)
همه چیز باید برای ادامه آماده باشد. شما میتوانید به طور اختیاری عملکرد را از طریق باز کردن یک پورت در فایروال (گام ۱) و سرچ کردن http://<yourserverip>:9090 چک کنید. از آنجا، شما میتوانید کوئریها را اجرا کنید تا metricهای مختلف را ببینید. برای مثال، این کوئری را امتحان کنید تا ببینید چند بایت حافظه آزاد دارید.
http://<yourserverip>:9090/new/graph?g0.expr=node_memory_MemFree_bytes&g0.tab=1&g0.stacked=0&g0.range_input=1h
گام ۱۲: نصب Grafana
در حالی که پرومتیوس منبع دیتای ماست، Grafana قابلیت گزارش داشبورد ما را ارائه میدهد. آن را نصب میکنیم و یک داشبورد را پیکربندی میکنیم.
Grafana را با استفاده از یک مخزن APT نصب میکنیم؛ چون نصب و آپدیت آن راحتتر است. Grafana در مخزن پکیجهای رسمی اوبونتو موجود است. البته ممکن است ورژن آن آخری نباشد، پس ما از مخزن رسمی Grafana استفاده میکنیم.
کلید GPG Grafana را از طریق wget دانلود میکنیم. سپس خروجی را به apt-key انتقال میدهیم. این کار، کلید را به لیست کلیدهای مورد اعتماد نصب APT اضافه میکند.
$ wget -q -O – https://packages.grafana.com/gpg.key | sudo apt-key add –
مخزن Grafana را به منابع APT اضافه کنید.
$ sudo add-apt-repository “deb https://packages.grafana.com/oss/deb stable main”
کش Apt را ریفرش کنید.
$ sudo apt update
مطمئن شوید که Grafana از طریق مخزن نصب شده باشد.
$ apt-cache policy grafana
خروجی باید شبیه تصویر زیر باشد.
ورژن را چک کنید که مطابق آخرین ورژن در اینجا باشد. سپس نصب را ادامه دهید.
$ sudo apt install grafana
سرور Grafana را اجرا کنید و وضعیت را بررسی کنید تا مطمئن شوید به درستی کار میکند.
$ sudo systemctl start grafana-server
$ sudo systemctl status grafana-server
خروجی باید شبیه تصویر زیر باشد.
اگر همه چیز را درست انجام داده باشید، نوشته سبز رنگی به معنای فعال (Running) خواهید دید. اگر غیر از این باشد، باید برگردید و گامهای قبلی را دوباره انجام دهید تا این مشکل برطرف شود. Q را بزنید تا خارج شوید.
Grafana را فعال کنید تا به طور خودکار پس از ریستارت شدن سیستم شما، شروع به کار کند.
$ sudo systemctl enable grafana-server
پیکربندی لاگین Grafana
تبریک میگوییم! حالا همه چیز را آماده و اجرا کردهاید. میتوانید به http://<yourserverip>:3000/ بروید و صفحه لاگین Grafana را ببینید.
برای یوزرنیم و پسورد admin را وارد کنید. به شما گفته میشود که یوزرنیم و پسورد خود را تغییر دهید. حتما این کار را انجام دهید.
پیکربندی منبع دیتای Grafana
بیایید یک منبع دیتا را پیکربندی کنیم. موس خود را بر روی آیکون چرخ دنده در سمت چپ منو حرکت دهید تا منو باز شود. Data Sources را انتخاب کنید.
بر روی Add Data Source کلیک کنید و Prometheus را انتخاب کنید. در بخش URL، http://localhost:9090 را وارد کنید. سپس بر روی Save and Test کلیک کنید.
Import یک داشبورد Grafana
حالا بیایید یک داشبورد را Import کنیم. موس خود را بر روی آیکون + در سمت چپ صفحه حرکت دهید تا منو باز شود. Import را انتخاب کنید.
فایل JSON را از اینجا paste کنید. (فایل را از قسمت Raw کپی کنید). سپس روی Load و بعد Import کلیک کنید. شما باید داشبورد را ببینید.
نکته: این یک داشبورد ابتدایی است. تیم بر روی نمایش دادن metricهای بیشتر کار میکند (مثل تعداد ولیدیتورها، تعداد امضاها به ازای هر ولیدیتور، پروپوزالها به ازای هر ولیدیتور، موجودی هر ولیدیتور وغیره). داشبورد رسمی زنده در اینجا قرار دارد.
Alertها در تلگرام و Discord موجود هستند. برای دستورالعملها اینجا کلیک کنید.
Appendix – آپدیت کردن نیمبوس
اگر نیاز به آپدیت کدها دارید یا میخواهید آنها را در مخزن Git تغییر دهید، این مراحل را طی کنید تا آخرین فایلها را دریافت کنید و باینریهای خود را بسازید:
$ cd ~
$ cd nim-beacon-chain
$ git checkout devel
$ git pull
$ make update
$ make NIMFLAGS=”-d:insecure” beacon_node
سپس ما سرویس beacon chain را متوقف میکنیم و باینریها را در دایرکتوری /usr/local/bin کپی میکنیم و سپس سرویس را دوباره اجرا میکنیم.
$ sudo systemctl stop nimbus
$ sudo cp /$HOME/nim-beacon-chain/build/beacon_node /usr/local/bin
$ sudo systemctl start nimbus
$ sudo systemctl status nimbus # <– Check for errors
$ sudo journalctl -f -u nimbus.service # <– Monitor
تمام شد! سرویسهای شما آپدیت شد.
نتیجه گیری
فاز صفر اتریوم ۲.۰ در نیمه سال ۲۰۲۰ هنوز اجرایی نشده است. این اقدام به طور کامل جایگزین اتریوم ۱.۰ نخواهد شد اما با فعال شدن استیکینگ میتوانید شروع به انجام این کار کنید. به لطف استخرهای ماینینگ و سایر اعضای اکوسیستم اتریوم، گزینههای استیکینگ مختلفی برای همگی وجود خواهد داشت و فرقی نمیکند که کاربران چه مقدار سرمایه و وقت در اختیار داشته باشند.
اتریوم ۲.۰ یک پروژه چند ساله است و حتی اگر اکثر اهداف و وظایف فعلی اتریوم ۱.۰ را در اختیار بگیرد، باز هم به طور کامل جایگزین آن نخواهد شد. اما در آخر، استیکینگ جایگزین الگوریتم اجماع گواه اثبات کار خواهد شد. در این خصوص دریک گفته است: ماینینگ در نقطه ای به پایان خواهد رسید. احتمالا دیگر از اتریوم ۱.۰ پشتیبانی نخواهد شد مگر آنکه مورد پسند جامعه واقع شود.
آخرین به روز رسانی: ۱۳۹۹/۰۶/۲۶