اجرای یک گره Geth: Go-Ethereum در شبکه اتریوم
شما تصمیم میگیرید که دیگر به یک نقطه پایانی Infura برای ترافیک کیف پول خود اعتماد نکنید. شاید دوستی پیشنهاد داده باشد که شما را در نحوه سپردهگذاری ۳۲ اتریوم راهنمایی کند. شاید برنامه غیرمتمرکز شما در روز راهاندازی، تنها یک گام تا شکستن محدودیت نرخ فاصله داشته باشد. دلیلش هرچه که باشد، جمله بعدی همیشه یکسان است: شما باید یک گره Geth را اجرا کنید.
این جمله از آنچه هست سنگینتر به نظر میرسد. گث، مخفف go-ethereum، کلاینت اصلی اجرای اتریوم است که در سال ۲۰۱۴ توسط جفری ویلک و یک تیم متنباز جهانی با زبان برنامهنویسی Go نوشته شده است. یک لپتاپ مدرن با یک SSD جادار میتواند آن را اجرا کند. یک جعبه هتزنر با قیمت ۳۰ دلار در ماه نیز میتواند. قطعاتی که افراد را به اشتباه میاندازند، دستورات نصب نیستند. بلکه انتخابهای اطراف آنها هستند: کدام حالت همگامسازی را انتخاب کنند، کدام کلاینت اجماع را با گث جفت کنند، بعد از ادغام چه اتفاقی میافتد، چگونه گره را وقتی دیسک ساعت ۲ بامداد پر میشود، زنده نگه دارند.
این راهنما مسیر کامل را طی میکند. خرید سختافزار، نصب، همگامسازی اسنپ، جفتسازی پس از ادغام با یک کلاینت اجماع، کنسول جاوا اسکریپت، حسابها و Clef، راهاندازی اعتبارسنج، خرابیهای رایج. در پایان، دقیقاً خواهید دانست که وقتی آن گزارشهای سفید از کنارتان میگذرند، دستگاه شما چه کاری انجام میدهد و وقتی متوقف میشوند چه باید کرد.
گره گث چیست و چرا امروزه اهمیت دارد؟
یک گره Geth کامپیوتری است که کلاینت go-ethereum را اجرا میکند و به شبکه همتا به همتای اتریوم متصل است. این دستگاه بلوکها را دانلود میکند. هر تراکنش را تأیید میکند. قراردادهای هوشمند را روی ماشین مجازی اتریوم اجرا میکند. یک کپی هماهنگ از وضعیت جهان را نگه میدارد. از بیرون، مانند یک فرآیند آرام به نظر میرسد که به چند پورت گوش میدهد. در داخل، یک حسابدار سرسخت است که از پذیرفتن حرف هیچ کس دیگری به عنوان دفتر کل خودداری میکند. این گره کپی خود را از دادههای بلاکچین نگه میدارد، به کیف پول شما اجازه میدهد موجودی حساب را بررسی کند یا تراکنشها را به زنجیره ارسال کند و به برنامه غیرمتمرکز شما اجازه میدهد مستقیماً با بلاکچین تعامل داشته باشد، نه از طریق API شخص دیگری.
چرا این موارد در سال ۲۰۲۶ اهمیت دارند؟ تمرکز. بیشتر ترافیک برنامههای غیرمتمرکز عمومی در اتریوم از طریق تعداد کمی از ارائهدهندگان RPC میزبانیشده - Infura، Alchemy، QuickNode و چند فروشگاه کوچکتر - جریان دارد. Infura به تنهایی سال گذشته به بیش از ۶۰۰ میلیارد درخواست بلاکچین پاسخ داد. آنها عمدتاً قابل اعتماد هستند. آنها همچنین یک نقطه شکست واحد هستند: وقتی یک ارائهدهنده در یک منطقه از کار میافتد، نیمی از کیف پولهای اشارهشده در آن نقطه پایانی، موجودیهای قدیمی و تراکنشهای گیر کرده را نشان میدهند تا زمانی که کسی آن را برطرف کند. گره Geth خود را اجرا کنید و آن دسته از شکستها دیگر مشکل شما نخواهند بود.
همچنین این یک بازی اعداد است. ردیاب گره Etherscan تقریباً ۱۳۶۷۸ گره فعال اتریوم را در سراسر جهان تا آوریل ۲۰۲۶ شمارش میکند. ایالات متحده ۳۷.۵۵٪ از آنها را در اختیار دارد - حدود ۵۱۷۱ گره. آلمان ۱۶.۰۵٪. چین ۱۲.۰۶٪. راهاندازی یک گره دیگر کار قهرمانانهای نیست. فقط مفید است و شبکه بیسروصدا روی افرادی که این کار را انجام میدهند حساب میکند.
دلیل عمیقتری هم وجود دارد. اتریوم، اتریوم باقی میماند زیرا هر کسی میتواند بدون درخواست اجازه، آن را تأیید کند. گث محبوبترین کلاینتی است که این تأیید را انجام میدهد. هر بار که یک اپراتور مستقل دیگر، یک گره جدید گث را آنلاین میکند، تصاحب زنجیره یک درجه سختتر میشود. این منطق قبل از ادغام وجود داشته و از آن زمان تاکنون تضعیف نشده است.

