کالبد شکافی اتریوم؛ ابزارها و فناوری های موجود در اکوسیستم!

اگر توسعه دهنده تازه واردی در اتریوم یا بلاک‌ چین هستید احتمالا تلاش کرده اید که تمام ابزارها و فناوری های موجود در اکوسیستم اتریوم را یاد بگیرید. بنابراین تصمیم گرفته ایم که در این مقاله به طور مختصر به توضیح محتواهای مختلفی که در مسیر یادگیری سر راه شما قرار می‌گیرند بپردازیم. امیدواریم این مقاله، دید بزرگتری از اکوسیستم اتریوم و نحوه کنار هم قرار گرفتن اجزای آن به شما بدهد.

 

۱- اتریوم

اتریوم یک بلاک چین قرارداد هوشمندی است که می‌توانید بر بستر آن، برنامه های غیرمتمرکز ایجاد کنید (که به آنها قراردادهای هوشمند می‌گویند) اگر در زمینه فناوری فعالیت می‌کنید، وایت پیپر اتریوم با آدرس https://github.com/ethereum/wiki/wiki/White-Paper ارزش مطالعه دارد.

اگر قبلاً برنامه های تحت وب ایجاد کرده اید، می‌توانید از مطالب مقایسه بلاک چین اتریوم با معماری برنامه های تحت وب استفاده کنید تا اتریوم را در سطح بالاتری بیاموزید.

 

۲- گث Geth

گث نرم افزار کلاینت رسمی ارائه شده توسط بنیاد اتریوم است. این نرم افزار با زبان برنامه نویسی گو (Go) نوشته شده است. این نرم افزار شامل مجموعه ای از محتواهای مختلف است که دانستن آنها مفید است. این محتواها عبارتند از:

کلاینت دائمون (Client Daemon)

هنگامی که این کلاینت را اجرا می‌کنید، به سایر کلاینت های داخل شبکه (که به آنها نود نیز می‌گویند) متصل می‌شود و نسخه ای از بلاک چین را دانلود می‌کند. این کلاینت دائما با سایر نودها در ارتباط است تا نسخه بلاک چین خود را به روز نگه دارد. هم چنین قابلیت استخراج بلاک ها و افزودن تراکنش ها به بلاک چین، تایید تراکنش موجود در بلاک و هم چنین اجرای تراکنش ها را دارد. هم چنین با در دسترس قرار دادن API هایی که می‌خواهید از طریق RPC با آنها تعامل داشته باشید، به عنوان سرور نیز عمل می‌کنند.

ethereum blockchain network

کنسول گث

این مورد یک ابزار خط فرمان است که اتصال به نود فعال و اجرای عملیات مختلف نظیر ایجاد و مدیریت حساب ها، جستجو و بررسی بلاک چین، امضا و تایید تراکنش ها و سایر امور را امکان پذیر می‌سازد.

مرورگر میست

مرورگر میست یک برنامه رایانه ای است که برای ارتباط با نودهای خود می‌توانید از آن استفاده کنید. تمام کارهایی که با کنسول گث می‌توانید انجام دهید در مرورگر میست نیز با رابط کاربری گرافیکی قابل دستیابی و انجام است.

 

۳- پریتی Parity

پریتی یکی دیگر از پیاده سازی های خوب پروتکل اتریوم است و با زبان برنامه نویسی راست (Rust) نوشته شده است. پریتی یک کلاینت غیر رسمی است و توسط شرکت پریتی اداره می‌شود. هرکسی می‌تواند یک نرم افزار کلاینت پیاده سازی کند و به شبکه اتریوم بپیوندد.

ethereum blockchain network - 2

۴- کتابخانه جاوااسکریپت Web3.js

درست همانند اینکه برای ارتباط با نودهای اتریوم، ابزارهایی مانند گث، مرورگر میست و غیره را در اختیار دارید، کتابخانه جاوااسکریپتی نیز به نام Web3.js وجود دارد که برای تعامل با نودها می‌توان از آن استفاده کرد. از آنجایی که Web3.js یک کتابخانه جاوااسکریپت است، می‌توان از آن برای ایجاد برنامه های غیرمتمرکز مبتنی بر وب استفاده کرد.

geth

۵- سالیدیتی (Solidity)

سالیدیتی محبوب ترین زبان برنامه نویسی مورد استفاده برای نوشتن قراردادهای هوشمند و اجرای آنها بر بستر بلاک چین اتریوم است. سالیدیتی یک زبان برنامه نویسی سطح بالا است که پس از کامپایل شدن، به کد بایتی EVM (ماشین مجازی اتریوم) تبدیل می‌شود. این زبان برنامه نویسی بسیار مشابه با دنیای جاوا است که شامل زبان های برنامه نویسی JVM نظیر اسکالا، گرووی، کلوژر، جی روبی و غیره می‌باشد. تمام این زبان های برنامه نویسی به طور کل، کد بایتی تولید می‌کنند که در JVM (ماشین مجازی جاوا) اجرا می‌شود. تا زمانی مطابق با مشخصات فنی موجود پیش روید و زبان برنامه نویسی شما به کد بایت معتبر EVM کامپایل شود، می‌توانید یک زبان برنامه نویسی ایجاد کنید.

