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

جواب کوتاه: بیشتر چیزهایی که امروز DApp نامیده می شوند دقیقا همین اند. و این بدترین خبر نیست؛ فقط چیزی است که کسی صریح نمی گوید.

اپلیکیشن غیرمتمرکز چیست

اپلیکیشن غیرمتمرکز چیست

یک DApp دو تکه دارد و فقط یک تکه اش غیرمتمرکز است.

تکه اول قرارداد هوشمند است: کدی که روی شبکه اتریوم مستقر شده، هر گره آن را اجرا می کند و هیچ کس نمی تواند یک تنه تغییرش بدهد یا حذفش کند. این تکه واقعا غیرمتمرکز است.

تکه دوم رابط کاربری است: همان صفحه ای که شما در مرورگر می بینید. این معمولا یک وب سایت کاملا عادی است که روی سرور یک شرکت میزبانی می شود، دامنه اش را همان شرکت خریده و اگر آن شرکت خاموشش کند، خاموش می شود.

بین این دو، تکه سومی هم هست که کمتر دیده می شود: نقطه اتصال به شبکه. مرورگر شما مستقیم با اتریوم حرف نمی زند، بلکه از طریق یک ارائه دهنده گره به آن وصل می شود. آن ارائه دهنده هم یک شرکت است.

پس تعریف دقیق تر این است: DApp برنامه ای است که منطق حیاتی اش روی زنجیره اجرا می شود، نه برنامه ای که هیچ نقطه تمرکزی ندارد.

چرا این تمایز برای شما مهم است

چون تعیین می کند چه چیزی را دارید و چه چیزی را ندارید.

اگر با یک صرافی غیرمتمرکز کار می کنید، دارایی تان در قرارداد است و قرارداد از دسترس یک شرکت خارج است. این واقعی است. اما اگر همان شرکت وب سایتش را ببندد، شما موقتا راه ساده ای برای تعامل با آن قرارداد ندارید؛ باید مستقیم با قرارداد کار کنید که کار هر کسی نیست.

و اگر پروژه ای قرارداد ارتقاپذیر داشته باشد، یعنی تیم می تواند بعدا کدش را عوض کند، آن وقت تکه اول هم آنقدرها غیرمتمرکز نیست. این را قبل از سپردن پول به هر قراردادی چک کنید.

چطور بفهمیم یک پروژه واقعا غیرمتمرکز است

چهار سوال که جوابشان عمومی است و پنج دقیقه وقت می برد:

آدرس قرارداد کجاست و کدش تایید شده است؟ اگر پروژه ای آدرس قراردادش را روی سایت نگذاشته، همان جا تمام است. اگر گذاشته، در کاوشگر شبکه ببینید کد منبعش منتشر و تایید شده باشد.

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

چه کسی کلید مدیریتی را دارد؟ بسیاری از قراردادها توابعی دارند که فقط مالک می تواند صدا بزند: توقف برداشت، تغییر کارمزد، ضرب توکن جدید. وجود این توابع لزوما بد نیست، ولی باید بدانید هستند.

اگر وب سایت فردا بالا نیاید چه؟ برای پروژه ای که واقعا کار می کند، جواب باید این باشد که رابط های جایگزین وجود دارند و شما می توانید مستقیم با قرارداد کار کنید.

پروژه هایی که به هر چهار سوال جواب روشن می دهند اقلیت اند. این را به عنوان معیار نگه دارید، نه به عنوان دلیل ناامیدی.

ساخت یک نمونه ساده واقعا چه می خواهد

حالا برسیم به سمت عملی ماجرا. برای اینکه یک DApp ساده روی اتریوم بالا بیاورید، به چهار چیز نیاز دارید و نه بیشتر:

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

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

ابزارهایی که دیگر پیشنهاد نمی شوند

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

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

شبکه آزمایشی: کدام یکی

اینجا هم اطلاعات قدیمی زیاد است. مستندات اتریوم صریح می گوید دو شبکه آزمایشی عمومی نگهداری می شوند: سپولیا و هودی. هودی شبکه پیشنهادی با پشتیبانی بلندمدت است و هر کسی می تواند روی آن اعتبارسنج باشد؛ سپولیا مجموعه اعتبارسنج محدود دارد.

هر آموزشی که هنوز شما را به گورلی یا هولسکی بفرستد، قدیمی است. مقایسه کامل ترشان در تست نت اتریوم هست.

متغیر ایران: جایی که واقعا گیر می کنید

مشکل شما در ساخت اولین DApp، سالیدیتی نیست. سه چیز دیگر است.

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

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

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

اتریومنرخ لحظه ای اتریوم ۱.۷۶٪
۴۸۴,۶۸۷,۶۷۲ تومان
$2,463.75 نرخ جهانی
تغییر ۲۴ ساعته - بروزرسانی ۰۲:۰۳ خرید اتریوم

چیزی که هیچ آموزشی نمی گوید

استقرار قرارداد روی شبکه اصلی برگشت ناپذیر است.

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

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

پس ارزشش را دارد؟

اگر می خواهید یاد بگیرید، بله. اولین قرارداد کارکردنی چیزی به شما نشان می دهد که هیچ مقاله ای نمی تواند.

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

سوال های پرتکرار

DApp چیست به زبان ساده؟

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

تفاوت DApp با یک اپلیکیشن معمولی چیست؟

در اپلیکیشن معمولی صاحب سرویس می تواند داده را عوض کند، حساب شما را ببندد یا کل سرویس را خاموش کند. در بخش روی زنجیره یک DApp این کار ممکن نیست، مگر قرارداد عمدا ارتقاپذیر ساخته شده باشد.

برای ساخت DApp چه چیزی باید یاد بگیرم؟

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

آیا ساخت DApp هزینه دارد؟

تمرین روی شبکه آزمایشی عملا رایگان است. استقرار روی شبکه اصلی کارمزد شبکه می خواهد که به شلوغی لحظه ای اتریوم بستگی دارد و ثابت نیست. سرویس های جانبی مثل ارائه دهنده گره هم طرح رایگان دارند و بالاتر از آن اشتراک دلاری می خواهند.