قراردادهای هوشمند چیست؟ یاد بگیرید و اولین قرارداد خود را اجرا کنید.

به خودتان تبریک و قدردانی کنید زیرا انتخاب کرده اید که وارد دنیای وب 3 شوید، دنیای زیرزمینی فنی که پتانسیل و فرصت های بسیار زیادی برای توسعه دهندگانی مانند ما دارد. مقالات بیشتر مرتبط با بلاک چین و وب 3 را اینجا در این سری مقالات بررسی کنید و در دنیای اموات وب 3 حضور پیدا کنید.
بیایید وارد دنیای زیرین web3 شویم:
جدول محتویات
قراردادهای هوشمند با مثال چیست؟
قراردادهای هوشمند برنامهها یا کدهای سادهای هستند (که به زبان برنامهنویسی solidity نوشته شدهاند) که در یک زنجیره بلوکی ذخیره میشوند و در شرایط خاصی فعال میشوند. به همین سادگی. بگذارید یک مثال واقعی برای توضیح بهتر این موضوع بزنم.
دستگاه اسپرسوساز را در ادارات به یاد بیاورید،
اسپرسو را فشار دهید و فنجان را زیر نازل قرار دهید سپس قهوه داغ تازه تهیه شده را برای شما سرو می کند. دوست شما پیتر پارکر کاپوچینو میخواهد، او آن دکمه را فشار میدهد و یکی را میگیرد، ووووو.
بله، قراردادهای هوشمند به همین سادگی هستند. آنها مجموعه ای ساده از قوانین هستند که با کمک متغیرها و توابع مشابه هر زبان کدنویسی به زبان کدنویسی (Solidity) نوشته می شوند.
چه کسانی از قراردادهای هوشمند استفاده می کنند؟
هر کسی که روی پروژه های وب 3 کار می کند باید با قراردادهای هوشمند کار کند. اکنون، ممکن است برخی از ما چندان با وب 3 و بلاک چین آشنا نباشیم، توصیه میکنم برای درک واضحتر این مقاله را بخوانید.
در رابطه با قراردادهای هوشمند، اگر تصمیم دارید یک dApp (برنامه غیرمتمرکز) را بر روی هر زنجیره ای که از EVM (ماشین مجازی اتریوم) پشتیبانی می کند بسازید، باید یک قرارداد هوشمند بنویسید.
-
قراردادهای هوشمند اساساً پل بین برنامه غیرمتمرکز و بلاک چین هستند. بیایید مثال قبلی دستگاه اسپرسو را در نظر بگیریم، در اینجا فرض کنید دستگاه اسپرسو یک بلاک چین است و شما به عنوان یک کاربر یک کاپوچینوی تازه ساخته شده می خواهید.
-
کاری که انجام خواهید داد این است که با منوی موجود در دستگاه اسپرسوساز تعامل کنید و دکمه کاپوچینو را در آنجا فشار دهید. این منو قرارداد هوشمند ما است، پل بین کاربر و بلاک چین (اسپرسوساز در اینجا).
-
با فشار دادن دکمه کاپوچینو، قرارداد هوشمند با بلاک چین اتریوم (یا هر نوع دیگر بسته به کاربر) تعامل خواهد داشت و 30 وی (= 30* 10e-18 ETH) را به صاحب قرارداد هوشمند منتقل می کند و قهوه را برای شما سرو می کند.
-
مالک از قرارداد هوشمند آدرسی است که آن را مستقر می کند. همچنین، از آنجایی که قراردادهای هوشمند فقط یک بار در شبکه اصلی مستقر می شوند، مالک را نمی توان تغییر داد، هر مجموعه ای از قوانین نیز پس از استقرار قرارداد هوشمند غیرقابل تغییر است.
پیش نیازها
بنابراین، از آنجایی که تصمیم گرفته اید وارد دنیای وب 3 شوید و مشتاق هستید اولین قرارداد هوشمند خود را بنویسید، اجازه دهید برخی از تکالیفی که باید انجام دهید را مورد بحث قرار دهیم.
-
درک اولیه فناوری بلاک چین – این سری مقالات را از ابتدا دنبال کنید.
-
یادگیری Solidity – اگر در هر یک از زبان های برنامه نویسی (c، cpp، python و غیره) مهارت دارید، به سختی دو تا سه هفته طول می کشد تا اصول Solidity را یاد بگیرید، و به من اعتماد کنید اصول اولیه برای شروع کافی است.
منابع: آموزش Solidity یک وب سایت بسیار مفید برای یادگیری solidity است. به غیر از آن، DEV نیز مقالات بسیار خوبی دارد و یوتیوب همیشه ناجی ماست.
-
من را در DEV دنبال کنید 😁
IDE (محیط توسعه یکپارچه)
پس از تکمیل پیش نیازهای لازم، آماده شروع کدنویسی اولین قرارداد هوشمند خود هستید.
-
اکنون وقتی تصمیم می گیریم شروع به کدنویسی کنیم، اولین چیزی که به ذهن ما خطور می کند این است که کدام IDE را باید ترجیح دهد. در اینجا، در صورت استحکام، از آنجایی که این زبان هنوز بسیار جوان است، گزینه های زیادی برای IDE ها در دسترس نداریم. چیزی که در این زمان در سطح جهانی ارجحیت دارد Remix است. Remix دارای انواع شبکه های آزمایشی است و هر حساب در هر شبکه 100 ETH آزمایشی رایگان را به کاربر می دهد که برای توسعه دهندگان بیش از حد کافی است.
-
Remix همچنین به ما امکان اتصال کیف پول MetaMask را می دهد.
-
هنگامی که بر قراردادهای هوشمند تسلط پیدا کردید و میخواهید ساخت dApps را شروع کنید، به هر دو قسمت جلوی وب یا برنامه تلفن همراه به همراه باطن نیاز دارید، سپس از IDE های ترجیحی برای dApps مربوطه استفاده خواهید کرد. به عنوان مثال، اگر می خواهید یک وب dApp ایجاد کنید، ممکن است VS Code Editor را ترجیح دهید.
سوالات متداول متفرقه در مورد قراردادهای هوشمند
Q1. چگونه یک قرارداد هوشمند در بلاک چین ایجاد کنم؟
در مورد فناوری بلاک چین بیاموزید، سپس زبان برنامه نویسی Solidity را یاد بگیرید، شروع به ساخت اولین dApp خود کنید، سپس آن را در شبکه اصلی (اتریوم) یا هر شبکه آزمایشی (Georli، Roopsten و غیره) مستقر کنید. پس از استقرار، اولین قرارداد هوشمند خود را در بلاک چین ایجاد کردید، ووو، تبریک میگوییم. در اینجا یک چیز این است که از آنجایی که قرارداد هوشمند شما در داخل بلاک چین ذخیره می شود، بنابراین، اگر قرارداد هوشمند خود را در شبکه اصلی مستقر کرده باشید، ارائه آن قرارداد غیرممکن است زیرا زنجیره های بلوکی تغییر ناپذیر و غیرقابل برگشت هستند. اما، میتوانید هر چند بار که بخواهید با زنجیرههای شبکه آزمایشی مانند Georli، Ropsten و غیره یا با محیطهای توسعه پیشرفته مانند Truffle و Ganache، Hardfat یا Foundry آزمایش و خطا انجام دهید.
Q2. قرارداد هوشمند در مقابل بلاک چین چیست؟
قراردادهای هوشمند کدها یا قوانین ساده ای هستند که به زبان برنامه نویسی solidity نوشته شده اند و بلاک چین ها (اتریوم، زنجیره بایننس، چند ضلعی و غیره) پایگاه های داده غیرمتمرکز هستند که این قراردادها در آن ذخیره می شوند تا هیچ کس نتواند این قراردادها را ارائه کند.
Q3. قرارداد هوشمند NFT چیست؟
قراردادهای هوشمند که با ضرب، فهرستبندی، خرید، فروش، جمعآوری و مشاهده NFT سروکار دارند، قراردادهای هوشمند NFT نامیده میشوند. NFT ها توکن های غیر قابل تعویض هستند، به این معنی که اینها برخی از هنرهای دیجیتال، موسیقی، عکس ها و غیره هستند که به صورت دیجیتالی به فروش می رسند و در جهان منحصر به فرد هستند. بزرگترین بازار هنر دیجیتال (NFT) Opensea است. من همچنین مقاله ای را ارسال خواهم کرد که در آن به زودی یک dApp بازار NFT را از ابتدا ایجاد خواهم کرد.
Q4. آیا بیت کوین یک قرارداد هوشمند است؟
نه، بیت کوین یک بلاک چین است و بیت کوین ارز دیجیتال آن است. همچنین، بیت کوین از ذخیره قراردادهای هوشمند بر روی آن پشتیبانی نمی کند زیرا بنیانگذار (ساتوشی ناکاموتو) یک روح است. هیچ کس در دنیا نمی تواند با او تماس بگیرد. برای اجرای قراردادهای هوشمند در هر زنجیره ای، زنجیره باید از EVM (ماشین مجازی اتریوم) پشتیبانی کند. زنجیره هایی مانند Polygon، Binance chain و Ethereum از EVM پشتیبانی می کنند و از این رو می توانیم قراردادهای هوشمند را روی آنها ذخیره کنیم.
Q5.
- پلت فرم قرارداد هوشمند چیست؟
- زبان قرارداد هوشمند چیست؟
- چگونه قرارداد هوشمند ببندم؟
مقاله را از ابتدا بخوانید تا همه پاسخ ها را به طور کامل دریافت کنید.
____________________–پایان–____________________
پشتیبانی نویسنده
- اگر مقاله را مفید میدانید، ❤️ را با خیره شدن به برخی از مخازن من و دنبال کردن من در dev.to و github نشان دهید.