گث، گو اتریوم و پروتکل اتریوم
سه نام، یک پروژه. مردم در گفتگوها آنها را با هم قاطی میکنند و هیچ چیز از بین نمیرود، اما تفکیک اصلی به این صورت است.
پروتکل اتریوم کد نیست. این یک مشخصات است که در کاغذ زرد و انبوهی از EIPها نوشته شده است و هر کسی میتواند برای آن یک کلاینت بنویسد. Go Ethereum که گاهی اوقات go-ethereum نوشته میشود، پیادهسازی Go-language از پروتکل اتریوم است. Geth برنامه خط فرمان درون Go Ethereum است که شما آن را در خط فرمان اجرا میکنید، با پرچمها پیکربندی میکنید و برای تعامل با شبکه اتریوم از آن استفاده میکنید. هر چیز دیگری در مخزن، کتابخانهها و کمککنندههایی است که در اطراف آن پیچیده شدهاند. یک "گره Geth" فقط دستگاهی است که شما Geth را در آن شروع کردهاید، آن را به دایرکتوری `chaindata` ارجاع دادهاید و اجازه دادهاید که با شبکه اصلی اتریوم ارتباط برقرار کند.
کلاینتهای مختلفی برای یک پروتکل وجود دارند. Nethermind، در C#. Besu، در جاوا. Erigon و Reth، هر دو در Rust. فرمت wire یکسان. کد متفاوت، عملکرد متفاوت، تاریخچههای متفاوت.
گِث (Geth) قدیمیترین آنهاست. بیش از ۴۰۰ نفر در آن مشارکت داشتهاند؛ پِتِر سیلاگی (Péter Szilágyi) سالهاست که روی آن کار میکند. خانه، بنیاد اتریوم است؛ منبع در ethereum/go-ethereum در گیتهاب قرار دارد؛ مجوز، مجوز عمومی عمومی گنو (GNU General Public License)، GPL-3.0 برای فایلهای باینری و LGPL-3.0 برای کد کتابخانه است. نسخه پایدار فعلی، در زمان نوشتن این مطلب، نسخه ۱.۱۷.۲ - با نام رمز "EMF Suppressor" - است که در ۳۰ مارس ۲۰۲۶ منتشر شده است. این نسخه سه آسیبپذیری CVE (CVE-2026-26313، -26314، -26315) را وصله کرده و به کلاینت آموزش داده است که چگونه با زنجیرههایی که تاریخچه قبل از پراگ آنها هرس شده است، همگامسازی کند.
تعدادی ابزار خواهرخوانده در کنار Geth ارائه میشوند. Clef یک امضاکننده جداگانه است که کلیدهای خصوصی شما را از خود گره دور نگه میدارد. Abigen یک ABI سالیدیتی را به اتصالات Go تبدیل میکند که واقعاً میتوانید از آنها استفاده کنید. ابزار `evm` به شما امکان میدهد وقتی نیاز به اشکالزدایی چیزی خاص دارید، بایتکد را به صورت جداگانه اجرا کنید. هیچکدام لازم نیست. در عرض یک هفته حداقل به یکی از آنها دسترسی خواهید داشت.
چرا یک نود اجرا کنیم: حریم خصوصی، سرعت، حاکمیت
بیشتر افرادی که گره Geth خود را اجرا میکنند، به یکی از سه دلیل زیر به آنجا میروند. اولویت با حریم خصوصی. وقتی یک کیف پول با یک RPC میزبانیشده ارتباط برقرار میکند، آن ارائهدهنده هر آدرس، هر فراخوانی قرارداد و هر درخواست قیمت را میبیند. یک گره خودمیزبان این ارتباط را قطع میکند. ارائهدهنده وجود ندارد. کیف پول شما از دستگاه شما سوال میکند، دستگاه شما از شبکه سوال میکند و فقط دستگاه شما الگو را میبیند.
عملکرد دلیل دوم است. RPC های میزبانی شده کاهش مییابند. سقف سطح رایگان Infura 100000 درخواست در روز است؛ سطح Team 225 دلار در ماه برای 75 میلیون درخواست روزانه هزینه دارد. یک گره محلی ترافیک شما را با سرعت حافظه و بدون هزینه هر تماس ارائه میدهد. برای یک dApp که در هر بار بارگذاری صفحه، وضعیت را دریافت میکند، تفاوت تأخیر قابل توجه است. برای یک ربات آربیتراژ که ممپول را اسکن میکند، تفاوت بین انجام معامله و تماشای عبور آن است. خود Mainnet حدود 200.4 میلیون تراکنش را در سه ماهه اول 2026 پردازش کرد و در 16 ژانویه به اوج خود یعنی 2.88 میلیون تراکنش رسید، بنابراین گرهای که بتواند با شبکه همگام باشد، کار واقعی انجام میدهد.
حاکمیت سومین مورد است. اگر در اتریوم سهام گذاری کنید، شبکه انتظار دارد که اعتبارسنج شما وقتی نوبتش فرا میرسد، یک بلوک منتشر کند. برونسپاری این انتشار به یک RPC مشترک از نظر فنی مجاز و از نظر عملیاتی شکننده است. کلاینت لایه اجرایی خود را اجرا کنید و اسلات خود را کنترل خواهید کرد. همین امر در مورد سازندگان جدی برنامههای غیرمتمرکز (dApp)، تحلیلگران درون زنجیرهای، جستجوگران MEV و هر کسی که تجارتش به اتریوم وابسته است و به طور خاص در دسترس آنها قرار دارد، نیز صدق میکند.
پس از ادغام: گث و کلاینت اجماع شما
قبل از سپتامبر ۲۰۲۲، یک فرآیند Geth همه کارها را انجام میداد. این فرآیند با شبکه تعامل داشت. EVM را اجرا میکرد. از طریق استخراج اثبات کار، یک برنده را از بین بلوکهای رقیب انتخاب میکرد. ادغام، آن کار را به دو نیم تقسیم کرد. Geth هنوز EVM را اجرا میکند و وضعیت را نگه میدارد. یک برنامه دوم - کلاینت اجماع - اکنون اثبات سهام را مدیریت میکند: تبادل نظر در مورد بلوکها بین اعتبارسنجها، رأیگیری در مورد آنچه مهم است و گفتن به Geth که کدام فورک متعارف است.
بنابراین هر پیکربندی مدرن Geth یک جفت است، نه یک فرآیند واحد. یک کلاینت اجماع را برای اجرا در کنار آن انتخاب کنید. گزینههای موجود عبارتند از Lighthouse (Rust)، Prysm (Go)، Teku (Java)، Nimbus (Nim) و Lodestar (TypeScript). این دو فرآیند از طریق یک کانال خصوصی به نام Engine API با یکدیگر ارتباط برقرار میکنند که توسط یک JWT secret که یک بار تولید میکنید و با `--authrpc.jwtsecret` به هر دو طرف ارسال میکنید، محدود شده است.
اگر Geth را به تنهایی و بدون کلاینت اجماع شروع کنید، گزارشها چیزی شبیه به این خواهند نوشت: «شبکه پس از ادغام، اما هیچ کلاینت بیکنی مشاهده نشد. لطفاً یکی را برای دنبال کردن زنجیره راهاندازی کنید!» گره همانجا، مؤدب و بیفایده، باقی میماند. Geth به خودی خود دیگر یک گره کامل اتریوم نیست. جفت، واحد است.
تنوع کلاینت در اینجا اهمیت دارد. جامعه اتریوم از اپراتورها میخواهد که در پیادهسازیهای هر دو طرف تقسیمبندی، فعالیت خود را گسترش دهند، زیرا اگر بیش از دو سوم اعتبارسنجها در نهایت به یک کلاینت دارای باگ متصل شوند، آن اعتبارسنجها در صورت بروز مشکل، با جریمه کامل ۳۲ اتریوم مواجه میشوند. آخرین آمار از clientdiversity.org نشان میدهد که Geth در سال ۲۰۲۶ حدود ۴۱٪ از کلاینتهای اجرایی را تشکیل میدهد؛ گزارش Stake.fish در سال ۲۰۲۶ این رقم را نزدیک به ۵۰٪ اعلام میکند. در هر صورت، این رقم نسبت به بیش از ۸۶٪ در سال ۲۰۲۳ کاهش یافته است، اما هنوز بالاتر از آستانه ایمنی ۳۳٪ است که جامعه آن را ایدهآل میداند. به همین دلیل است که برخی از اپراتورهای جدید عمداً Nethermind، Besu یا Reth را انتخاب میکنند - حتی اگر Geth گام اول آسانتری باشد.
پکترا، ارتقاء پراگ + الکترا که در ۷ می ۲۰۲۵ فعال شد، همچنین فعالیتهای روزمره یک اپراتور را تغییر داد. EIP-7251 حداکثر موجودی مؤثر هر اعتبارسنج را از ۳۲ اتر به ۲۰۴۸ اتر افزایش داد. یک اپراتور استیکینگ که قبلاً ۱۰۰۰ اعتبارسنج را مدیریت میکرد، اکنون میتواند آنها را در ۱۶ اعتبارسنج بزرگ تجمیع کند. EIP-6110 زمان انتظار بین واریز و فعال شدن را از تقریباً ۱۲ ساعت به حدود ۱۳ دقیقه کاهش داد. EIP-7002 به اعتبارسنجها این امکان را داد که خودشان برداشت را فعال کنند، به جای اینکه از امضاکننده اصلی سپرده التماس کنند که این کار را انجام دهد. اجرای یک پشته اعتبارسنج جفتشده با گث در سال ۲۰۲۶ از نظر مادی سادهتر از سال ۲۰۲۴ است.
سختافزار: پردازنده، رم و SSD برای گرههای Geth
صادقانه بگویم، انتظارات از سختافزار در سال ۲۰۲۶ بالاتر از آن چیزی است که اسناد رسمی میگویند. برای سه سال آینده برنامهریزی کنید، نه سه سال گذشته.
| کامپوننت | اسناد رسمی گث (۲۰۲۳، هنوز هم موجود است) | واقعیت در سطح اپراتور (سرورهای چری، چیناستک، ۲۰۲۶) | گره بایگانی (مبتنی بر مسیر، نسخه ۱.۱۶+) |
|---|---|---|---|
| پردازنده | چهار هستهای | پردازنده مدرن ۸ هستهای / ۱۶ رشتهای AMD یا Intel | ۸+ هسته، تک رشتهای با کارایی بالا |
| رم | ۱۶ گیگابایت | حداقل ۳۲ گیگابایت، ۶۴ گیگابایت روانتر | ۶۴ گیگابایت یا بیشتر |
| ذخیرهسازی | ۲ ترابایت حافظه SSD | ۴ تا ۸ ترابایت حافظه SSD از نوع NVMe | ۴ ترابایت NVMe (مبتنی بر مسیر، حدود ۲ ترابایت استفاده شده) |
| شبکه | ۲۵ مگابیت بر ثانیه | ۳۰۰ تا ۵۰۰ مگابیت بر ثانیه برای RPC کامل | ۳۰۰+ مگابیت بر ثانیه |
| قدرت | یو پی اس توصیه میشود | یو پی اس اکیداً توصیه میشود | یو پی اس مورد نیاز |
فضای ذخیرهسازی، عاملی است که اپراتورهای جدید را شگفتزده میکند. یک گره کامل Geth که با اسنپ سینک و هرس شده است، امروزه حدود ۶۵۰ گیگابایت فضا اشغال میکند. اسناد خود Geth میگویند که حدود ۱۴ گیگابایت در هفته اضافه میشود. یک کلاینت اجماع اضافه کنید. چند ماه فضای رشد اضافه کنید. هر ترافیک L2 RPC که قصد ارائه آن را دارید اضافه کنید. شما به سرعت بین ۴ تا ۸ ترابایت NVMe دریافت میکنید.
نکتهای در مورد نوع دیسک. SSDهای SATA از نظر فنی کار میکنند. آنها همچنین همگامسازیها را متوقف میکنند و گواهیها را زیر بار از دست میدهند. NVMe در سال ۲۰۲۶ اختیاری نیست. دیسکهای چرخشی سالهاست که قابل استفاده نیستند. اگر ارائهدهنده شما فقط SATA را در سطح ارزان ارائه میدهد، هزینه بیشتری بپردازید. محاسبات بیرحمانه است: یک دیسک SATA گیر کرده برای شما هزینه دارد که در هر دوره پاداشهای اعتبارسنجی را از دست دادهاید.
رم دام شماره دو است. صفحه رسمی سختافزار Geth که آخرین بار در سال ۲۰۲۳ به آن اشاره شده، هنوز ۱۶ گیگابایت را نشان میدهد. تا سال ۲۰۲۶، Cherry Servers، Chainstack و bacloud همگی به ۳۲ گیگابایت به عنوان فضای کاری رسیدهاند و ۶۴ گیگابایت به عنوان پاسخ راحتتر. Geth بخش بزرگی از حافظه را در حافظه پنهان میکند. کلاینت اجماع سهم خود را میخواهد. اگر Prometheus، Grafana یا هر چیز دیگری را که واقعاً استفاده میکنید اضافه کنید، ۱۶ گیگابایت به سرعت تمام میشود.
پردازنده (CPU) از بین این سه مورد، سادهترین است. تراشههای دسکتاپ مدرن، فضای بیشتری نسبت به آنچه گث میداند با آن چه کار کند، دارند. سرعت کلاک به سختی مطرح است. تعداد هسته و دستورالعملهای مدرن اهمیت بیشتری دارند. AVX2 تأیید امضا را سریع نگه میدارد. هشت هسته مانع از قفل شدن دستگاه شما توسط موج همگامسازی میشود. با نگاهی به آینده، محدودیت سوخت بلاک از اواسط سال ۲۰۲۴ تا نوامبر ۲۰۲۵ از ۳۰ میلیون به ۴۵ میلیون و سپس به ۶۰ میلیون افزایش یافته است. بنیاد اتریوم تا سال ۲۰۲۶، بیش از ۱۰۰ میلیون تراکنش را گزارش کرده است. این منحنیای است که شما در حال اندازهگیری آن هستید، نه بار سال گذشته.
حالتهای همگامسازی گث برای بلاکچین اتریوم
حالت همگامسازی بزرگترین دکمهای است که یک اپراتور تازهکار Geth میچرخاند. اگر اشتباه انتخاب کنید، یک هفته را صرف دانلود دادههایی میکنید که واقعاً به آنها نیازی ندارید.
| حالت | چه چیزی را ذخیره میکند | دیسک در سال ۲۰۲۶ | زمان همگامسازی | مورد استفاده |
|---|---|---|---|---|
| اسنپ (پیشفرض) | وضعیت اخیر + رسیدهای اخیر | حدود ۶۵۰ گیگابایت، +۱۴ گیگابایت در هفته | ۱ تا ۳ روز (در NVMe سریعتر است) | برنامههای غیرمتمرکز (dApps)، کیف پولها، اعتبارسنجها |
| کامل | وضعیت اخیر + هر هدر برگشتی به پیدایش | حدود ۱ ترابایت | ۳ تا ۵ روز | تأیید هر بلوک از پیدایش |
| بایگانی (مبتنی بر مسیر، نسخه ۱.۱۶+) | وضعیت تاریخی از طریق دیفرانسیلهای معکوس | ۱.۹ تا ۲.۰ ترابایت | ۱ تا ۲ هفته | بیشتر موارد استفاده از بایگانی |
| بایگانی (مبتنی بر هش قدیمی) | هر وضعیت تاریخی، هر دستاوردی، هر تلاشی | ۱۲ تا ۲۰ ترابایت | ۴ تا ۸ هفته | شاخصگذاران دیفای به eth_getProof نیاز دارند |
اسنپ پیشفرض است و تقریباً همیشه انتخاب درستی است. این برنامه یک اسنپشات از وضعیت اخیر از همتایان میگیرد، سپس بیسروصدا هدرها و رسیدهای پشت آن را پر میکند. شما میتوانید در عرض چند روز یک گره Geth فعال با سختافزار مناسب دریافت کنید. این برنامه به خوبی به کیف پولها، برنامههای غیرمتمرکز و اعتبارسنجها خدمات ارائه میدهد. تنها کاری که نمیتواند انجام دهد پاسخ به سوالات تاریخی مانند «موجودی ویتالیک در 7 اکتبر 2017 چقدر بود؟» است. اگر به این موضوع اهمیتی نمیدهید، دیگر نیازی به فکر کردن به حالت همگامسازی ندارید.
همگامسازی کامل هنوز هم ارائه میشود. اکثر مردم به آن نیازی ندارند. حالت کامل، هر بلوک را به بلوک پیدایش برمیگرداند و هر تراکنش را دوباره اجرا میکند، بنابراین کلاینت میتواند به جای اعتماد به اسنپشات، بلاکچین را از ابتدا تا انتها تأیید کند. اگر در مورد اسنپ بدبین هستید یا اگر در حال بارگذاری یک بایگانی تاریخچه هرس شده هستید، مفید است. برای عملیات عادی مفید نیست.
بایگانی، سنگینترین حالت است و سال ۲۰۲۵ زمانی است که گرههای بایگانی تغییر میکنند. تا زمان انتشار نسخه ۱.۱۶، یک گره بایگانی به معنای ۱۲ تا ۲۰ ترابایت SSD سریع بود - اساساً یک سرور کوچک. نسخه ۱.۱۶ یک حالت بایگانی مبتنی بر مسیر ارائه داد که وضعیت تاریخی را به عنوان تفاوتهای معکوس ذخیره میکند و نیاز به دیسک را در شبکه اصلی به تقریباً ۱.۹ تا ۲.۰ ترابایت کاهش میدهد. این امر ردپای گث را به اریگون (حدود ۱.۷۷ ترابایت) نزدیک میکند. در ابتدا، معامله این بود که بایگانی مبتنی بر مسیر از اثباتهای مرکل تاریخی (`eth_getProof` در بلوکهای قدیمی) پشتیبانی نمیکرد. شاخصگذارهای DeFi و سایر حجمهای کاری سنگین اثبات هنوز به بایگانی مبتنی بر هش قدیمی نیاز داشتند. نسخه ۱.۱۷.۰، در فوریه ۲۰۲۶، پشتیبانی اثبات را به حالت مبتنی بر مسیر در برخی پیکربندیها اضافه کرد - برای نسخه دقیق خود، یادداشتهای انتشار را بررسی کنید. اپراتورهای معمولی بایگانی، کاوشگران بلوک، تیمهای پزشکی قانونی و فروشگاههای تحلیلی جدی هستند. اکثر افرادی که این راهنما را میخوانند، هرگز به آن نیاز نخواهند داشت.
یک پاورقی. حالت کلاینت سبک، پرچم قدیمی `--syncmode "light"`، منسوخ شده است و دیگر در شبکه اصلی پشتیبانی نمیشود. اگر یک آموزش مربوط به سال ۲۰۲۶ به شما میگوید که Geth را در حالت سبک اجرا کنید، آن آموزش قدیمی است.

