آموزش سالیدیتی


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

آموزش صفر تا صد برنامه‌ نویسی سالیدیتی به صورت آنلاین

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

آموزش ساخت بازی در بلاکچین با سالیدیتی

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

قدرت اتریوم، احتمالاًبه دلیل سیستم قرارداد هوشمند آن است که از سالیدیتی(Solidity) به عنوان ابزار اصلی توسعه خود استفاده می‌کند.برای کسانی که نمی‌دانند، قراردادهای هوشمند چیزی شبیه به برنامه‌هایی هستند که در بلاکچین اتریوم وجود دارند. آنها وظایف مختلفی مانند ارسال یا دریافت اتر یا دیگر توکن‌های ERC-20 را انجام می‌دهند. مانند همه برنامه‌های کامپیوتری، قراردادهای اتریوم به یک زبان برنامه نویسی نوشته می شوند. زبان بلاکچین اتریوم سالیدیتی(Solidity) نام دارد. اما زبان های دیگری نیز وجود دارند که با قراردادهای هوشمند اتریوم سازگار هستند اما بهترین زبان برای یادگیری در حال حاضر آموزش سالیدیتی، به علت این که برنامه‌نویسی سالیدیتی می‌تواند قراردادهای هوشمندی را برای کاربردهای مختلف، از جمله رای‌گیری، تامین مالی جمعی و کیف پول‌های چند امضایی ایجاد کند.

آموزش سالیدیتی چیست؟

سالیدیتی یک زبان برنامه نویسی نسبتاً جدید است که با اتریوم در سال 2015 منتشر شد و برای توسعه دهندگان بلاک چین طراحی شده است. برنامه نویسی سالیدیتی(Solidity) به توسعه دهندگان این امکان را می دهد تا قرارداد های هوشمند را روی بلاک چین اتریوم بنویسند و پیاده سازی کنند، که هنوز هم محبوب ترین پلت فرم برای قراردادهای هوشمند است که توسط Gavin Wood، یکی از بنیانگذاران و CTO سابق اتریوم توسعه یافته است. برنامه نویسان اتریوم، Alex Beregszaszi، Christian Reitwiessner، Liana Husikyan و Yoichi Hirai نیز بخشی از این تیم بودند.

آموزش ساخت لاتاری در با سالیدیتی

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

نحوه ایجاد آدرس اتریوم با سالیدیتی

در ابتدای آموزش سالیدیتی، باید گفت که آدرس اتریوم همان آدرس پستی بوده که نشان دهنده گیرنده پیام است. توابع هش یک عنصر کلیدی در ایجاد آدرس هستند. اتریوم از تابع هش keccak-256 برای تولید آدرس ها استفاده می کند. در اتریوم و سالیدیتی، یک آدرس 20 بایت (160 بیت یا 40 کاراکتر هگزا دسیمال) است که با 20 بایت آخر هش (keccak-256) کلید عمومی مطابقت دارد. آدرس همیشه با پیشوند 0x بوده زیرا در قالب هگزا دسیمال که نشانگذاری پایه 16 است، وجود دارد. فرآیند ایجاد آدرس در اتریوم بسیار مفید است و به شما این امکان را می دهد که نگاه متفاوتی بیندازید و نحوه عملکرد پلتفرم اتریوم را درک کنید.

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

آدرس سازنده قرارداد هوشمند: فرستنده

تعداد تراکنش‌هایی که سازنده ارسال کرده است

مراحل ایجاد یک آدرس قرارداد هوشمند در آموزش سالیدیتی

مراحل ایجاد یک آدرس قرارداد هوشمند در زیر توضیح داده شده است.

مقادیر فرستنده و nonce را بگیرید.

آن ها را با RLP رمزگذاری کنید.

نتیجه را با Keccak-256 هش کنید.

ویژگی یک آدرس در سالیدیتی

به طور کلی، ویژگی های اصلی یک نوع آدرس در سالیدیتی(Solidity) عبارتند از:

طول 20 بایت (160 بیت): همان طور که قبلاً ذکر شد، یک آدرس اتریوم با 20 بایت آخر هش Keccak-256 کلید عمومی مرتبط با آن مطابقت دارد.

فرمت هگزادسیمال (نشانگذاری پایه 16): آدرس اتریوم دقیقاً شامل 40 کاراکتر (2 کاراکتر = 1 بایت) از محدوده هگزادسیمال 0 1 2 3 4 5 6 7 8 9 یا b c d e f است.

پیشوند 0x : از آن جایی که این فرمت هگزادسیمال است، باید پیشوند آن 0x باشد. بنابراین، طول کل آن 42 کاراکتر است که 0x شمارش می شود.

آدرس مبانی در آموزش سالیدیتی

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

آدرس کاربر : msg.sender

ما از تابع msg.sender داخل سالیدیتی برای دریافت آدرس حساب جاری در تعامل با قرارداد هوشمند استفاده کردیم. اما می‌توانید آدرس‌های خاصی را در کد سالیدیتی(Solidity) با استفاده از لفظ ‌های آدرس، کدگذاری کنید. به علاوه، از نسخه 0.5.0 Solidity و در آموزش سالیدیتی قراردادهای هوشمند دیگر حاوی نوع آدرس نیستند، اما هم چنان می‌توانند صریحاً به آدرس قابل پرداخت تبدیل شوند.

روش های موجود هنگام کار با آدرس ها

توجه: مقدار اتر در _amount که به عنوان پارامتر در روش های زیر مشخص شده است با Wei (18 صفر) بیان می شود:

1 اتر = 1,000,000,000,000,000,000,000,000,000,000 وی

آموزش سالیدیتی و همه روش های انواع آدرس

.balance(uint256)

کد (بایت حافظه)

.codehash(bytes32)

.transfer(uint256 _amount)

.send(uint256 _amount) برمی گرداند (bool)

.call (بایت حافظه) برمی‌گرداند ( (bool

.delegatecall (بایت حافظه) برمی گرداند

.staticcall (بایت حافظه) برمی گرداند (bool)

آموزش ساخت سایت رای گیری در با سالیدیتی

نکته پایانی

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

آموزش سالیدیتی به برنامه نویسان اجازه می دهد تا قرارداد های هوشمند و dApp های بلاک چین بنویسند. این زبان برنامه‌نویسی ساده نیست و توسعه‌ دهندگان باید به آن چه در قرارداد می‌ گذارند توجه بیش تری داشته باشند، زیرا قرارداد های هوشمند خود اجرا هستند و هر اشتباهی می ‌تواند منجر به تراکنش ‌های نادرست شود. در پایان باید این نکته را اضافه کرد که برنامه نویسی Solidity برای مبتدیان نیست. برای نوشتن قراردادهای هوشمند و ساخت برنامه های بلاک چین بر روی اتریوم باید تلاش و پشتکار داشته باشید تا بتوانید در آن موفق شوید.


منبع : آموزش سالیدیتی - وایت وال - https://whitewhale.website/solidity-training/