Skip to content

در این مقاله مطالعه خواهید کرد که سالیدیتی چیست و چگونه در بستر اتریوم از آن استفاده می‌شود.  اگر دوست دارید درباره‌ی چگونگی کار کردن این زبان برنامه نویسی مبتنی بر بلاک چین بیشتر بدانید این مقاله برای شماست.

فهرست مطالب

قرارداد هوشمند (Smart Contracts) نیاز به برنامه‌نویسی دارد، و سالیدیتی ( Solidity)  ابزاری برای این کار است. سالیدیتی از سال ۲۰۱۴ معرفی شد. این ابزار راه طولانی را سپری کرده و بعدها توسط تیم سالیدیتی اتریوم توسعه یافته است. صدها هزار توسعه دهنده وجود دارد که از این زبان برای توليد خدمات مبتنی بر بلاک چین استفاده می­‌کنند چرا که در این زمینه کاربردهای بسیاری دارد. در ادامه بیشتر می‌آموزید که زبان سالیدیتی چیست؟ تا انتهای مقاله با هم‌رویش همراه باشید.

 

زبان سالیدیتی چیست ؟

solidity یک زبان برنامه نویسی سطح بالا و شی گراء است. سالیدیتی برای ساختن قرارداد­های هوشمند که تراکنش‌­های روی بلاک چین را خودکار می­‌کند، استفاده می‌شود. بعد از معرفی در سال ۲۰۱۴ این زبان توسط مشارکت کنندگان در پروژه اتریوم توسعه یافت. این زبان عمدتاً برای ساختن قراردادهای هوشمند روی بلاک چین اتریوم استفاده می‌شود.

سالیدیتی مشابه یکی از زبان‌های برنامه‌نویسی مرسوم به نام جاوا اسکریپت است. این زبان از نظر نحوه نوشتاری دستورات نیز همانند جاوا اسکریپت می‌باشد. به این منظور که اگر جاوا اسکریپت را بلد باشید به راحتی سالیدیتی را یاد خواهید گرفت. همچنین ویژگی‌های مشابه زیادی با پایتون و ++C دارد.

 

زبان-سالیدیتی-چیست-هم-رویش

 

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

سالیدتی استاتیک تایپ (statically typed) است، که در آن ارث‌بری، کتابخانه‌ها و تعریف نوع داده توسط کاربر (user-defined types) پشتیبانی می‌­شود. از آنجایی که سالیدیتی استاتیک تایپ است، کاربر هر نوع متغیری را می‌تواند تعریف ‌کند و کامپایلر بر اساس دیتا تایپ هر متغیر که هنگام ساخت آن مشخص شده کار خود را به درستی انجام می‌دهد. دیتاتایپ‌های سالیدیتی معمولا به دو دسته Reference Type و Value Type طبقه بندی می‌شوند.

 

 

 

هم رویش منتشر کرده است:

آموزش سریع جاوا اسکریپت در 3 ساعت (رایگان)

 

 

 

بزرگترین تفاوت بین Value Type و Reference Type ها در این است که چطور به یک متغیر اختصاص داده می‌شوند و در ماشین مجازی اتریوم EVM (Ethereum Virtual Machine) ذخیره شده‌اند. زمانی که تغییری در مقدار یک متغیر از نوع Value Type  انجام می‌دهید هیچ تغییری روی مقدار متغییر های دیگر ایجاد نمی‌شود اما با ایجاد تغییر در مقادیر Reference Types ممکن است مقادیر دیگر بروزرسانی شوند.

 

سالیدیتی چگونه کار می‌کند؟

زیبایی بستر اتریوم به این است که ارزهای دیجیتال و اپ‌های غیرمتمرکز زیادی می‌توانند از آن استفاده کنند. قرارداد هوشمند این امکان را می‌سازد که از تکنولوژی‌های پیشرفته در بستر اتریوم برای انواع زیادی از کسب و کارها و سازمان‌ها استفاده شود.

هرساله در جهان میلیاردها دلار برای روش‌های بلاک چین خرج می‌شود. خیلی از این روش‌ها از سالیدیتی به دست می‌آیند. قراردادهای هوشمندی که با سالیدیتی نوشته شده یکی از راه‌های خودکار سازی تراکنش‌های مابین کسب‌ و کارها و همچنین بین مردم است.

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

 

 

سالیدیتی به صورت نامشخص همانند یک ماشین کد می‌سازد که روی EVM اجرا می‌شود. کامپایلر کدهای پیشرفته را به دستوالعمل‌هایی تبدیل می‌کند که پردازنده بتواند آن را بخواند. پلتفرم‌های مختلف، کامپایلر سالیدیتی را به صورت رایگان ارائه می‌کنند. از جمله کامپایلر آنلاین ریمیکس (Remix) و یک کامپایلر در محیط خط فرمان (command-line) برای کامپیوتر شخصی.

قراردادهای هوشمند EVM یک سری محدودیت‌هایی دارد که باید مورد ملاحظه قرار گیرد. یکی از محدودیت‌ها دسترسی محدود به توابع مفید برای خواندن ساختارهای جیسون (JSON) یا محاسبات Floating-point (روش محاسباتی که به طور خودکار محل ممیز یا نقطه‌ی اعشار را شناسایی می‌کند) است.

 