نصب Geth روی اوبونتو، macOS و ویندوز
مرحله نصب کوتاه است. پلتفرمی را انتخاب کنید که واقعاً قصد دارید روی آن اجرا کنید، نه پلتفرمی که روی لپتاپتان است.
لینوکس / اوبونتو (محرک)
بیشتر نودهای گثِ در حال تولید روی اوبونتو هستند. تیم اتریوم یک PPA را نگهداری میکند و سه دستور از طریق مدیر بسته اوبونتو، یک فایل باینریِ فعال را برای شما فراهم میکند:
```
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
نصب اتریوم با دستور sudo apt-get
```
برای تأیید، دستور `geth version` را اجرا کنید. PPA آخرین نسخه پایدار را ردیابی میکند. در محیط عملیاتی، معمولاً یک نسخه شناختهشده و خوب را با چیزی شبیه به `apt-get install ethereum=1.17.2-...` پین میکنید و ارتقا را با برنامهای آرامتر از `هر زمان که apt احساس کند،` انجام میدهید.
macOS (مناسب برای توسعهدهندگان)
در macOS، Homebrew این کار را انجام میدهد. دو خط:
```
اتریوم/اتریوم دم کنید
نصب اتریوم
```
مکها برای آزمایشهای شبکه آزمایشی و توسعه برنامههای غیرمتمرکز عالی هستند. با این حال، تقریباً هیچکس اعتبارسنج شبکه اصلی را روی مک اجرا نمیکند. مدیریت مصرف برق بیش از حد تهاجمی است و macOS با کمال میل گره بیکن شما را در لحظه نامناسب به حالت خواب میبرد.
ویندوز
فایلهای نصبی با پسوند `.exe` و فایلهای فشرده با پسوند `.zip` در geth.ethereum.org و صفحه انتشارهای گیتهاب پروژه وجود دارد. روی فایل نصبی کلیک کنید، اجازه دهید PATH شما را ویرایش کند، سپس یک خط فرمان یا پاورشل باز کنید و `geth version` را اجرا کنید. باید جواب بدهد.
ویندوز سرور میتواند میزبان یک گره Geth مستقل و کاملاً خوب باشد. پشتههای اعتبارسنج معمولاً به لینوکس متمایل هستند زیرا کلاینتهای اجماع ابتدا لینوکس را ارائه میدهند، اما در صورت تمایل میتوانید آنها را با هم ترکیب و تطبیق دهید. بقیه این راهنما دستورات آن را به سبک پوسته لینوکس مینویسد. ترجمه به PowerShell عمدتاً مربوط به جداکنندههای مسیر و روشی متفاوت برای انجام ادامه خطوط است.
داکر
دستور `docker pull ethereum/client-go:stable` یک کانتینر تمیز برای شما فراهم میکند. داکر تاکنون سادهترین راه برای آزمایش نسخه جدید Geth بدون ایجاد مشکل در هاست شما بوده است. همچنین اگر تیم شما از قبل به شکل کانتینر باشد، این یک استقرار قابل احترام در محیط عملیاتی است. یک نکته: ولوم داکر که `chaindata` را در خود جای داده است، باید روی NVMe باشد. قرار دادن آن روی یک ولوم EBS معمولی، یک دیتا استور HDD یا یک ولوم دسکتاپ داکر روی مک، هر موضوع "گیر کردن همگامسازی" در ردیت را دوباره تولید میکند.
ساخت از منبع
ساختهای منبع به Go 1.23 یا جدیدتر، به علاوه یک کامپایلر C نیاز دارند. `make geth` فقط گره را میسازد. `make all` مجموعه کامل ابزارها را در اختیار شما قرار میدهد: geth، clef، abigen، evm، devp2p، rlpdump. وقتی میخواهید نسخهای منتشر شود که هنوز بستهبندی نشده است، یا وقتی یک پچ خصوصی دارید که نمیخواهید آن را به عنوان یک انشعاب نگه دارید، به سراغ ساختهای منبع بروید.
اجرای Geth: First Sync و کنسول JSON-RPC
فایل باینری نصب شده، jwt secret ایجاد شده، کلاینت اجماع آماده است. اولین دستور روی یک جعبه شبکه اصلی تقریباً چیزی شبیه به این است:
```
گث \
--شبکه اصلی \
--datadir /var/lib/geth \
--همگامسازی حالت ضربه محکم و ناگهانی \
--http \
--http.addr 127.0.0.1 \
--http.port 8545 \
--http.api eth,net,web3 \
--authrpc.addr 127.0.0.1 \
--authrpc.port 8551 \
--authrpc.jwtsecret /etc/geth/jwt.hex \
--authrpc.vhosts میزبان محلی
```
سه پورت اینجا کار را انجام میدهند. 30303 از طریق TCP و UDP - این خط همتا به همتای شما به بقیه اتریوم است. 8545، درِ HTTP-RPC که کیف پول و اسکریپتهای شما از آن عبور میکنند. 8551، رابط برنامهنویسی کاربردی موتور، که فقط توسط کلاینت اجماع شما قابل دسترسی است و توسط رمز JWT مسدود شده است.
برای بررسی گره در حال اجرا، کنسول Geth را وصل کنید. (این یک کنسول جاوا اسکریپت است که به API های گره چسبیده است.) یک پوسته دوم باز کنید:
```
گث به آدرس http://127.0.0.1:8545 متصل شد
```
حالا هر متد JSON-RPC یک فراخوانی جاوا اسکریپت است. `eth.blockNumber`. `net.peerCount` (تقریباً سی عدد در شبکه اصلی سالم است). `eth.syncing` پس از رسیدن گره به شبکه، مقدار `false` را برمیگرداند. آیا موجودی میخواهید؟ `web3.fromWei(eth.getBalance('0x...'), 'ether')`. کل سطح تعاملی همین است.
سپس فایل لاگ وجود دارد. به آن نگاه کنید. خطی که میخواهید ببینید «بخش زنجیره جدید وارد شده» است. این بدان معناست که Geth با سرعت در حال حرکت است و هر لیست جدید از تراکنشها را از شبکه بلاکچین اتریوم همزمان با ارسال آنها توسط شبکه، حذف میکند. اگر لاگهای شما میگوید «به دنبال همتا» و هیچ چیز دیگری نیست، فایروال P2P ورودی را قطع میکند. 30303 را روی TCP و UDP باز کنید، Geth را مجدداً راهاندازی کنید، دوباره امتحان کنید. این مشکل نه بار از ده بار حل میشود.
برای خودکارسازی، هر کتابخانه اتریوم که ارزش استفاده دارد، JSON-RPC را روی HTTP یا اگر `--ws` را نیز ارسال کنید، روی WebSocket صحبت میکند. ethers.js. web3.js. viem. کلاینت Go. کلاینت پایتون. همه آنها با گره Geth محلی شما دقیقاً مانند Infura رفتار میکنند - آنها را به `http://127.0.0.1:8545` هدایت کنید و متوقف شوید. کد ثابت میماند. تنها چیزی که تغییر کرده این است که چه کسی به تماس پاسخ میدهد.
استفاده از Geth: حسابها، کلید و تراکنشها
گث هنوز هم یک مدیر حساب ارائه میدهد، اما توصیه مدرن این است که با اجرای کلف، امضا را از گره جدا کنید. کلف یک برنامه کوچک و جداگانه است که کلیدهای شما را نگه میدارد و هر بار که کسی سعی میکند از آنها استفاده کند، درخواست تأیید صریح میکند.
ایجاد حساب کاربری از طریق Clef به این شکل است:
```
کلید newaccount --keystore /var/lib/geth/keystore
```
کلف (Clef) یک رمز عبور حداقل ده کاراکتری میخواهد. این برنامه یک فایل کلید رمزگذاری شده مینویسد و یک آدرس به شما میدهد. آن آدرس یک حساب کاربری با مالکیت خارجی (EOA) است - همان چیزی که یک کیف پول سختافزاری یا متامسک (MetaMask) ایجاد میکند. هیچ چیز عجیب و غریبی وجود ندارد.
برای اینکه گث از Clef استفاده کند، گره را به سوکت IPC کلف هدایت کنید: `--signer=/path/to/clef.ipc`. از آن لحظه به بعد، هر درخواست تراکنش، چه از کنسول گث و چه از یک برنامه غیرمتمرکز با استفاده از JSON-RPC API، باید در ترمینال کلف تأیید شود. این مدلی است که تیم گث در سال 2026 توصیه میکند. کلیدها خارج از گره قرار دارند. گره، به خودی خود، نمیتواند حتی یک وی (wei) خرج کند.
انتقال از کنسول به این شکل است:
```
eth.sendTransaction({
from: '0xca57f3b40b42fcce3c37b8d18adbca5260ca72ec',
to: '0xce8dba5e4157c2b284d8853afeeea259344c1653',
value: web3.toWei(0.1, 'ether')
});
```
کلف ظاهر میشود. شما تأیید میکنید. تراکنش وارد ممپول میشود و چند ثانیه بعد در یک بلوک قرار میگیرد. پشت آن خط، گث جستجوی نانس، تخمین کارمزد، انتقال امضا به کلف، پخش و بررسی شمول را انجام داده است. همین حلقه تحت هر برنامه غیرمتمرکز اجرا میشود.
برای کارهای پیچیدهتر، همان نقطه پایانی JSON-RPC، ارسال تراکنشها، اشتراک رویدادها، فراخوانی توابع view و ردیابیها را میپذیرد. از دیدگاه یک کتابخانه، نمونه محلی Geth شما از یک گره میزبان قابل تشخیص نیست - به جز اینکه سریعتر، رایگان در هر فراخوانی و متعلق به شماست.
تنظیمات اعتبارسنج: سهام گذاری اتر و کسب پاداش
وقتی گره Geth شما همگامسازی و با یک کلاینت اجماع جفت شد، اضافه کردن یک اعتبارسنج عمدتاً پیکربندی است. شما یک گره جدید نصب نمیکنید. لایه اجرا (Geth) به کار خود ادامه میدهد. کلاینت اجماع، نقش اعتبارسنج را در بالا بر عهده میگیرد: گواهیها را در هر دوره امضا میکند و وقتی پروتکل اعتبارسنج شما را انتخاب میکند، از Geth میخواهد که محتوای بلوک را جمعآوری کند.
سه بخش متحرک برای آنلاین کردن وجود دارد. اول، واریز ۳۲ اتر است. شما کلیدهای اعتبارسنجی را با رابط خط فرمان رسمی واریز ایجاد میکنید، تراکنش واریز را به قرارداد در شبکه اصلی ارسال میکنید و منتظر فعالسازی هستید. دوم، فرآیند کلاینت اعتبارسنجی است. این فرآیند در کنار گره بیکن اجرا میشود، کلید امضای شما را نگه میدارد و گواهیها را طبق برنامه امضا میکند. سوم، اگر میخواهید علاوه بر پاداش پایه، پاداش سفارش تراکنش نیز دریافت کنید، MEV-Boost یا راهاندازی رله است. خود Geth اعتبارسنج را اجرا نمیکند. کلاینت اجماع این کار را انجام میدهد. Geth نقطه پایانی اجرا است که وقتی جایگاه اعتبارسنج شما پر میشود، بار تراکنش واقعی را میسازد.
اعتبارسنجها هر روز به سه عدد اهمیت میدهند: گواهیهای از دست رفته، زمان همگامسازی و فشار دیسک. گواهیهای از دست رفته تقریباً همیشه به گرهای که پشت سر هد قرار گرفته است برمیگردند، که به نوبه خود تقریباً همیشه به ورودی/خروجی دیسک یا از دست دادن نظیر برمیگردد. فشار دیسک روی Geth مقصر اصلی است. اگر از مشخصات NVMe توصیه شده پایینتر بیایید، اثربخشی گواهی شما کاهش مییابد. پاداشها نیز با آن کاهش مییابند.
بیشتر کسانی که در خانه سهامگذاری میکنند، یک مینیکامپیوتر اختصاصی دارند: یک Intel NUC، یک Beelink یا یک Ryzen سفارشی. قیمت سختافزار چیزی بین ۸۰۰ تا ۲۰۰۰ دلار است. هزینه برق و اینترنت ماهانه ۱۰ تا ۲۰ دلار دیگر به این هزینه اضافه میکند. گزارش Coin Bureau برای سال ۲۰۲۶، هزینه یک اعتبارسنج حرفهای Hetzner را ۳۰ تا ۴۰ دلار در ماه، یک گره کامل AWS را زیر ۱۰۰ دلار و یک گره آرشیو AWS را حدود ۱۵۰۰ دلار در ماه اعلام میکند. سهامگذاری انفرادی حدود ۴٪ سود سالانه (APY) روی پاداش پایه دارد و با MEV-Boost به ۵ تا ۶٪ افزایش مییابد. روی سختافزار خانگی، با قیمت اتر امروز، این مبلغ تقریباً در ۴ تا ۶ ماه به نقطه سربهسر میرسد. در اواخر سال ۲۰۲۵، شبکه حدود ۱.۰۶ میلیون اعتبارسنج فعال داشت که ۳۵ تا ۳۷ میلیون ETH (۲۹ تا ۳۱٪ از عرضه) را در اختیار داشتند. Lido به تنهایی ۲۷.۷٪ از کل سهامگذاری شده را کنترل میکند. Coinbase، ۸.۴٪. هر اعتبارسنج مستقل اضافی، بیسروصدا آن تمرکز را به سمت دیگری متمایل میکند، و به همین دلیل است که هنوز هم مردم سهامگذاری انفرادی انجام میدهند.
تست نت در مقابل مین نت: کجا یک گره اتریوم را اجرا کنیم؟
از شبکه اصلی شروع نکنید. اشتباهات در شبکه آزمایشی ارزان هستند و ارزانتر از رایگان شدن نیستند. گث هر شبکه پشتیبانی شده را با یک پرچم واحد مدیریت میکند.
دو شبکه آزمایشی اتریوم که باید در سال ۲۰۲۶ به آنها اهمیت دهید، Holesky، شبکه آزمایشی متمرکز بر اعتبارسنج و Sepolia، شبکه سبکتر و متمرکز بر کاربرد هستند. آیا یک گره Geth در Sepolia میخواهید؟ `--mainnet` را با `--sepolia` عوض کنید. Holesky؟ `--holesky`. دایرکتوری دادههای شما باید مسیری جداگانه از `chaindata` در شبکه اصلی شما باشد. اگر از همان پوشه دوباره استفاده کنید، Geth از شروع به کار خودداری میکند زیرا شناسه زنجیره مطابقت ندارد - که نوعی پیام خطایی است که رفع آن سی ثانیه و یافتن آن یک ساعت طول میکشد.
اتر شبکه آزمایشی رایگان است. فاستهایی مانند Paradigm Multifaucet و فاست Sepolia در faucet.sepolia.dev به اندازه کافی Sepolia ETH برای استقرار قراردادها، اجرای تستهای ادغام و ارسال چندین هزار تراکنش ارائه میدهند. «اتر» جعلی است. همه چیز دیگر واقعی است: EVM یکسان رفتار میکند، API JSON-RPC یکسان است، اتصال به کلاینت اجماع شما یکسان است، دردسر عملیاتی یکسان است. قبل از اینکه هر چیزی را به شبکه اصلی هدایت کنید، به مدت یک هفته پشته خود را روی Sepolia اجرا کنید.
شبکههای آزمایشی قدیمی از بین رفتهاند. راپستن، رینکبی، کووان، گورلی - همه بازنشسته شدهاند. اگر در یک آموزش هنوز به شما گفته میشود که Geth را با `--ropsten` شروع کنید، این پیشادغام است و باید تب را ببندید.
برای یک محیط واقعاً خصوصی، شبکه خودتان را اجرا کنید. حالت `--dev` در Geth یک زنجیره تک گرهای را در عرض چند ثانیه بوت میکند، که برای تستهای واحد عالی است. برای شبکههای خصوصی چند ماشینی، یک `genesis.json` سفارشی بنویسید، آن را بین دستگاههای مختلف به اشتراک بگذارید و هر فرآیند Geth را با `--datadir` که به یک پوشه جدید chaindata اشاره میکند، شروع کنید. اگر ترجیح میدهید سیمکشی را دستی انجام ندهید، چارچوب Kurtosis همه این موارد را پشت یک دستور بستهبندی میکند.
مشکلات رایج گره Geth و عیبیابی آن
بیشتر اتفاقات Geth در قالب مجموعهای کوچک از الگوها رخ میدهند. معمولاً به محض اینکه شکل را تشخیص دهید، رفع آن سریع است.
همگامسازی روی چند درصد متوقف شد. گره Geth شما آنلاین است اما به آن نمیرسد: تعداد همتاها خیلی کم است، پهنای باند شما اشباع شده است، یا دیسک نمیتواند همگامسازی را ادامه دهد. `net.peerCount` را در کنسول بررسی کنید. اگر کمتر از پانزده باشد، پورت P2P ورودی شما فایروال دارد. 30303 TCP و UDP را باز کنید. اگر سالم است، `iostat -xm 5` را در لینوکس در حین همگامسازی اجرا کنید. اگر SSD به 100٪ بهرهبرداری میرسد، شما محدود به I/O هستید و به فضای ذخیرهسازی سریعتری نیاز دارید. یک نکته خاص نسخه: Geth نسخه 1.17.1 (3 مارس 2026) به طور خاص برای رفع رگرسیون همگامسازی سریع در نسخه 1.17.0 منتشر شد. اگر در آن نسخه گیر کردهاید، ارتقا راهحل است.
«شبکه پس از ادغام، اما هیچ کلاینت بیکنی مشاهده نشد.» کلاینت اجماع در حال اجرا نیست، رمز JWT مطابقت ندارد، یا کلاینت اجماع به پورت AuthRPC اشتباهی اشاره دارد. مسیر JWT، پورت ۸۵۵۱، و اینکه هر دو فرآیند با یک فایل مخفی مشابه شروع شدهاند را بررسی کنید.
دیسک یک شبه پر میشود. اسنپ سینک میتواند در طول فاز اولیهی بهبود وضعیت، استفاده از دیسک را افزایش دهد. هرس کردن (Pruning) پس از آن به طور خودکار اجرا میشود. اگر با یک SSD یک ترابایتی شروع کرده باشید، در نهایت مشکل شما را حل خواهد کرد. راه حل همیشه فضای بیشتر است، نه هرس کردن تهاجمیتر، زیرا هرس Geth از قبل تنظیم شده است. دادههای زنجیرهای (chaindata) را به یک NVMe بزرگتر منتقل کنید و rsync را روی آن انجام دهید.
گث اجرا نمیشود: «پایگاه داده سازگار با این نسخه از گث یافت نشد.» اجرای قبلی روی یک شناسه زنجیره متفاوت، یک نسخه قدیمیتر گث یا یک وضعیت خراب بوده است. پوشه `chaindata` مطابقت ندارد. یا در یک datadir جدید همگامسازی مجدد کنید یا به نسخه قبلی گث برگردید.
اعتبارسنج، گواهیها را از دست میدهد. اگر گره Geth شما هر بلوک جدید را به درستی میخواند اما اعتبارسنج هنوز گواهیها را از دست میدهد، ابتدا فشار دیسک، سپس شبکه و در آخر CPU را بررسی کنید. الگوی ابزارهای نظارتی مانند Netdata غیرقابل انکار است: PSI (اطلاعات توقف فشار) برای دیسک در طول پنجرههای گواهی، 30٪ یا بیشتر فشار میآورد.
درخواستهای RPC کند هستند. یک کلاینت dApp سنگین که `eth_getLogs` یا `debug_traceTransaction` را پردازش میکند، میتواند CPU گث را اشباع کند. آن ترافیک را به یک گره جداگانه منتقل کنید، یا از `--rpc.gascap` و `--rpc.txfeecap` برای محدود کردن درخواستهای پرهزینه استفاده کنید.
یک عادت آخر. در طول هفته اول به طور مداوم لاگها را بررسی کنید تا Geth تحت بار واقعی به طور تمیز اجرا شود. ابزارهایی مانند Netdata، Prometheus + Grafana یا به سادگی `journalctl -fu geth` حالتهای خرابی اولیه را آشکار میکنند. تا هفته دوم، هشدار در مورد گواهیهای از دست رفته و میزان پر شدن دیسک کافی است.
گث در مقابل سایر کلاینتهای اتریوم: بدهبستانها
گث (Geth) اولین قدم پیشفرض است. تنها قدم نیست، و پاسخ به این سوال که «آیا باید تغییر دهم» بستگی به نیاز شما دارد.
| مشتری | زبان | سهم ۲۰۲۶ (clientdiversity.org / Stake.fish range) | نقاط قوت | استفاده کنید اگر ... |
|---|---|---|---|---|
| گث | برو | ۴۱ تا ۵۰٪ | ثبات، جامعه بزرگ، عدم پرداخت بدهیهای رسمی | شما امنترین گره اول را میخواهید |
| نترمایند | سی شارپ | ۲۵ تا ۳۸٪ | همگامسازی سریع اسنپ، سازگار با افزونه، هایپرلجر | شما یک کلاینت اجرایی غیر Go میخواهید |
| بسو | جاوا | ۱۰ تا ۱۶٪ | ویژگیهای سازمانی، زنجیرههای مجاز، هایپرلجر | شما یک زنجیره مجوزدار را اداره میکنید |
| رث | زنگ زدگی | ۲ تا ۸٪ | ماژولار، کدبیس مدرن، همگامسازی سریع | شما کلاینت پیشرو Rust را میخواهید |
| اریگون | زنگ/برو | ۳ تا ۷٪ | بایگانی فشرده (حدود ۱.۷۷ ترابایت)، پرسوجوهای سریع از تاریخچه | شما به یک گره بایگانی کوچک نیاز دارید |
استدلال جامعه برای انتخاب چیزی غیر از Geth، تنوع کلاینت است. اگر یک کلاینت اجرایی واحد از اکثریت مطلق دو سوم در شبکه اصلی عبور کند و یک ارتقاء باگدار ارائه دهد، اعتبارسنجهای آن کلاینت ریسک را کاهش میدهند. تقسیم ناوگان اعتبارسنجهای شما بین دو کلاینت، این ریسک را نصف میکند. برای یک سهامگذار خانگی واحد، محاسبات خستهکنندهتر است: کلاینتی را انتخاب کنید که میتوانید آن را زنده نگه دارید، آن را به خوبی اجرا کنید و فقط در صورت داشتن دلیل خاص، آن را تغییر دهید. معماری گره در همه آنها مشابه است، بنابراین تعویض بعدی آسانتر از آن چیزی است که به نظر میرسد. به طور خاص، Erigon و Reth اکنون به اندازه کافی بالغ شدهاند که کلاینتهای اصلی باشند، نه کنجکاوی.