برای برنامه نویسی DApp و ایجاد شناخت بهتر نسبت به معماری یک DApp، لازم ست به معماری یک برنامه تحت وب (WEB APPLAICATION) نگاهی داشته باشیم. در این مقاله کمی به این موضوع میپردازیم. اگر مایل بودید میتونید به جای خواندن متن، این ویدیو را مشاهده کنید.
یا اگر مایل بودید، میتونید فایل صوتی این محتوا رو گوش کنید..در یک وباپلیکیشن متعارف، سرویسها بر روی یک سرور متمرکز ارائه خواهند شد. البته سرویسها میتواند توسط چند سرور هم ارائه شود ولی اینجا منظور، تمرکز ارائه سرویس توسط یک یا چند سرور، است. کاربر درخواستی را به سرور ارسال میکند و پاسخ میگیرد و به این صورت یک وباپلیکیشن متعارف شکل میگیرد.
تفاوتهای DApp با اپلیکشنهای متعارف
یکی از تفاوتهای برنامه نویسی DApp با وباپلیکیشن متعارف این است که در دنیای غیرمتمرکز یا Decentralized، مرکز وجود ندارد. شبکهای از گرههای کامپیوتری (Nodeها) وجود دارد که در سراسر دنیا پراکندهاند و به وسیله پرتکلهایی در سراسر دنیا به هم متصلند.حال ما میخواهیم بعنوان کاربری که اطلاع خاصی از مفاهیم بلاک چین ندارد، اپلیکیشنی بنویسیم و به این شبکه وصل شویم. یک راه پردردسر این است که خودمان یکی از گرهها (Node ها) را ایجاد کنیم.ولی این چیزی نیست که یک کاربر معمولی بتواند انجام دهد و درک درستی از آن داشته باشد. زیرا برای این کار باید یک برنامهنویس حرفهای باشیم تا بتوانیم node ی اضافه کنیم. به همین دلیل واسطهایی شکل گرفتند که به کاربر معمولی میگویند: «شما اطلاعاتی را که میخواهید روی بلاک چین ذخیره کنید به این Node ها ارسال کنید و این Node ها آنرا به شبکه بلاکچین اضافه میکنند ». در تصویر زیر میتوانید این موضوع را مشاهده کنید. کاربر در مرورگر (Browser) خود با استفاده از پکیجهای JavaScript ی خاصی – که مجموع آنها به بلاکچین ترون اختصاص دارد و روی مرورگر کاربر نصب میشود- متصل میشود به Nodeی که مخصوص ذخیره روی بلاکچین ساخته شده است. بعد از طریق آن node تزریق میشود به شبکه بلاک چین و روی قرارداد هوشمند ذخیره میشود. یا اگر بخواهد چیزی از قرارداد هوشمند خوانده شود، خوانده میشود. این واسط در مورد شبکه ترون میتواند اسمش Tron grid باشد.هرچند در تصویر فوق یک کادر آبی رنگ تحت عنوان بلاکچین ترون کشیده شده، ولی این یک مفهوم انتزاعی ست. یعنی یک نقطه وجود ندارد که ما به آن نقطه وصل شویم و ادعا کنیم که به بلاکچین ترون وصل شدهایم. هر یک از این node ها به نوعی حساب بلاک چین ترون هستند و وقتی همه با هم هستند، مجموعا بلاکچین ترون را میسازند. پس اتفاقی که توسط nodeهای واسط (مانندTron grid) میفتد این است که چون ابزار، دانش یا حتی پول کافی نداریم برای اینکه کامپیوتر خودمان را به یکی از nodeهای شبکه ترون تبدیل کنیم، به واسطه برخی از این شخصثالثها یا ابزارهایی که بعنوان واسط عمل میکنند اطلاعات خود را بر روی قرارداد هوشمند ترون ذخیره میکنیم یا از آن میخوانیم.