مقدمات برنامه‌نویسی سالیدیتی

ایجاد شده توسط دکتر مصطفی جلیلی در آموزش برنامه نویسی سالیدیتی 1 مه 2025
اشتراک گذاری

مقدمات برنامه‌نویسی با سالیدیتی (Solidity)


سالیدیتی چیست و چرا اهمیت دارد؟


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


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




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




  • پشتیبانی توسط اکثر ابزارها و کیف‌پول‌ها




  • پشتیبانی از استانداردهای معروف مثل ERC-20 و ERC-721




  • جامعه توسعه‌دهندگان فعال و منابع آموزشی زیاد




با یادگیری سالیدیتی، می‌توانید پروژه‌های غیرمتمرکز (dApp)، توکن‌های دیجیتال، NFT و سیستم‌های رأی‌گیری یا حتی اپلیکیشن‌های مالی غیرمتمرکز (DeFi) بسازید.


ابزارهای توسعه سالیدیتی: نصب و راه‌اندازی


برای شروع کدنویسی با سالیدیتی، چند ابزار کلیدی وجود دارد:


۱. Remix IDE (آنلاین)


Remix یک محیط توسعه تحت‌وب است که نیازی به نصب ندارد. با آن می‌توانید به راحتی:




  • کد سالیدیتی بنویسید و اجرا کنید




  • تست و کامپایل انجام دهید




  • قراردادها را روی شبکه آزمایشی دیپلوی کنید




مناسب برای مبتدی‌ها و تست سریع ایده‌ها.


۲. Hardhat


Hardhat یک فریمورک قدرتمند برای توسعه حرفه‌ای قراردادهای هوشمند است. امکانات:




  • نوشتن تست‌های خودکار




  • دیپلوی روی شبکه‌های مختلف




  • استفاده از پلاگین‌های متنوع (مثلاً Ethers.js)




برای نصب:


npm install --save-dev hardhat
npx hardhat

۳. Truffle


Truffle یکی از قدیمی‌ترین فریمورک‌های توسعه بلاکچین است. ویژگی‌ها:




  • پشتیبانی از تست و اسکریپت دیپلوی




  • تعامل با Web3.js




  • مناسب برای پروژه‌های بزرگ




نصب با:


npm install -g truffle
truffle init

پیشنهاد: برای شروع با Remix شروع کنید و بعد به Hardhat مهاجرت کنید.


ساخت اولین قرارداد هوشمند ساده در Remix


حالا بیایید یک قرارداد ساده بنویسیم:


مرحله ۱: ورود به Remix


وارد Remix IDE شوید.


مرحله ۲: ایجاد فایل


در سمت چپ، روی “+” کلیک کنید و یک فایل جدید با نام MyFirstContract.sol بسازید.


مرحله ۳: نوشتن کد


// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract MyFirstContract {
string public message;
constructor(string memory _msg) {
message = _msg;
}
function setMessage(string memory _newMsg) public {
message = _newMsg;
}
}

مرحله ۴: کامپایل و اجرا




  • از بخش “Solidity Compiler” کامپایل کنید.




  • در “Deploy & Run Transactions” قرارداد را دیپلوی کرده و تابع‌ها را تست کنید.




تبریک! شما اولین قرارداد هوشمندتان را نوشتید!


ساختار کلی یک فایل سالیدیتی (.sol)


فایل‌های سالیدیتی با پسوند .sol ذخیره می‌شوند. ساختار کلی آن به شکل زیر است:


// کامنت لایسنس
// SPDX-License-Identifier: MIT
// تعیین نسخه کامپایلر
pragma solidity ^0.8.0;
// تعریف قرارداد
contract Sample {
// متغیرهای حالت (State Variables)
uint public value;
// سازنده (Constructor)
constructor(uint _val) {
value = _val;
}
// توابع عمومی
function setValue(uint _newVal) public {
value = _newVal;
}
function getValue() public view returns (uint) {
return value;
}
}

اجزای کلیدی فایل:




  • SPDX-License-Identifier: مجوز کد، معمولاً MIT




  • pragma: تعیین نسخه سالیدیتی مورد استفاده




  • contract: بدنه اصلی قرارداد




  • constructor: تابعی که هنگام دیپلوی اجرا می‌شود




  • state variables: داده‌هایی که در بلاکچین ذخیره می‌شوند




  • functions: اعمال قابل اجرا توسط کاربران یا قراردادها






جمع‌بندی


در این بخش یاد گرفتیم که سالیدیتی چیست، چرا یادگیری آن حیاتی است و با ابزارهای مختلف توسعه مثل Remix، Hardhat و Truffle آشنا شدیم. همچنین یک قرارداد هوشمند ساده نوشتیم و با ساختار فایل‌های سالیدیتی آشنا شدیم. در ادامه مسیر، وارد مفاهیم پیشرفته‌تر مانند متغیرها، توابع، و تعامل با شبکه‌های واقعی خواهیم شد.

نظرات (0)

اشتراک گذاری

این پست را با دیگران به اشتراک بگذارید

تنظیمات GDPR

When you visit any of our websites, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and manage your preferences. Please note, that blocking some types of cookies may impact your experience of the site and the services we are able to offer.