در دهه اخیر فناوری بلاکچین در زمینههای مختلفی گسترش یافته است. بلاکچین یک ساختار داده غیر متمرکز است که با ظهور بیتکوین در سال 2008 در دنیا شناخته شد. این فناوری بستر مناسبی را برای پیادهسازی قراردادهای هوشمند در سال 2010 فراهم کرد. امروزه از ادغام فناوری بلاکچین و قراردادهای هوشمند برای ساخت برنامههای غیر متمرکز یا DApp (Decentralized Application) در حوزههای مختلف صنعت استفاده میشود و DAppهای مبتنی بر بلاکچین در دنیا روز به روز در حال گسترش هستند.
در این فرادرس ما میخواهیم با استفاده از بلاکچین اتریوم (Ethereum) و یک قرارداد هوشمند سالیدیتی (Solidity) یک لیست انجام کار یا To-Do List ایحاد کنیم. برای انجام این کار، ما ابتدا یک قرارداد هوشمند با زبان برنامهنویسی Solidity را ایجاد و پس از آزمایش قرارداد هوشمند، آن را در بلاکچین آزمایشی اتریوم مستقر کرده و در نهایت، ما یک برنامه کاربردی یا اپلیکشن سمت کلاینت برای لیست کارها ایجاد میکنیم. هدف ما از این کار، آموزش روند ساخت یک برنامه نامتمرکز یا DApp مبتنی بر بلاکچین به شیوهای استاندارد است.
یکی از ویژگیهای قراردادهای هوشمند، تغییرناپذیر بودن آن بعد از استقرار در بلاکچین است. بنابراین باید نحوه درست آزمایش قرارداد هوشمند را بدانیم تا بتوانیم آسیبپذیریهای قرارداد خود را حذف نماییم، بدین ترتیب میتوانیم از ضررهای مالی آینده و از دست رفتن دادهها و هک قرارداد جلوگیری کنیم. علاوه بر این، امروزه با گسترش تکنولوژی بلاکچین و استفاده از آن در DAppها، یادگیری برنامهنویسی تحت آن، امری مهم تلقی میشود.
یکی از مهمترین مراحل یادگیری برنامهنویسی DApp، پیادهسازی پروژههای ساده است، زیرا در طول این پروژهها یادگیری مراحل کلی و استاندارد برای ساخت DApp راحتتر خواهد شد. در این آموزش یاد خواهیم گرفت چگونه یک DApp ساده تحت عنوان لیست انجام وظایف یا To-Do List ایجاد کنیم. بدین طریق به سادگی مراحل ساخت یک DApp را میآموزیم.