توابع عمومی (public) و خصوصی (private)

توابع عمومی مانند‌ API ها می‌مانند که هر کسی در دنیا به آن‌ها دسترسی دارد و هرکسی می‌تواند آن کدها را فراخوانی کنند. توابع عمومی طوری طراحی شدند که در بیشتر حالات برای فرایندهای مشترک در یک پلتفرم که همه کاربران از آن استفاده می‌کنند باشند.

برای مثال، یک تابع عمومی می‌تواند طوری طراحی شود که به همه کاربران این اجازه را بدهد که موجودی حساب خود را چک کنند. یکی از رایج‌ترین راه‌های بهره‌برداری از قراردادهای هوشمند، توابع عمومی است.

در حالی که نوشتن قراردادهای هوشمند با سالیدیتی آسان است اغلب نوشتن ایمن آنها بسیار دشوار می‌باشد. برای مثال اگر تابع برداشت در یک قرارداد هوشمند ایمن نباشد، مهاجم می‌تواند تابع آسیب پذیر را دستکاری کند تا حساب را از پول خالی کند.

 

 

 

هم رویش منتشر کرده است:

آموزش برنامه نویسی از صفر --- چگونه برنامه نویس شویم؟ (بسته جامع)

 

 

 

 

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

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

 

استانداردها و منطق کد

استانداردهای مختلفی در حال ظهور هستند که تعیین می‌کنند چگونه از قراردادهای هوشمند سالیدیتی برای ساخت برنامه‌های کاربردی در اتریوم استفاده شود. این استانداردها به عنوان استانداردهای ERC (Ethereum Request for Comments) شناخته می شوند. استانداردها بر اساس سندی است که حاوی دستورالعمل‌هایی در مورد عملکردهای مورد نیاز و محدودیت‌هایی در مورد نحوه رفتار کد است.

استانداردهای ERC که نحوه عملکرد سالیدیتی را تعیین می کنند عبارتند از:

• ERC20
• ERC165
• ERC721
• ERC223
• ERC621
• ERC777
• ERC827
• ERC884
• ERC865
• ERC1155

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

 

تغییرناپذیری

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

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

 

هزینه گس (Gas costs)

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

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

بهینه‌سازی گس به کاهش هزینه در هنگام اجرای کد سالیدیتی کمک می‌کند. برخی از محبوب‌ترین روش‌های بهینه سازی گس شامل استفاده از کتابخانه‌ها و استفاده از توابع کمتر است. کتابخانه‌ها اغلب برای ذخیره از بایت‌کد‌ استفاده می‌کنند.

به جای اضافه کردن بایت‌کد‌ غیر ضروری به قرارداد هوشمند، منطق را می‌توان در کتابخانه‌ها قرار داد. این به کوچک نگه داشتن اندازه قرارداد هوشمند کمک می‌کند. با استفاده از توابع کمتر، بایت‌کد کمتری مورد نیاز است و دشواری بازبینی کد نیز کاهش می‌یابد.

 

چگونه می‌توان از سالیدیتی در اتریوم استفاده کرد؟

سالیدیتی برای ایجاد قراردادهای هوشمند برای توکن‌های قابل تعویض (FT) و توکن‌های غیرقابل تعویض (NFT) استفاده می‌کند. استانداردهای مختلفی برای ساخت توکن‌های غیر قابل تعویض و توکن‌های قابل تعویض در اکوسیستم اتریوم استفاده می‌شود.

این موارد اجازه می‌دهد تا انواع مختلفی از موارد استفاده برای افرادی که از بلاکچین استفاده می کنند ایجاد شود. سالیدیتی افراد را قادر می‌سازد تا از توکن‌های قابل تعویض و توکن‌های غیرقابل تعویض در اتریوم استفاده کنند. از ضرب توکن‌های غیرقابل تعویض گرفته تا افزودن آن‌ها به پول‌های ییلد فارمینگ (yield farming) برای بهره‌مندی بیشتر، انواع مختلفی از استفاده از توکن‌ها توسط اتریوم امکان‌پذیر است.

سازمان‌های خودمختار غیرمتمرکز (DAO) نیز توسط سالیدیتی امکان‌پذیر شده‌اند. یک DAO، که نوع جدیدی از ساختار سازمانی آنلاین است، در درجه اول در سالیدیتی نوشته شده است. DAO به افراد مختلف اجازه می‌دهد تا به عنوان اعضای یک پلتفرم آنلاین گرد هم آیند و در آنجا به تصمیمات کلیدی DAO رأی دهند.

سالیدیتی امکان خودکارسازی فرآیندهای درون DAO را فراهم می‌کند. نمونه‌هایی از اتوماسیون فرآیند در DAO شامل اخذ رأی برای تصمیمات کلیدی و تخصیص اعتبار به اعضای DAO برای مشارکت آنها در گروه است.

 

تعریف استانداردهای بلاکچین

سالیدیتی خیلی بیشتر از یک زبان برنامه نویسی است. در حال تعیین استانداردهایی برای آینده فناوری بلاک چین می‌باشد.

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

 

