دوره اشنایی با توسعه قرار داد های هوشمند بر روی csc - قسمت 2

با سلام خدمت جامعه توسعه دهندگان قرار داد های هوشمند و صنعت رمزنگاری

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

ایجاد محیط توسعه

برای توسعه هر برنامه ای ما نیاز داریم تا محیط مناسب برای توسعه اون برنامه رو ایجاد کنیم

به طور کل ما برای توسعه قرار داد هوشمند نیاز به این عناصر داریم:

1 - یک ویرایشگر کد یا IDE حساس به solidity
2 - compiler
3 - deployment tool

در اینجا ما به معرفی ابزار ها و نحوه کارکرد و استفاده از اون ها میپردازیم

Remix

یک محیط توسعه یکپارچه یا به عبارتی IDE برای توسعه قرار داد های هوشمند توسعه داده شده تا نو اموز ها و یا افرادی که نمیخوان دغدغه تنظیم و نصب ابزار ها رو داشته باشن بتونن کارشون رو شروع کنن و از نشانی زیر قابل دسترسه:

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

نکته مهم :remix اطلاعات رو در local storage مرورگر ذخیره میکنه پس زمانی که وبسایت رو باز میکنید به پروتکل http یا https نگاه کنید چرا که ممکنه شما اطلاعات رو در یکی از این پروتکل ها ذخیره کرده باشین و در دیگری در دسترس نباشه

از این نشانی محیط remix رو باز میکنیم ( در اینجا از http استفاده کردیم و دلیل اون رو بعدا متوجه خواهیم شد )

1 : به این محیط میگن workspace در واقع تمامی داده ها و فایل های ما در اینجا ذخیره میشن که شامل قرار داد های هوشمند , تنظیمات , abi و test و… باشند

searh

2 : این بخش search هستش که میتونیم دنبال یک قطعه کد یا عبارتی داخل فایل هایی که میتونیم پسوندشون رو تعیین کنیم بگردیم

3: در این بخش میتونیم نسخه کامپایلر سالیدیتی مورد نظرمون رو انتخاب کنیم

1 : در این بخش نسخه کامپایلر رو انتخاب میکنیم

2 : در اینجا زبان برنامه نویسی مورد نظر برای توسعه قرار داد هوشمند رو انتخاب میکنیم

3 : با فعال کردن این گزینه هنگام انتخاب قرار داد هوشمند از بخش workspace به شکل خودکار کامپایل میشه

4 : با فعال کردن این گزینه بهینه سازی فعال میشه

5: با فعال کردن این گزینه پیغام های اخطار ( در اینجا منظور خطاهای بحرانی مثل fatal error ها نیستن بلکه اعلاناتی هستن که در کارکرد اصلی برنامه خللی ایجاد نمیکنند ) نادیده گرفته میشن

6 : با فشردن این دکمه قرار داد ما کامپایل میشه

7 : این گزینه اسکریپت مارو کامپایل و اجرا میکنه

شروع توسعه قرار داد هوشمند

حالا که با remix اشنا شدیم به شکل عملی یک قرار داد هوشمند ساده میسازیم و اجزای اون رو بررسی میکنیم و نحوه کامپایل کردن اون رو روی remix میبینیم

create

در ابتدا مثل تصویر با کلیک روی گزینه Create New File یک فایل جدید با نام contract.sol میسازیم که در اینجا contract نام فایل ما و .sol پسوند فایل های زبان سالیدیتی هست

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.10;

contract MyContract {

string public myString = 'hello world';

}

بسیار خب بیاید باهم اجزای کد بالا رو بررسی کنیم

در خط اول داریم:

// SPDX-License-Identifier: MIT

درواقع اینجا ما داریم به ماشین میفهمونیم که این قرار داد تحت مجوز MIT منتشر شده

pragma solidity ^0.8.10;

در خط بعد به کامپایلر میفهمونیم که این قرار داد رو با کامپایلر نسخه 0.8.10 کامپایل کنه

contract MyContract {}

این بخش , بخش مهمی هست چرا که باید کدهای ما در بدنه این بخش قرار بگیره. درواقع کد های قرار داد هوشمند ما باید در scope MyContract باشند

string public myString = 'hello world';

و در پایان یک متغیر از نوع رشته ای که حاوی hello world هست

تبریک :smiley:!
قرار داد هوشمند ما با موفقیت با استفاده از remix کامپایل شد

بسیار خب حالا بریم سراغ دیپلوی کردن قرار داد روی شبکه

با انتخاب کردن injected Web3 ( به این دلیل که متامسک خودش رو در هر صفحه وب اینجکت میکنه )
درخواستی مبنی بر اجازه دادن برای اتصال متامسک به remix رو مشاهده میکنیم که با تایید کردن اون اجازه میدیم که از طریق متامسک با کلید خصوصی ما تراکنش رو امضا کنه.

پس از تایید همچین چیزی رو مشاهده خواهیم کرد :

حالا قرار داد هوشمند ما اماده دیپلوی شدن به روی شبکه است :partying_face:
با فشردن دکمه deploy قرار داد ما به روی شبکه دیپلوی میشه

در قسمت بعدی عمیق تر وارد بحث توسعه قرار داد های هوشمند میشیم و با استاندارد های رایج اشنا میشیم

پیروز و سبز باشید :seedling: