فول نود بیت کوین (Full Node) چیست؟ + آموزش نصب و اجرا (قسمت دوم)
فهرست مطالب
مقدمه
در بخش اول آموزش اجرای فول نود، به تشریح مفهوم فول نود بیت کوین، نحوه نصب بیت کوین کور و اجرای آن در سیستم عاملهای ویندوز، لینوکس و مک پرداختیم. در این بخش، تنظیمات اختیاری، پیکربندی شبکه و نکاتی جهت بهینهسازی عملکرد فول نود بیت کوین را توضیح خواهیم داد. توصیه میشود قبل از مطالعه این بخش، بخش اول را مطالعه فرمایید.
عملیاتهای اختیاری برای فول نود بیت کوین
تایید امضاهای انتشار (Verify the release signatures)
در صورتی که میتوانید از PGP استفاده کنید، در صفحه دانلود بیت کوین کور، روی لینک Verify Release Signatures کلیک کنید. لیستی از هشهای فایل SHA256 در این لینک موجودند. نسخههای 0.11 به بعد با شناسه زیر تایید میشوند و توسط کلید انتشار Wladimir J. van der Laan امضا شدهاند.
01EA 5486 DE18 A882 D4C2 6845 90C8 019E 36C2 E964
کد نسخههای قبلی به شرح زیر است و با کلید معمولی Wladimir J. van der Laan امضا شدهاند.
71A3 B167 3540 5025 D447 E8F2 7481 0B01 2346 C9A6
کد نسخههای قدیمیتر که با کلید Gavin Andresen تایید شده بودند نیز به شرح زیر است:
2664 6D99 CBAE C9B8 1982 EF60 29D9 EE6B 1FC7 30C1
شما باید مالکیت کلیدها را تایید کنید؛ که میتواند با شبکه اعتماد (web of trust) یا روشهای دیگر صورت بگیرد. حالا با استفاده از PGP امضاهای روی فایلها را تایید کنید و نهایتا با ابزاررهایی مثل PGP، هش SHA256 دانلود شده را محاسبه نمایید. این هشها باید با هشی که در فایلها موجود است یکسان باشند.
شروع به کار خودکار نود در نسخه گرافیکی (هنگام شروع به کار سیستم عامل)
شما میتوانید هر بار که کامپیوتر را روشن میکنید، بهصورت خودکار فول نود بیت کوین خود را اجرا کنید. برای این کار باید تنظیمات Bitcoin Core GUI را به حالتی دربیاورید که هنگام ورود شما، شروع به کار کند.
لذا بیت کوین کور گرافیکی را اجرا کنید و به بخش تنظیمات (setting) بروید. در بخش options و تب Main، تیک گزینه Start Bitcoin on system login را بزنید و OK را انتخاب کنید. با انجام این تغییرات، هربار کامپیوتر را روشن کنید بیت کوین کور اجرا میشود و آیکون آن در نوار پایین صفحه نمایش داده خواهد شد.
شروع به کار خودکار نود در نسخه حرفهای (هنگام شروع به کار سیستم عامل)
ویندوز:
فایل اکسپلورر را باز کرده و به آدرس زیر بروید.
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
باید در این قسمت یک نوت ایجاد کنید، پس بعد از راست کلیک کردن، New و گزینه Text file را انتخاب کنید. نام فایل متنی ایجاد شده را start_bitcoind.bat گذاشته و به آن وارد شوید.
C:\Program Files\Bitcoin\daemon\bitcoind
اگر در مسیر پیشفرض برنامه را ذخیره کرده بودید، آدرس بالا را در فایل خود کپی کنید. این فایل را ذخیره کنید تا با هربار روشن شدن کامپیوتر، فول نود بیت کوین شما شروع به کار کند.
لینوکس:
بهترین راه این است که بیت کوین کور deamon را در crontab اجرا کنید. برای ویرایش آن میتوانید دستور زیر را بهکار گیرید.
crontab -e
به بخش آخر فایلی که نمایش داده میشود بروید و دستور زیر را در آن کپی کنید.
@reboot bitcoind –daemon
با ذخیره این فایل و نصب crontab بهروزرسانیشده، هربار که سیستم شما شروع به کار مجدد کند، این نسخه از بیت کوین کور نیز آغاز به اجرا میکند.
مک:
برای انجام این کار در سیستم عامل مک، یکی از آسانترین روشها اجرای LaunchAgent است. با دستور زیر میتوانید این کار را انجام دهید:
mkdir ~/Library/LaunchAgents
curl https://raw.githubusercontent.com/ bitcoin/bitcoin/master/contrib/init/ org.bitcoin.bitcoind.plist > ~/Library/LaunchAgents/ org.bitcoin.bitcoind.plist
بهروز رسانی بیت کوین کور
ابتدا نسخه قبلی که استفاده میکردید را بهطور کامل ببندید. حالا اگر از ویندوز استفاده میکنید، برنامه نصب نسخه جدید را اجرا کنید. در سیستم عامل لینوکس، فایلهای جدید را در آدرس زیر، به جای فایلهای قبلی جایگزین کنید:
bitcoind/bitcoin-qt
در مک نیز، برنامه را در آدرس زیر کپی کنید:
/Applications/Bitcoin-Qt
اگر فایلها بسیار قدیمی باشند، ممکن است نتوانید آنها را بهروز رسانی کنید و مجبور شوید که تمام بلاکچین را از ابتدا مجددا دانلود کنید؛ در غیر اینصورت، بلاکچین و کیف پول شما به سادگی قابل استفاده هستند و نیازی به دانلود مجدد نیست. تنظیمات مربوط به پسوند اطلاعات نیز در نسخههای جدید بهصورت خودکار انجام میشود.
پیشنهاد میشود که حتما تغییرات نسخههای جدید را پیش از نصب مطالعه کنید؛ زیرا ممکن است با توجه به نسخه فعلی شما، نیاز به دانلود مجدد بلاکچین وجود داشته باشد و یا دیگر امکان برگشت به نسخههای قبلی وجود نداشته باشد.
تنظیمات پیکربندی شبکه برای فول نود بیت کوین
در صورتی که قصد راهاندازی چیزی روی شبکه را دارید و کاربرد فول نود برای شما، از کیف پول فراتر است، نیاز به اجازه کار دادن به اتصالات ورودی دارید. در هنگام اجرا شدن بیت کوین کور، 8 اتصال خروجی بین شما و فول نودهای دیگر ایجاد شده و آخرین نسخه بلاکچین دریافت میگردد. اگر میخواهید کلاینتهای سبک و فول نودهای دیگر شبکه را اجرا کنید، نیاز به کانکشنهای ورودی نیز دارید؛ اما اگر تنها بهعنوان کیف پول از فول نود بیت کوین خود استفاده کنید، همان 8 کانکشن کافی هستند.
اگر سرور شما اتصال مستقیم به اینترنت دارد، میتوانید با راههایی که ذکر خواهیم کرد مطمئن شوید که سرور شما اتصالات ورودی را میپذیرد و نیازی به تنظیمات خاص نخواهید داشت.
اگر اتصال اینترنت شما از نوع خانگی است و با مودم یا روتر کنترل میشود، ممکن است اجازه عملکرد روی پورت 8333 بیت کوین، به بیت کوین کور داده نشود. در این حالت باید این دسترسی را به صورت دستی ایجاد کنید و فایروال خود را جوری تنظیم کنید که مانع این اتصال نگردد.
تست کردن اتصالها (کانکشنها) در فول نود بیت کوین
برای تست کردن اتصالات ورودی، میتوانید از سایت BitNodes استفاده کنید. ابتدا بلاکچین و نود خود را کاملا سینک کنید. سپس بیت کوین کور را اجرا نموده و پس از گذشت 10 دقیقه، به وبسایت BitNodes بروید. در این بخش باید آدرس IP خود را مشاهده کنید. اگر IP اشتباه بود یا نمایش داده نمیشد، بهصورت دستی IP خود را تایپ نمایید.
بعد از این مرحله، وبسایت به شما اعلام خواهد کرد که پورت شما باز یا بسته است. اگر کادر نمایش داده شده سبز باشد، پورت شما باز است و دیگر نیاز به کاری ندارید، اما اگر قرمز باشد پورت بسته است.
همچنین میتوانید از بیت کوین کور برای متوجه شدن پذیرش کانکشنهای ورودی استفاده کنید، زیرا اگر نود شما بیش از 30 دقیقه آنلاین بماند، کانکشنهای ورودی را مشاهده خواهید کرد.
اطلاعات همتای (Peer) نسخه GUI در فول نود بیت کوین
هنگام اجرای بیت کوین کور گرافیکی، در قسمت راست پایین برنامه چند آیکون نمایش داده میشود. با بردن ماوس روی سیگنال، تعداد کانکشنهای فعال شما نمایش داده میشود. این آیکون تنها زمانی سبز رنگ خواهد شد که شما 8 کانکشن فعال داشته باشید.
میتوانید با مراجعه به منوی Help و انتخاب Debug، در قسمت Network تعداد اتصالات ورودی را مشاهده کنید. اگر این تعداد صفر باشد، دستگاه اجازه اتصالات ورودی را ندارد (نحوه فعال کردن آن را توضیح خواهیم داد)، اما اگر بیشتر باشد اتصالات ورودی برقرار هستند.
اطلاعات همتای (Peer) نسخه Deamon در فول نود بیت کوین
برای مشاهده تعداد کانکشنها در نسخه حرفهای بیت کوین کور، از دستور getconnectioncount استفاده کنید. در صورتی دستگاه شما مجاز به کار است که تعداد این کانکشنهای فعال بیشتر از 8 باشد. مثل حالت زیر:
$ bitcoin-cli getconnectioncount
52
با استفاده از دستور getpeerinfo نیز اطلاعاتی درمورد Peer های متصل، نمایش داده خواهد شد. این اطلاعات یک قسمت inbound یا ورودی دارند که حاوی کلمه true است. اگر تعداد کانکشنها صفر بود، باید اتصالات ورودی را فعال کنید که روش آن را توضیح خواهیم داد. در صورتی میتوانید تایید کنید که کانکشنهای ورودی در دستگاه شما جا هستند، که حداقل یک کانکشن ورودی مشاهده شود.
فعال کردن کانکشن های فول نود بیت کوین
همانطور که گفتیم ممکن است اجازهی دسترسی بیت کوین کور به پورت مورد نیاز از طریق مودم و روتر، داده نشود و شما مجبور به تنظیم دستی شوید. برای فعال کردن کانکشن ورودی باید دو مرحله را پشت سر بگذارید و اگر از فایروال استفاده میکنید، در نهایت یک مرحله اضافه نیز خواهید داشت.
در مرحله اول باید IP خود را از حالت داینامیک به استاتیک تبدیل کنید که این کار با تنظیم یک DHCP یا Dynamic Host Configuration Protocol روی مودم امکانپذیر است.
مرحله دوم، فوروارد کردن کانکشنهای ورودی اینترنت از مودم به سیستم اجرا کننده بیت کوین کور است.
درصورت استفاده از فایروال، در مرحله سوم باید اجازه برقراری کانکشن را صادر کنید تا فایروال مانع آن نشود. معمولا سیستمهای لینوکس و مک فایروال فعالی ندارند و بیشتر کاربران ویندوز به این مرحله نیاز دارند.
تنظیم DHCP روی مودم
همانطور که گفتیم شما باید IP آدرس داینامیک یا متغییری که روتر برای سیستم شما ارائه میکند را به حالت ثابت یا استاتیک دربیاورید تا بتوانید اتصال به پورت 8333 را برقرار نمایید. با تایپ عبارات زیر (بسته به نوع مود خود) در آدرسبار مرورگر، به تنظیمات روتر بروید. اگر این لینکها برای شما کار نکردند باید از دفترچه راهنمای مودم خودتان این عبارت را پیدا کرده و از طریق آن به تنظیمات روتر بروید.
بیشتر مودمهای دی لینک و نت گیر:
http://192.168.1.1
بیشتر مودمهای لینکسایس و سیسکو:
http://192.168.0.1
بیشتر مودمهای بلکین و اسامسی:
http://192.168.123.254
بیشتر مودمهای اپل:
http://10.0.1.1
بعد از وارد کردن آدرس مناسب در آدرس بار، در صفحه باز شده باید نام کاربری و رمز عبور خود را وارد کنید. اگر نام کاربری و رمز عبوری تعیین نکرده بودید باید از اطلاعات پیشفرض استفاده کنید که گاهی برای هردوی نام کاربری و رمز عبور، عبارت admin است.
بعد از ورود شما باید به تنظیمات مربوط به DHCP یا Dynamic Host Configuration Protocol بروید. مثلا یک نمونه از بخش مرتبط با DHCP در تنظیمات یک مودم را در تصویر زیر میبینید.
در تنظیمات بعضی از مودمها، قسمتی به نام DHCP Reservation وجود دارد که تمامی دستگاههای متصل را نمایش میدهد و شما قادر خواهید بود که یک دستگاه را انتخاب کنید و IP آن را به حالت ثابت دربیاورید.
اگر این قابلیت درمورد مودم شما نیز وجود دارد، پس از انتخاب یا افزودن کامپیوتری که بیت کوین کور روی آن قرار دارد، IP فعلی را نیز در جایی یادداشت یا نگهداری کنید.
مودمهای دیگر برای تعیین IP نیاز به تنظیمات دستی دارند و بعضی از آنها به آدرسهای ثابت (مک آدرس) نیاز دارند که بسته به کارت شبکه شما متفاوت خواهد بود. روش پیدا کردن آن در سیستم عاملهای مختلف را توضیح خواهیم داد.
ویندوز 7 و 8:
روی کیبورد، کلیدهای ویندوز و R را فشار دهید. صفحهای برای شما باز خواهد شد که با تایپ عبارت cmd میتوانید آن را پیدا کرده و اجرا کنید. در cmd دستور ipconfig/all را وارد کنید و نوع کانکشن خود را انتخاب کنید. سپس خطی را که عبارت Physical Address در آن وجود دارد پیدا کنید. معمولا چنین ارقامی را در این خط خواهید دید:
Physical Address. . . . . . . . . : 01-23-45-67-89-AB
بهجای خط تیرهها، دو نقطه (:) تایپ کنید. (مثلا عبارت بالا به 01:23:45:67:89:AB تبدیل خواهد شد) عبارت بهدست آمده در مراحل بعدی از تنظیمات فول نود بیت کوین مورد نیاز شما قرار میگیرد.
لینوکس:
در یک ترمینال ipconfig –a را وارد کنید و قسمت مرتبط با اتصال خودتان را انتخاب کنید. معمولا در ابتدای نام اتصالات بیسیم، wlan وجود دارد. قسمت که با HWaddr شروع شود را پیدا کرده و عبارت بعد از آن را کپی کنید. عبارت چیزی مانند 01:23:45:67:89:AB خواهد بود که به آن نیاز داریم.
شما برای تکمیل تنظیمات DHCP به مک آدرس و یک آدرس IP نیاز دارید که میتوانید آن را انتخاب کنید. بعد از انجام تنظیمات گزینه save یا add را انتخاب کنید.
مک:
در یک ترمینال، ipconfig را وارد کنید و وارد قسمت مرتبط با اتصال خود شوید. معمولا عبارت HWaddr در ابتدای نام اتصالات بیسیم قرار دارد. در این بخش، قسمتی که با en1 شروع میشود و سپس بخشی که در ابتدای آن ether: وجود دارد را پیدا کنید. معمولا عبارتی به شکل 01:23:45:67:89:AB خواهید دید که به آن نیاز داریم. شما برای تکمیل تنظیمات DHCP به مک آدرس و یک آدرس IP نیاز دارید که میتوانید آن را انتخاب کنید.
سیستم را یکبار خاموش کرده و سپس روشن کنید تا آدرسهای تعریف شده برای سیستم تثبیت شوند.
فوروارد کردن پورت
اطلاعاتی که در بخش قبل بهدست آوردیم، یعنی آدرس IP لوکال سیستمی که بیت کوین کور را اجرا میکند، در این مرحله نیاز است.
در صفحه تنظیمات مودم، بخشی که دارای کلمه Port باشد (مثل Port Forwarding یا Port Assignment) را پیدا کنید. ممکن است این قسمت را در تنظیمات بخش گیمینگ (در قسمت برنامهها) پیدا کنید.
همانطور که میتوان از تصویر زیر متوجه شد، شما با فوروارد کردن پورت میتوانید یک پورت خارجی را، روی یک پورت داخلی دستگاه دیگری در شبکه تعریف نمایید.
پورتهای داخلی و خارجی برای بیت کوین، باید 8333 باشند و برای تست نت بیت کوین (شبکه تست) پورت 18333 نیز لازم است که در این مطلب به آن نمیپردازیم. بررسی کنید که IP وارد شده، مشابه IP که از قبل نگهداری کرده بودید، باشد. سپس بعد از پر کردن بخشها ستون را ذخیره کنید. حالا فقط کافیست که بیت کوین کور را مجددا اجرا کرده و کانکشن را دوباره تست کنید.
اگر از فایروال استفاده میکنید، همچنان کانکشن شما برقرار نخواهد شد و باید مرحله بعد را نیز دنبال کنید.
تنظیم فایروال
شما باید تنظیماتی را روی سیستم انجام دهید تا فایروال مانع اتصال به پورت 8333 نشود.
اگر از ویندوز استفاده میکنید، به تنظیمات فایروال بروید و یک Rule برای Inbound پورت 8333 (ورودیهای پورت 8333) تعریف کنید.
در اوبونتو بهصورت دیفالت فایروال خاموش است. مک نیز حالت مشابهی دارد اما اگر فایروال شما فعال است از تنظیمات مربوط به آن (که در سایت اپل میتوانید نحوه کار با آن را بیاموزید) تغییرات لازم را ایجاد کنید.
بعد از ایجاد تغییرات و اجازه دسترسی به پورت 8333 برای اتصالات ورودی، میتوانید بیت کوین کور را اجرا کرده و دوباره کانکشنهای خود را به روشی که گفته بودیم تست کنید.
اگر همچنان کانکشن شما دچار مشکل است مراحل را بار دیگر با دقت تکرار کنید تا زمانی که خطای شما اصلاح شود.
بهینهسازی عملکرد فول نود بیت کوین
برای بهینهسازی تنظیمات بیت کوین کور و کارایی بهتر آن میتوانید تنظیمات زیر را ایجاد نمایید.
اگر قصد دارید بیت کوین کور محدودیت یا تنظیمات خاصی برای اجرا داشته باشد، مثلا فقط یک هسته از CPU شما درگیر تایید امضاها شود، به نحو زیر برنامه را باز نمایید:
Bitcoin Core daemon ###
bitcoind -par=1 -daemon
Bitcoin Core GUI ###
bitcoin-qt -par=1
ازطریق مسیر زیر، شما میتوانید تنظیمات مد نظر خود را به تنظیمات بیت کوین کور خودتان اضافه نمایید:
ویندوز: %APPDATA%\Bitcoin\
لینوکس: Linux: $HOME/.bitcoin/
مک او اس اکس: $HOME/Library/Application
اگر میخواهید چیزی را به تنظیمات اضافه کنید، / انتهای آدرس و در صورت لزوم، علائم موجود در پوسته را پاک کنید. (مثلا par- که در بالا به آن اشاره کردیم، به par=1 تبدیل خواهد شد.)
چطور فضای اشغالشده را کاهش دهیم؟
میتوانید نود را بهنحوی مختصر اجرا کنید و فضای کمتری از سیستم شما اشغال گردد؛ بهنحوی که 200 گیگ اشغالشده به 5 گیگ تبدیل شود. البته این کار منجر به غیر فعال شدن RPC در importwallet خواهد شد و با -txindex و -rescan سازگار نخواهد بود. میتوانید از PRCهای importprunedfunds و removeprunedfunds استفاده کنید.
اگر میخواهید حالت سبک را اجرا کنید، باید در فایل bitcoin.conf یا نوار دستور، مقدار prune را در N قرار دهید (N مبیبایتهای مختص undo و بلاکهای خام است).
اگر این مقدار صفر باشد، حالت سبک غیرفعال است و بعد از صفر، حدال مقدار 550 را مشاهده خواهید کرد. این مقادیر به میزان ایمنی والت شما مرتبط نیست، اما بعضا ممکن است مقادیر بالاتر، به دلیل کمک بلاکهای ذخیره شده به سایر نودها، به مجموع عملکرد شبکه بهبود بیشتری ببخشد.
چطور میزان ترافیک مصرفی فول نود بیت کوین را کاهش دهیم؟
بیت کوین کور بهصورت پیشفرض اجازه اتصال 125 کانکشن را میدهد که همانطور که گفته شده 8 کانکشن خروجی هستند. در نتیجه ورودیها میتوانند به 117 عدد برسند.
ممکن است برخی فول نودها میزان ترافیک محدودی در اختیار داشته باشند و تنظیمات پیشفرض، مصرف آنها را بسیار بالا ببرد. در ادامه راهها و تنظیماتی را برای کاهش ترافیک مصرفی معرفی میکنیم.
تنظیم حداکثر میزان آپلود
<maxuploadtarget=<MiB per day-
شما میتوانید با محدود کردن حجم ترافیک زیادی که صرف اطلاعرسانی سوابق شما به سایر نودها، در دانلود اولیه بلاکچین میشود، میزان حجم مصرفی خود را کاهش دهید. با تنظیمات بالا، شما این گزینه را که از قبل به حالت غیرفعال بوده، بهصورت مبیبایت در روز درمیآورید تا محدودهای برای ترافیک خروجی شما تعیین شود. اگر میزان ترافیک خروجی به محدودیت تعیین شده برسد، سوابق بلاکهایی که به قبل از یک هفته اخیر مربوطند به شبکه ارسال نمیشود.
بهصورت کلی نودهای جدید باید این بلاکهای قدیمی را به دیگر نودها ارسال کنند که حداقل تعداد پیشنهادی، 144 بلاک در روز (حداکثر 144 مگابایت در روز) میباشد.
غیرفعال کردن لیسنینگ
با تنظیمات زیر میتوانید کاری کنید که نودهای کمتری به شما وصل شوند و درنتیجه به دلیل گزارش بلاکها و تراکنشهای کمتر، ترافیک مصرفی شما کاهش یابد.
listen=0-
کاهش حداکثر اتصالات
شما میتوانید با تنظیمات زیر، حداکثر کانکشنها را کاهش دهید تا ترافیک مصرفی شما کمتر شود. البته سیستم بدون نیاز به اعتماد (trustless model) بیت کوین، تنها درصورت وجود تعداد کانکشنهای کافی، در وضعیت خوبی کار خواهد کرد.
<maxconnections=<num-
حالت Blocks-only
شما با تنظیمات زیر میتوانید علاوه بر غیرفعال کردن لیسنینگ، فول نود بیت کوین خود را جوری تنظیم کنید که تنها اطلاعات تراکنشهایی که جزو بلاک هستند را درخواست نماید؛ یعنی شما فقط تراکنشهایی را که حداقل یکبار تایید شدهاند را دریافت میکنید. با این کار تنها در زمان نیاز، سیستم سینک خواهد شد و پهنای باند مصرفی کمینه خواهد شد، که روزانه 150 مگابایت ورودی و حدود یک مگابایت خروجی است.
blocksonly-
البته شما میتوانید والت یا همتاهایی را در لیست سفید یا whitelist قرار دهید تا تراکنشهای آنها را در هر صورت مشاهده کنید. برای این کار از پارامتر whitelist استفاده کنید.
سخن پایانی
در مجموع برای استفاده از بیت کوین، نیازی نیست که یک فول نود بیت کوین باشید. اما تبدیل شدن به یک فول نود بیت کوین باعث میشود که علاوه بر کمک به اجرای شبکه، بدون نیاز به اعتماد کردن به یک واسطه، مستقیما به کد بیت کوین متصل شوید، که خصوصا برای صرافیها و سایر کسب و کارهای مرتبط با شبکه بیت کوین، لازم خواهد بود.
دیدگاه خود را ثبت کنید
بیت کوین برام خیلی جالب شده احتیاج به یادگیری بیشتر دارم و امیدوارم یاد گیرم چون دوست دارم بیت کوین استخراج کنم