+ پیشنهاد مطالعه:

5 دلیل که نشان می‌دهد برنامه نویسی پایتون برای بلاکچین مناسب است

 

کلیدواژگان

زبان سالیدیتی چیست | زبان solidity چیست | solidity چیست | زبان برنامه نویسی سالیدیتی چیست | زبان برنامه نویسی solidity چیست | زبان برنامه نویسی سالیدیتی | زبان سالیدیتی چیست

 

منبع

what-is-solidity

دوره های آموزشی مرتبط

  • تصویر-شاخص-آموزش-GEP-برای-تابع-یابی-با-هوش-مصنوعی آموزش GEP برای تابع یابی با هوش مصنوعی --- برنامه سازی بیان ژنی ۷۸,۰۰۰ تومان
  • فیلم-آموزش-شبکه-های-عصبی-مصنوعی-صفر-به-زبان-ساده-هم رویش آموزش شبکه عصبی مصنوعی -- از صفر به زبان ساده ۱۴۴,۰۰۰ تومان

نویسنده :

سئو و ویراستاری :

زیبا عامریان هستم فارغ‌التحصیل مهندسی کامپیوتر و متخصص سئو و بازاریابی محتوا. در تیم اجرایی هم‌رویش مدیریت واحد محتوا رو به عهده دارم و امیدوارم که تونسته باشم تاثیر خوبی روی سئو و کیفیت خوانش محتوای هم‌رویش بگذارم.

زیبا عامریان هستم فارغ‌التحصیل مهندسی کامپیوتر و متخصص سئو و بازاریابی محتوا. در تیم اجرایی هم‌رویش مدیریت واحد محتوا رو به عهده دارم و امیدوارم که تونسته باشم تاثیر خوبی روی سئو و کیفیت خوانش محتوای هم‌رویش بگذارم.

Search
تدریس در هم‌رویش با ۲۰ هزار دانشجو = کسب درآمد + دیده‌شدن

مطالب مرتبط

دسته بندی مطالب

.
AI crawler Flask framework JavaScript MQL4 MQL5 numpy Pandas UX آموزش برنامه نویسی آموزش تصویری آموزش کاربردی استخراج داده‌ها اینترنت اشیا برنامه نویسی وب بینایی کامپیوتر تکنولوژی جنگو داده کاوی دانشمند داده رابط کاربری ربات رباتیک زبان برنامه نویسی شبکه شبکه عصبی علم داده فرانت اند فریمورک ماشین‌های هوشمند متاتریدر متن باز میکروپایتون میکروکنترلر هوش مصنوعی وب وب اسکریپینگ وب کاوی پردازش تصویر کتابخانه های پایتون کتابخانه های یادگیری ماشین کسب و کار آنلاین یادگیری عمیق یادگیری ماشین
دوره-رایگان-یادگیری-ماشین-کتاب-یادگیری-ماشین-ژرون-Aurelien-Geron-هم-رویش
یادگیری ماشین رایگان ــ تندخوانی کتاب جرون
آموزش-ساخت-فروشگاه-فول-استک-با-جنگو-و-ری-اکت-ریکت-هم-رویش
آموزش ساخت فروشگاه با جنگو و ری اکت (بسته جامع)
آموزش ساخت اکسپرت با mql5 در متاتریدر - بسته تکمیلی
آموزش ساخت اکسپرت معامله متاتریدر (۲۰۲۴)
آموزش شبکه عصبی در معامله الگوریتمی با پایتون و mql5
آموزش شبکه عصبی برای معامله الگوریتمی با MQL5 و پایتون
آموزش-کار-با-لنگچین-Langchain-ساخت-ChatBot-PDFساخت-اپلیکیشن-هوش-مصنوعی-هم-رویش
شیرجه به دنیای لنگچین Langchain | ساخت ChatBot PDF

玻璃钢生产厂家绍兴玻璃钢广场雕塑价格玻璃钢地排车雕塑商场货架美陈布置泰州玻璃钢海豚雕塑厂家四川玻璃钢仿铜雕塑玻璃钢雕塑节庆美陈小品南通人物玻璃钢雕塑制作成都户外玻璃钢雕塑设计河南玻璃钢人物户外不锈钢雕塑宣威市玻璃钢雕塑批发广州玻璃钢雕塑茶几安庆十一商场美陈庆阳仿真玻璃钢雕塑定做长宁区拉丝玻璃钢雕塑哪家好成都玻璃钢雕塑加工厂玻璃钢人物雕塑广场齐全衢州玻璃钢果蔬雕塑广场玻璃钢雕塑公司江门玻璃钢雕塑定做哈尔滨玻璃钢雕塑租赁广东室内雕塑玻璃钢淳安玻璃钢造型雕塑许昌花朵校园玻璃钢雕塑四川秋季商场美陈供应玻璃钢园林雕塑定做花盆模具 玻璃钢花盆模具马鞍山玻璃钢文字音符雕塑玻璃钢鹿雕塑现货透光玻璃钢雕塑现货常德商场美陈雕塑厂家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化