هم چنین IDE تحت مرورگر بسیار خوبی وجود دارد که می‌توانید با استفاده از آن و در آدرس زیر، قراردادها را بنویسید و بلاک چین را کامپایل و اجرا کنید.

http://remix.ethereum.org/

۶- ترافل (Truffle) /امبارک (Embark)

درست همانند اینکه چارچوب هایی برای توسعه برنامه های تحت وب نظیر روبی، پایتون/جانگو و غیر وجود دارد، ترافل و امبارک نیز محبوب ترین چارچوب های مورد استفاده در توسعه برنامه های غیرمتمرکز است. این دو‌ چارچوب، بسیاری از پیچیدگی های کامپایل کردن و اجرای قراردادها بر بستر بلاک چین را از بین می‌برند.

 

۷- متامسک (Metamask)

اگر بیش از یک هفته در جامعه اتریوم حضور داشته باشید، با متامسک مواجه شده اید. متامسک یکی از پلاگین های کروم است که برای تعامل با نودهای اتریوم مورد استفاده قرار می‌گیرد. این موضوع برای تمام افراد غیرواقعی جلوه می‌کند که نودی برای تعامل با بلاک چین اجرا کنند. بنابراین افراد حاضر در متامسک میزبان چندین نود هستند تا دیگر شما مجبور به این کار نباشید. تنها کاری که باید انجام دهید این است که متامسک را نصب کنید و به طور خودکار به نودهای مورد نظر خود متصل شوید.

ethereum blockchain network - 3

۸- سیستم نامگذاری اتریوم یا ENS

سیستم نامگذاری اتریوم یک DNS برای دنیای اتریوم است. همانند اختصاص دادن آدرس IP به اسم قابل خوانش انسانی، می‌توانید هر آدرس کیف پول یا قرارداد اتریوم را به اسم قابل خوانش انسانی اختصاص دهید.

برای مثال آدرس http://146.115.22.177 متعلق به سایت google.com است. به جای تایپ کردن آدرس IP در مرورگر، Google.com را تایپ می‌کنید که جانشین آدرس IP مورد نظر است.

مثال دیگر 0x80C013d980aB049471c88E1603b8b4a60E03295C می‌باشد که آدرس کیف پول می‌باشد. اگر بخواهید به این آدرس اتر ارسال کنید، لازم نیست این آدرس را حفظ کنید. پس از عرضه ENS، می‌توان این آدرس را در mvmurthy.eth ذخیره و از آن برای ارسال راحتتر استفاده کرد.

 

۹- سوارم (Swarm)

بلاک چین برای ذخیره اطلاعات کم مناسب است. اما اگر بخواهید سابقه بیمار، سابقه فروش یا فایل های بزرگی که به طور عمومی دارای سابقه زمانی هستند را ذخیره کنید چه می‌شود؟ ذخیره سازی چنین اطلاعاتی در بلاک چین گران است و مقیاس پذیر نمی‌باشد. سوارم برای حل کردن این مشکل مورد استفاده قرار می‌گیرد. سوارم یک سیستم ذخیره سازی غیرمتمرکز و سرویس توزیع اطلاعات است. می‌توانید سوارم را به عنوان CDN در نظر بگیرید اما به جای آنکه کل CDN بر روی سرور یک شرکت میزبانی شود، بر روی رایانه های سراسر اینترنت توزیع می‌شود. همانند آنکه نود اتریوم را اجرا کنید می‌توانید نود سوارم را برای اتصال به شبکه سوارم اجرا کنید.

هنگامی که قرارداد اتریوم را بر بستر بلاک چین اجرا می‌کنید، آدرس اجرا شده و رابط کاربری ABI دریافت می‌کنید. اگر می‌خواهید افراد دیگری از قرارداد شما استفاده کنند، باید آدرس اجرا شده و ABI را به آنها بدهید. در آینده، ABI در سوارم ذخیره خواهد شد تا کاربران فقط با بررسی آدرس اتریوم به ABI برسند.

 

۱۰- فایل سیستم بین سیاره ای یا IPFS

فایل سیستم بین سیاره ای یا IPFS از نظر مفهومی دقیقا مشابه با سوارم می‌باشد و سیستم ذخیره سازی غیر متمرکز است. IPFS به طور مستقیم به اتریوم مرتبط نیست اما می‌تواند وارد اتریوم شود.

می‌توانید تفاوت های بین سوارم و IPFS را در این لینک مطالعه کنید: https://github.com/ethersphere/go-ethereum/wiki/IPFS-&-SWARM

 

۱۱- ویسپر

اطلاعات زیادی از ویسپر نشنیده اید اما فناوری جالبی در اکوسیستم اتریوم است. ویسپر یک پروتکل ارتباطی برای برنامه های غیر متمرکز است تا با یکدیگر تعامل داشته باشند. می‌توانید در لینک زیر جزییات بیشتری از ویسپر مطالعه کنید.

https://github.com/ethereum/wiki/wiki/Whisper

 

و در آخر تمام قسمت های اکوسیستم اتریوم را در یک عکس نشان می دهیم:

ethereum ecosystem

 


54321
امتیاز 5 از 2 رای

منبع medium
ممکن است شما دوست داشته باشید

ارسال نظر

  اشتراک  
اطلاع از
عضویت در کانال تلگرام میهن بلاکچین