در این مقاله قصد داریم نحوه اجراسازی یک نود (Node) کامل بیت کوین را آموزش دهیم که طی دو قسمت منتشر شد. در ادامه می توانید بخش دوم را مطالعه کنید.
تنظیمات شبکه
اگر میخواهید از شبکه بیت کوین پشتیبانی کنید باید اتصال های ورودی را امکان پذیر سازید. هنگامی که بیت کوین کور اجرا میشود، ۸ اتصال خروجی به نودهای کامل دیگر برقرار میکند تا بتواند جدیدترین بلاک ها و تراکنش ها را دانلود کند. اگر میخواهید از نود کامل خود فقط به عنوان کیف پول استفاده کنید به بیش از ۸ اتصال نیاز ندارید، اما اگر میخواهید از کلاینت های سبک و سایر نودهای کامل شبکه پشتیبانی کنید، باید به اتصال های ورودی نیز اجازه دسترسی بدهید.
سرورهایی که مستقیما به اینترنت متصل هستند معمولا به تنظیمات خاصی نیاز ندارند. میتوانید از دستورالعمل آزمایشی زیر استفاده کنید تا از پذیرش اتصال های ورودی توسط نود مبتنی بر سرور خود اطمینان حاصل کنید.
اینترنت های خانگی معمولا توسط روتر یا مودم کنترل میشود. بیت کوین کور به روتر درخواست میدهد تا به طور خودکار خود را بر اساس اتصال های ورودی پورت بیت کوین یا همان پورت ۸۳۳۳ تنظیم کند. متاسفانه بسیاری از روترها اجازه تنظیم خودکار را نمیدهند و باید به طور دستی روتر را تنظیم کنید. هم چنین باید فایروال سیستم عامل را طوری تنظیم کنید تا اتصال های ورودی به پورت ۸۳۳۳ را امکان پذیر سازد. لطفاً برای کسب اطلاعات بیشتر به ادامه مقاله توجه کنید.
اتصال های آزمایشی
پروژه بیت نودز (BitNodes) ابزار آنلاینی ارائه میدهد تا آزمایش کنید که آیا نود شما اتصال های ورودی را میپذیرد یا خیر. قبل از استفاده از بیت نودز باید مطمئن شوید که نود شما به طور کامل با بلاک چین همگام سازی شده است. پس از آن، بیت کوین کور را اجرا کنید و ۱۰ دقیقه صبر کنید، سپس به صفحه بیت نودز مراجعه کنید. این ابزار، آدرس IP شما را شناسایی خواهد کرد. اگر آدرس IP اشتباه بود، باید خودتان آدرس IP صحیح را وارد کنید.
پس از کلیک بر روی دکمه بررسی نود (Check Node) بیت نودز به شما اطلاع میدهد که آیا پورت شما آزاد است (سبز) یا خیر (قرمز) اگر دکمه به رنگ سبز درآمد نیازی نیست اقدامی انجام دهید و میتواند اتصال های ورودی را دریافت کنید. اگر دکمه به رنگ قرمز درآمد لطفا بخش فعال کردن اتصال ها در این مقاله را مطالعه کنید.
برای تایید پذیرش اتصال های ورودی میتوانید از بیت کوین کور استفاده کنید. بیت کوین کور نمیتواند مستقیما به شما بگوید که اتصال ورودی را پذیرفتهاید یا خیر، اما این نکته را میتواند بیان کند که در حال حاضر دارای اتصال ورودی هستید یا خیر. اگر نود حداقل ۳۰ دقیقه آنلاین بوده باشد، معمولا باید دارای اتصال های ورودی نیز باشد. اگر میخواهید اطلاعات مربوط به استفاده از بیت کوین کور را بررسی کنید، دستورالعمل زیر را مطالعه کنید.
اطلاعات مربوط به استفاده از GUI بیت کوین کور
در قسمت پایین سمت راست GUI بیت کوین کور چندین آیکون وجود دارد. اگر بر روی آیکون قدرت سیگنال قرار بگیرید به شما میگوید که چند اتصال برقرار کرده اید. این آیکون تا زمانی که ۸ اتصال فعال نداشته باشید به رنگ سبز در نمیآید. ۸ اتصال فعال نیز مستلزم پذیرفتن اتصال های ورودی است.
برای تایید این موضوع میتوانید به منوی Help بروید و گزینه پنجره عیب یابی (Debug Window) را انتخاب و تب اطلاعات را باز کنید. در بخش شبکه (Network) دقیقا به شما گفته میشود که چند اتصال ورودی دارید. اگر این مقدار بیشتر از صفر است پس اتصال های ورودی امکان پذیر است.
اگر اتصال ورودی ندارید لطفاً دستورالعمل های فعال کردن اتصال های ورودی را مطالعه کنید.
اطلاعات مربوط به استفاده از Daemon
دستور getconnectioncount به شما میگوید که چند اتصال دارید. اگر بیش از ۸ اتصال داشته باشید، پس اتصال های ورودی فعال میباشند. به مثال زیر توجه کنید:
$ bitcoin-cli getconnectioncount
52
برای تایید این موضوع میتوانید از دستور getpeerinfo برای دریافت اطلاعات تمام اتصال ها استفاده کنید. اگر اتصال ورودی داشته باشید پس دریافت اتصال های ورودی فعال است.
اگر اتصال ورودی ندارید لطفاً دستورالعمل های فعال کردن اتصال های ورودی را مطالعه کنید.
فعال کردن اتصال ها
اگر بیت کوین کور نتواند روتر را برای باز کردن پورت ۸۳۳۳ تنظیم کنید باید روتر را به طور دستی تنظیم کنید. دستورالعمل زیر برای اکثر روترها مناسب است.
فعال کردن اتصال های ورودی دو مرحله دارد، به علاوه یک مرحله اضافی برای تنظیم فایروال.
۱.با تنظیم پروتکل تنظیم هاست دینامیک (DHCP) بر روی روتر خود، به رایانه یک آدرس IP داخلی استاتیک بدهید.
۲.اتصال های ورودی از اینترنت و از طریق روتر به رایانه شما وارد میشود تا بیت کوین کور بتواند آنها را پردازش کند.
۳.فایروال سیستم عامل خود را طوری تنظیم کنید تا اتصال های ورودی امکان پذیر شود. این مرحله اساسا برای کاربران سیستم عامل ویندوز است، زیرا سیستم عامل های مک و لینوکس عمدتا به طور پیش فرض دارای فایروال فعال نمیباشند.
تنظیم DHCP
به منظور اینکه روتر شما، اتصال های پورت ورودی ۸۳۳۳ را به رایانه شما هدایت کند، باید آدرس IP داخلی رایانه را بداند. هرچند معمولا روترها به رایانه ها، آدرس IP های دینامیکی میدهند که مرتب تغییر میکند، بنابراین باید مطمئن شوید که روتر به رایانه، آدرس IP های داخلی مشابه میدهد.
تنظیم DHCP را با ورود به رابط کاربری مدیریت روتر شروع میکنیم. اکثر روترها را میتوان با استفاده از یکی از آدرس URL های زیر تنظیم کرد.
برای روترهای لینکسیس و سیسکو: http://192.168.0.1
برای روترهای دی لینک و نتگیر: http://192.168.1.1
برای روترهای SMC و بلکین: http://192.168.2.1
برای روترهای یو است روبوتیکز: http://192.168.123.254
برای روترهای اپل: http://10.0.1.1
پس از اتصال به روتر، صفحه ای نشان داده خواهد شد که از شما نام کاربری و رمز عبور میخواهد. اگر رمز عبور مشخص کرده اید آن را وارد کنید. در غیر این صورت رمز عبور و نام کاربری پیش فرض را وارد کنید.
پس از ورود، در منوهای روتر به دنبال گزینه مربوط به DHCP باشید. این گزینه ها ممکن است به اسم رزرو آدرس (Address Reservation) نیز باشند. برای مثال صفحه روتر زیر این گزینه را با اسم DHCP Reservation ارائه میدهد.
در تنظیمات رزرو، بعضی از روترها فهرستی از رایانه ها و دستگاه هایی که در حال حاضر به شبکه شما متصل هستند را نشان خواهد داد، و سپس به شما امکان میدهد یکی از دستگاهها را انتخاب کنید تا آدرس IP فعلی آن را به صورت دائمی قرار دهد:
در این حالت، اسم رایانه ای که بیت کوین کور را اجرا میکند در فهرست پیدا کنید و آن را به فهرست آدرس های رزرو اضافه کنید. آدرس IP فعلی آن را یادداشت کنید. از این آدرس در بخش بعدی استفاده میکنیم.
سایر روترها به تنظیمات بیشتری نیاز دارند. در این روترها باید به دنبال آدرس ثابت (مک آدرس) کارت شبکه رایانه باشید و آن را به فهرست اضافه کنید. این عملیات در سیستم های مختلف فرق میکند.
ویندوز ۷ و ۸: کلیدهای ویندوز و R بر روی صفحه کلید را همزمان فشار دهید تا پنجره Run باز شود، cmd را تایپ کنید تا کنسول فرمان باز شود. سپس ipconfig /all را تایپ و بهترین نتیجه مطابق با اتصال خود را پیدا کنید. به دنبال خطی باشید که با عبارت Physical Address شروع میشود و مشابه با نمونه زیر است:
Physical Address. . . . . . . . . : 01-23-45-67-89-AB
تمام خط تیره ها را با ویرگول جایگزین کنید تا آدرس به شکل زیر تبدیل شود: 01:23:45:67:89:AB. از این آدرس در دستورالعمل های بعدی استفاده کنید.
لینوکس: ترمینالی باز کنید و ipconfig را تایپ کنید. نتیجه ای که بیشترین مطابقت با اتصال شما دارد را پیدا کنید. نتایجی که با wlan شروع میشوند بیانگر اتصال های وایرلس میباشند. فیلدی که با HWaddr شروع میشود را پیدا و مقدار این فیلد که به صورت 01:23:45:67:89:ab میباشد را کپی کنید. از این مقدار در دستورالعمل های بعدی استفاده میشود.
سیستم عامل مک: ترمینالی باز کنید و ipconfig را تایپ کنید. نتیجه ای که بیشترین مطابقت با اتصال شما دارد را پیدا کنید. نتایجی که با en1 شروع میشوند بیانگر اتصال های وایرلس میباشند. فیلدی که با :ether شروع میشود را پیدا و مقدار این فیلد که به صورت 01:23:45:67:89:ab. میباشد را کپی کنید. از این مقدار در دستورالعمل های بعدی استفاده میشود.
پس از به دست آوردن مک آدرس، میتوانید طبق شکل زیر، آن را به جدول DHCP روتر وارد کنید. هم چنین یک آدرس IP انتخاب کنید و آن را برای استفاده در دستورالعمل های بعدی یادداشت کنید. پس از وارد کردن این اطلاعات، دکمه Add یا Save را کلیک کنید.
سپس رایانه را ریستارت کنید تا از قرارگیری آدرس مورد نظر خود مطمئن شوید و سپس به بخش دستورالعمل های فوروارد کردن پورت برسید.
فوروارد کردن پورت
در این مرحله، باید آدرس IP محلی رایانه اجرا کننده بیت کوین کور را بدانید. این اطلاعات را باید از بخش جدول تنظیمات DHCP داشته باشید.
طبق مراحل گفته شده در بخش های قبلی وارد روتر شوید. به دنبال گزینه ای به اسم Port Forwarding یا Port Assignment یا گزینه ای که دارای کلمه Port باشد بگردید. در اکثر روترها، این گزینه در منوی برنامه ها و بازی ها (Applications & Gaming) است.
تنظیمات Port Forwarding به شما امکان میدهد تا پورت خارجی را بر روی روتر خود به پورت داخلی دستگاه بر روی شبکه تغییر دهید.
پورت داخلی و پورت خارجی برای بیت کوین باید ۸۳۳۳ باشند. اطمینان حاصل کنید آدرس IP که وارد میکنید همان آدرس IP باشد که در بخش قبل تنظیم کرده بودید.
پس از پر کردن جزییات مپینگ، ورودی را ذخیره کنید. در این مرحله نیازی به ریستارت نمیباشد. بیت کوین کور را اجرا کنید و دستورالعمل اتصال آزمایشی را برای آزمایش اتصال خود دنبال کنید.
اگر هم چنان نمیتوانید متصل شوید و از فایروال نیز استفاده میکنید، باید تنظیمات فایروال را تغییر دهید. برای انجام این کار بخش بعدی را مطالعه کنید.
در غیر این صورت احتمالا مشکل از تنظیمات روتر است. دستورالعمل های فوق را مجددا مطالعه کنید، در اینترنت برای دریافت کمک در خصوص Port Forwarding جستجو کنید و از سایت هایی نظیر SuperUser کمک بگیرید.
ما نمیتوانیم مستقیما شما را راهنمایی کنیم اما اگر روشی برای بهبود این دستورالعمل ها مشاهده کردید آن را با ما در میان بگذارید.
تنظیمات فایروال
فایروال اتصال های ورودی را مسدود میکند. برای استفاده از بیت کوین، باید فایروال رایانه خود را طوری تنظیم کنید که اتصال به پورت ۸۳۳۳ را امکان پذیر سازد. این امر به سادگی اجرای نرم افزار تنظیمات فایروال و اعمال قانون جدید برای امکان پذیر ساختن اتصال ورودی به پورت ۸۳۳۳ میباشد.
پس از آنکه اجازه دسترسی اتصال های ورودی به پورت ۸۳۳۳ را دادید، بیت کوین کور را اجرا کنید و دستورالعمل های اتصال آزمایشی را برای آزمایش کردن اتصال خود دنبال کنید.
اگر باز به مشکلی برخوردید، دستورالعمل های DHCP، Port Forwarding و فایروال را مجدد مطالعه کنید تا مطمئن شوید چیزی را جا نیانداخته باشید. در اینترنت برای دریافت کمک در خصوص Port Forwarding و باز کردن پورت های فایروال جستجو کنید و از سایت هایی نظیر SuperUser کمک بگیرید.
همگام سازی تنظیمات
این بخش شامل توصیه هایی درباره نحوه تغییر تنظیمات بیت کوین کور مطابق با نیازهای شما میباشد.
دو روش برای تغییر تنظیمات وجود دارد. روش اول اجرای بیت کوین کور با گزینه ها مدنظر شما میباشد. برای مثال اگر میخواهید بیت کوین کور را محدود به استفاده از یک هسته CPU برای تایید امضاها کنید میتوانید بیت کوین کور را به صورت زیر اجرا کنید:
### Bitcoin Core daemon
bitcoind -par=1 -daemon
### Bitcoin Core GUI
bitcoin-qt -par=1
پس از انتخاب گزینه مورد نظر خود میتوانید آن را به فایل تنظیمات بیت کوین کور اضافه کنید. فایل تنظیمات در مسیر زیر میباشد:
ویندوز:
%APPDATA%\Bitcoin\
مک:
$HOME/Library/Application Support/Bitcoin/
لینوکس:
$HOME/.bitcoin/
برای افزودن گزینه مورد نظر به فایل تنظیمات فقط کافی است خط تیره ابتدای آن را حذف کنید. هم چنین باید تمام علامت های نقل قول را نیز حذف کنید. برای مثال paroption- در فایل تنظیمات به شکل زیر میباشد:
par=1
کاهش فضای مورد نیاز برای ذخیره سازی
امکان تنظیم نود برای اجرای در حالت سبک به منظور کاهش فضای مورد نیاز ذخیره سازی نیز وجود دارد. این حالت میتواند فضای مورد نیاز برای ذخیره سازی بلاک چین را از ۲۰۰ گیگابایت به ۵ گیگابایت کاهش دهد.
اجرای نود در حالت سبک مطابق با txindex- و rescan- نمیباشد. این حالت هم چنین ایمپورت کیف پول RPC را غیرفعال میکند. این دو RPC موجود به نام های importprunedfunds و removeprunedfunds بسیار مفید میباشند.
برای سبک کردن بلاک، مقدار prune=N را در خط فرمان یا Bitcoin.conf تنظیم کنید. در اینجا N برابر است با تعداد MiB اختصاص یافته به بلاک خام.
مقدار صفر، سبک کردن را غیرفعال میکند. حداقل مقدار بیش از صفر، ۵۵۰ میباشد. کیف پول با مقادیر زیاد یا کم به یک اندازه ایمن میباشد. مقادیر زیاد فقط تضمین میکند که نود بعد از ساماندهی پس از دو روز خاموش نمیشود. در نسخه های آینده، مقادیر زیاد به کل شبکه کمک میکند زیرا بلاک های ذخیره شده میتوانند در اختیار سایر نودها قرار گیرند.
کاهش استفاده از اینترنت
بعضی از اپراتور نودها باید با سقف حجم دانلود که از جانب ISP ها اعمال میشود سروکار داشته باشند.
بیت کوین کور به طور پیش فرض تا ۱۲۵ اتصال با نودهای دیگر را امکان پذیر میسازد که از این تعداد، ۸ اتصال خروجی و ۱۱۷ اتصال ورودی میباشد.
تنظیمات پیش فرض میتواند منجر به استفاده قابل توجهی از اینترنت شود.
روش های کاهش استفاده از اینترنت عبارتند از:
تعیین حداکثر مقدار آپلود
-maxuploadtarget=<MiB per day>
بخش زیادی از استفاده از اینترنت به دلیل ارائه بلاک های قبلی به سایر نودها در مرحله دانلود اولیه بلاک ها میباشد (مرحله همگام سازی با نود جدید) این گزینه را میتوان به صورت مگابایت در روز تعیین کرد و به صورت پیش فرض نیز غیرفعال است. هنگامی که نود به سقف تعیین شده استفاده از اینترنت نزدیک شود، آپلود اطلاعات قطع میشود. به خاطر داشته باشید که نودهای جدید به سایر نودهایی نیاز دارند که به ارائهی بلاک های قدیمی تمایل دارند. حداقل مقدار پیشنهادی، ۱۴۴ بلاک در روز است.
غیرفعال کردن لیسنینگ
-listen=0
غیرفعال کردن لیسنینگ منجر به ارتباط داشتن نودهای کمتری میشود. ارتباط نودهای کمتر نیز منجر به استفاده کمتر از اینترنت در فرآیند ارائه بلاک ها و تراکنش ها به سایر نودها میشود.
کاهش حداکثر تعداد اتصال ها
-maxconnections=<num>
کاهش حداکثر نودهای متصل به کمترین مقدار ممکن میتواند اقدام مناسبی برای کاهش استفاده از اینترنت باشد. به خاطر داشته باشید که مدل بدون نیاز به اعتماد بیت کوین زمانی عملکرد بهتری خواهد داشت که به نودهای بیشتری متصل باشد.
حالت صرفا ارائه بلاک ها (Block-only mode)
-blocksonly
این حالت باعث توقف ارائه درخواست برای تراکنش ها میشود مگر آنکه بخشی از بلاک باشند، هم چنین لیسنینگ را نیز غیرفعال میکند.
این حالت پهنای باند و استفاده از اینترنت را به کمترین مقدار مورد نیاز برای همگام بودن با شبکه کاهش میدهد که شامل ۱۵۰ مگابایت اطلاعات ورودی و یک مگابایت اطلاعات خروجی در روز میشود. اما بدان معنا است که نود شما تا زمانی که حداقل یک تایید دریافت نکند، متوجه تراکنش های ورودی نمیشود.
در این حالت هم چنان از کیف پول یا از نودهایی که با استفاده از پارامتر whitelist- در فهرست مجاز قرار داده اید میتوانید تراکنش ارسال کنید.