• تهران -خیابان شریعتی - بالاتر از سه راه ملک - روبروی آتش نشانی - آرتارسانه
  • تلفن تماس: 02191303424

جلسه دوم – آموزش اصول سالیدیتی

جلسه دوم – آموزش اصول سالیدیتی

در جلسه قبل در مورد اینکه Solidity چیست و چه ارتباطی با بلاک چین دارد؟ این آموزش Solidity نشان می دهد که این زبان شی گرا است، به صورت statics کار شده و برای ایجاد قراردادهای هوشمند طراحی شده است.

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

برای اهداف یادگیری و نوشتن قراردادهای هوشمند، Remix در حال حاضر بهینه ترین راه برای کار و تست Solidity است. Remix یک محیط توسعه یکپارچه (IDE) مبتنی بر یک مرورگر وب است.

آموزش Solidity:

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

این زبان مبتنی بر ECMAScript است و قوانین نحوی آن شبیه جاوا اسکریپت است.

به‌روزرسانی‌هایی اغلب برای Solidity منتشر می‌شوند. در حال حاضر آخرین نسخه 0.5.x است.

مبانی سالیدیتی

قراردادهای هوشمند شامل دستورالعمل ها و قوانینی است که بر تعاملات بین انسانها حاکم است.

برای نوشتن قراردادهای هوشمند  و تبدیل شدن به یک توسعه دهنده Solidity، باید با اصول اولیه ماشین مجازی اتریوم (EVM) و بلاک چین آشنا باشید.

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

Solidity زبانی است برای ایجاد قراردادهایی که معمولاً برای موارد زیر استفاده می شود:

تامین مالی جمعی:

ایجاد پروژه های جدید، بررسی پروژه های موجود، تامین مالی پروژه ها با اتر، و بازیابی وجوه جمع آوری شده.

مزایده ها:

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

کیف پول های چند امضایی:

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

ایجاد و مدیریت قراردادهای هوشمند اگر جاوا اسکریپت را بدانید آسان تر می شود.

قراردادها مشابه کلاس‌ها در چنین زبان‌هایی هستند، زیرا دارای داده‌های پایدار در متغیرهای حالت و توابع برای اصلاح آنها هستند.

توجه: زبان Solidity برای EVM استفاده می شود، از کتابخانه ها، وراثت و انواع تعریف شده توسط کاربر پشتیبانی می کند.

نسخه های جدید Solidity به طور منظم منتشر می شوند زیرا تیم پشتیبانی آنها دائماً باگ ها را رفع می کنند و سایر تغییرات لازم را اعمال می کنند. وقتی به‌روزرسانی‌های جدید Solidity منتشر می‌شوند، توجه کنید و تغییرات مهم را مرور کنید. 

مروری کوتاه بر نحو Solidity و کامپایلرها برای تمرین مهارت های برنامه نویسی Solidity، توصیه می کنیم از Remix استفاده کنید.

با این حال، گزینه های دیگری برای انتخاب وجود دارد.

همچنین امکان نصب کامپایلری مانند solcjs بر روی کامپیوتر یا استفاده از بسته های باینری وجود دارد. قوانین نحوی برای برنامه نویسی Solidity مشابه جاوا اسکریپت است.

ایده اصلی کار با یک مدل پشته و حافظه است.

دو نوع حساب در اتریوم وجود دارد:

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

و حساب های قراردادی (که توسط کد ذخیره شده همراه با حساب کنترل می شود).

توجه: هر حساب دارای فضای ذخیره سازی است، یک منطقه حافظه پایدار برای نگاشت کلمات 256 بیتی به کلمات 256 بیتی.

مفاهیم سالیدیتی

این آموزش Solidity همچنین شما را با مفاهیم اصلی که در طول فرآیند یادگیری خود خواهید دید آشنا می کند:

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

تراکنش: مجموعه ای از تغییراتی که باید در وضعیت بلاک چین اعمال شوند.

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

ماشین مجازی اتریوم: پلتفرم قراردادهای هوشمند در اتریوم.

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

نگاشت: راهی برای ساختاربندی انواع مقادیر (اعداد صحیح، آدرس ها، ساختارها و بولی ها) و مشابه جداول هش.

خلاصه

قراردادهای هوشمند با Solidity ایجاد می شوند که برای EVM استفاده می شود. قراردادها برای رای دادن، حراج های کور، تامین مالی جمعی و غیره هستند. استفاده و نحو Solidity مشابه ECMAScript است. توسعه دهندگانی که با جاوا اسکریپت یا زبان های دیگر کار کرده اند Solidity را آسان تر یاد می گیرند. به روز رسانی Solidity را در وب سایت رسمی آنها ردیابی کنید. جدیدترین نسخه Solidity 0.5.x است.