آشنایی با قراردادهای هوشمند

ساخت وبلاگ

"قرارداد هوشمند" صرفاً برنامه ای است که روی blockchain Ethereum اجرا می شود. این مجموعه ای از کد (توابع آن) و داده ها (حالت آن) است که در یک آدرس خاص در blockchain Ethereum قرار دارد.

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

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

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

یک دستگاه فروش دیجیتال

شاید بهترین استعاره برای یک قرارداد هوشمند یک ماشین فروش باشد ، همانطور که توسط نیک سزابو شرح داده شده است. با ورودی های مناسب ، خروجی خاصی تضمین می شود.

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

 
1پول + انتخاب میان وعده = میان وعده توزیع شده
2

این منطق در دستگاه فروش برنامه ریزی شده است.

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

 
1استحکام پراگما 0. 8. 7 ؛
2
3قرارداد فروش machine
4
5 // اعلام متغیرهای دولتی قرارداد
6 آدرس مالک عمومی ؛
7 mapping (address =>UINT) کیک های کیک عمومی ؛
8
9 // هنگامی که قرارداد "VendingMachine" مستقر شد:
10 // 1. آدرس استقرار را به عنوان صاحب قرارداد تنظیم کنید
11 // 2. تعادل کیک کیک قرارداد هوشمند مستقر را روی 100 تنظیم کنید
12 سازنده ()
13 مالک = msg. sender ؛
14 کیک های کیک [آدرس (این)] = 100 ؛
15 >
16
17 // به مالک اجازه دهید تعادل کیک کیک قرارداد هوشمند را افزایش دهد
18 پر کردن مجدد عملکرد (مقدار UINT) عمومی
19 نیاز به (msg. sender == مالک ، "فقط مالک می تواند دوباره پر کند.") ؛
20 کیک های کیک [آدرس (این)] += مقدار ؛
21 >
22
23 // به هر کسی اجازه دهید کیک کیک خریداری کند
24 خرید عملکرد (مبلغ UINT) قابل پرداخت عمومی
25 require(msg.value>= مبلغ * 1 اتر ، "شما باید حداقل 1 ETH در هر کیک کیک بپردازید") ؛
26 require(cupcakeBalances[address(this)]>= مبلغ ، "کیک های کافی در انبار برای تکمیل این خرید") ؛
27 کیک های کیک [آدرس (این)] -= مقدار ؛
28 کیک های کیک [msg. sender] += مقدار ؛
29 >
30>
31
نشان دادن همه
کپی استراتژی‌های اسکالپ...
ما را در سایت استراتژی‌های اسکالپ دنبال می کنید

برچسب : نویسنده : جعفر بدیعی بازدید : <-PostHit-> تاريخ : دوشنبه 2 مرداد 1402 ساعت: 13:42