در این مقاله به بررسی ثابت ها در سالیدیتی میپردازیم. و یاد می گیرید که چگونه از کلمه کلیدی constant
برای تعریف متغیرهایی استفاده کنید که مقدارشان ثابت است و در طول زمان تغییر نمیکند.
ثابت در سالیدیتی چیست؟
ثابت ها در سالیدیتی متغیرهایی هستند که مقدار آنها از ابتدا مشخص شده و هرگز نمیتوان آن را تغییر داد. این متغیرها با استفاده از کلمه کلیدی constant
تعریف میشوند و معمولاً برای نگهداری مقادیری مانند حداکثر عرضه توکن، نرخ ثابت کارمزد یا هر مقدار ثابتی که قرار نیست در طول عمر قرارداد تغییر کند، استفاده میشوند.
آموزش ثابت ها (Constants) در سالیدیتی
متغیرهای تغییر ناپذیر (immutable) میتوانند یکبار در سازنده (constructor) مقداردهی شوند، اما اگر عددی دارید که هرگز نمیخواهید تغییر کند چه میکنید؟
مانند دیگر زبان های برنامه نویسی، سالیدیتی کلمه کلیدی constant
را دارد. این مشخص میکند که مقدار ثابت است و هرگز تغییر نمیکند.
فرض کنید یک توکن ERC20 دارید که هرگز نباید بیش از ۲۲ میلیون واحد از آن ضرب شود.
بهترین راه برای انجام این کار به شکل زیر است:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
**contract ExampleERC20 { uint256 public constant MAX_SUPPLY = 22_000_000; // erc20 code function mint(unint256 amount) external { require(totalSupply() + amount <= MAX_SUPPLY, "max supply exceeded"); balanceOf[msg.sender] += amount; emit Transfer(address(0), msg.sender, amount); } // rest of the erc20 code }** |
22_000_000
نوشته شده است. این دو مقدار یکسان هستند، اما نسخه دوم خواناتر است. خطتیرههای زیر عدد (Underscore) در اعداد نادیده گرفته میشوند.
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- انتشار: ۱۷ اردیبهشت ۱۴۰۴
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- دوره های تخصصی برنامه نویسی
- رپورتاژ
- فیلم های آموزشی
- ++C
- ADO.NET
- Adobe Flash
- Ajax
- AngularJS
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- AVR
- Bootstrap
- CCNA
- CCNP
- CMD
- CSS
- Dreameaver
- EntityFramework
- HTML
- IOS
- jquery
- Linq
- Mysql
- Oracle
- PHP
- PHPMyAdmin
- Rational Rose
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- WPF
- Xml
- آموزش های پروژه محور
- اتوکد
- الگوریتم تقریبی
- امنیت
- اندروید
- اندروید استودیو
- بک ترک
- بیسیک فور اندروید
- پایتون
- جاوا
- جاوا اسکریپت
- جوملا
- دلفی
- دوره آموزش Go
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کانستراکت
- کریستال ریپورت
- لاراول
- معماری کامپیوتر
- مهندسی اینترنت
- هوش مصنوعی
- یونیتی
- کتاب های آموزشی
- Android
- ASP.NET
- AVR
- LINQ
- php
- Workflow
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس