<?xml version="1.0" encoding="utf-8"?>

	<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">

	<channel>

	<title>سالیدیتی (Solidity) زبانی برای توسعه قراردادهای هوشمند</title>

	<description>سالیدیتی (Solidity) زبانی برای توسعه قراردادهای هوشمند Rss Feed</description>

	<link>https://soliditytraining.royablog.ir/</link>

	<language>Fa</language>

	<generator>royablog.ir</generator>

	<lastBuildDate>2022-11-26T23:53:33+03:30</lastBuildDate>
	<item>
		<title><![CDATA[برنامه نويسي Solidity در اتريوم]]></title>
		<description><![CDATA[<p><img style="display: block; margin-left: auto; margin-right: auto;" src="https://s6.uupload.ir/files/solidity-development_37s.png" alt="" width="622" height="350" /></p>
<p><strong>همه چيز در مورد برنامه نويسي Solidity</strong></p>
<p>در اتريوم&nbsp;برنامه هاي غيرمتمركز به عنوان مرحله مهم بعدي در تكامل راه حل هاي ديجيتال تكامل يافته اند. آنها در كنار تشويق اكوسيستم DeFi ، امكان بسياري از راه حل هاي جديد را براي موارد استفاده در صنايع مختلف معرفي كرده اند.</p>
<p>برنامه نويسي Solidity در اتريوم چگونه براي برنامه هاي غيرمتمركز مرتبط است؟ در واقع، بيشتر برنامه هاي غيرمتمركز بر روي بلاك چين منبع باز و غيرمتمركز اتريوم توسعه يافته اند .&nbsp;</p>
<p>&nbsp;</p>
<p>Solidity به&zwnj;عنوان زبان برنامه&zwnj;نويسي براي برنامه&zwnj;هاي غيرمتمركز عمل مي&zwnj;كند و در نتيجه ارتباط آن با اتريوم را تأييد مي&zwnj;كند. بحث زير راهنماي دقيقي در مورد اصول برنامه نويسي Solidity و مفاهيم مهم آن ارائه مي دهد. همچنين مي توانيد با روش هاي شروع برنامه نويسي Solidity با مراحل دقيق آشنا شويد.</p>
<p>&nbsp;<br />آيا مي خواهيد درك عميقي از مفاهيم Solidity داشته باشيد؟ اكنون عضو شويد و به دوره آموزشي Solidity Fundamentals دسترسي رايگان داشته باشيد !</p>
<p>&nbsp;</p>
<p><br /><strong>تعريف برنامه نويسي جامد</strong></p>
<p>يكي از اولين چيزها در هر بحث در مورد Solidity به وضوح به پاسخ هاي ممكن براي " برنامه نويسي Solidity چيست؟ " اشاره مي كند. &rdquo; و اهميت آن برنامه هاي غيرمتمركز مانند هر نرم افزار يا برنامه ديگري هستند و براي اجراي كدهاي مورد نياز سيستم خود به يك زبان برنامه نويسي نياز دارند.&nbsp;</p>
<p>&nbsp;<br />Solidity زبان برنامه نويسي اوليه براي توسعه قراردادهاي هوشمند در بلاك چين اتريوم است. يكي از نكات مهم اتصال Solidity Ethereum به اين واقعيت اشاره دارد كه Solidity يك زبان قرارداد محور است. در نتيجه، قراردادهاي هوشمند مسئول ذخيره منطق برنامه&zwnj;نويسي در تعامل با بلاك چين هستند.&nbsp;</p>
<p>&nbsp;<br />زبان برنامه نويسي سطح بالا كه به صورت ايستا تايپ مي شود، شباهت هاي قابل توجهي با زبان هاي محبوبي مانند پايتون، سي پلاس پلاس و جاوا اسكريپت دارد. مهمتر از همه، Solidity براي كار بر روي ماشين مجازي اتريوم يا EVM طراحي شده است كه بر روي گره هاي اتريوم مرتبط با بلاك چين ميزباني مي شود.&nbsp;</p>
<p>&nbsp;<br />اساسا، اهميت برنامه&zwnj;نويسي Solidity براي بلاك&zwnj;چين اتريوم در توانايي توسعه برنامه&zwnj;هاي بلاك چين در سطح صنعتي است . اين توسط تيم شبكه اتريوم، به ويژه براي طراحي و ايجاد قراردادهاي هوشمند بر روي پلتفرم هاي بلاك چين ايجاد شده است .&nbsp;</p>
<p>&nbsp;<br />Solidity به ايجاد قراردادهاي هوشمند كمك مي كند، كه مي تواند اجراي منطق تجاري را به دنبال ايجاد زنجيره اي از سوابق تراكنش در سيستم بلاك چين تضمين كند. عملكرد اوليه Solidity بر توسعه كد در سطح ماشين در كنار تسهيل كامپايل كد در ماشين مجازي اتريوم يا EVM تمركز دارد. طراحي Solidity نيز مشابه ساير زبان هاي برنامه نويسي است و شامل متغيرها، كلاس ها، عمليات حسابي، توابع، دستكاري رشته ها و مفاهيم ديگر است.&nbsp;</p>
<p>&nbsp;<br />(هويت خود را به عنوان يك متخصص خبره بلاك چين با 101 گواهينامه بلاك چين بلاك چين بسازيد كه براي ارائه چشم اندازهاي شغلي پيشرفته طراحي شده است.)</p>
<p>&nbsp;</p>
<p>&nbsp;<br /><strong>رشد برنامه نويسي استحكام</strong></p>
<p>&nbsp;رشد برنامه نويسي Solidity در اتريوم يكي ديگر از نكات مهم در مقدمه اي بر زبان توسعه قرارداد هوشمند است. اين يك زبان نسبتاً جديد است كه به سرعت با پيشرفت هاي قطعي بسياري در حال رشد است. در حال حاضر، اين زبان اصلي براي توسعه قراردادهاي هوشمند در اتريوم است.&nbsp;</p>
<p>&nbsp;<br />علاوه بر اين، به قراردادهاي برنامه نويسي هوشمند براي ساير شبكه هاي بلاك چين خصوصي در پلتفرم هاي رقيب مانند Monax نيز كمك مي كند. Monax از بلاك چين Hyperledger Burrow استفاده مي كند كه براي اطمينان از اجماع بر پروتكل Tendermint متكي است .</p>
<p>علاوه بر اين، SWIFT همچنين اثبات مفهومي را توسعه داده است كه بر روي بلاك چين Burrow اجرا مي شود و از زبان برنامه نويسي Solidity استفاده مي كند.&nbsp;</p>
<p>&nbsp;<br /><strong>اهميت EVM و قراردادهاي هوشمند&nbsp;</strong></p>
<p>&nbsp;دو نكته مهم در كار Solidity به EVM و قراردادهاي هوشمند اشاره دارد و به درك بهتر برنامه نويسي Solidity كمك مي كند. اول از همه، اجازه دهيد با نقش EVM براي Solidity آشنا شويم. EVM يا ماشين مجازي اتريوم يك جزء جدايي ناپذير براي عمليات در بلاك چين اتريوم است. اين محيط زمان اجرا مورد نياز براي پردازش قراردادهاي هوشمند اتريوم را ارائه مي دهد.&nbsp;</p>
<p>&nbsp;<br />هدف اصلي EVM بر تضمين امنيت از برنامه هاي غيرقابل اعتماد با استفاده از يك شبكه جهاني از گره هاي عمومي تمركز دارد. برجسته ترين ويژگي EVM در جلوگيري از انكار سرويس يا حملات DoS مشهود است. EVM تضمين مي&zwnj;كند كه برنامه&zwnj;هاي غيرمتمركز نمي&zwnj;توانند به وضعيت يكديگر دسترسي داشته باشند در حالي كه كانال&zwnj;هاي مناسب براي ارتباط را بدون هيچ وقفه ايجاد مي&zwnj;كنند.&nbsp;</p>
<p>&nbsp;<br />جنبه مهم بعدي كه براي شروع برنامه نويسي Solidity نياز داريد به قراردادهاي هوشمند اشاره مي كند. قراردادهاي هوشمند جزء ضروري اكوسيستم اتريوم هستند. آنها اساساً كدهاي برنامه نويسي سطح بالايي هستند كه قبل از ارسال در بلاك چين اتريوم براي تسهيل اجرا، در EVM كامپايل مي شوند.&nbsp;</p>
<p>&nbsp;<br />قراردادهاي هوشمند با فعال كردن گزينه&zwnj;ها براي انجام معاملات معتبر بدون هيچ شخص ثالث، مزاياي ارزش بيشتري را به همراه دارند. جالب توجه است، تراكنش&zwnj;هاي مرتبط با قراردادهاي هوشمند ماهيت غيرقابل برگشت دارند و سهولت قابل توجهي براي رديابي فراهم مي&zwnj;كنند. Solidity يكي از زبان هاي برنامه نويسي است كه براي ايجاد و نوشتن قراردادهاي هوشمند استفاده مي شود. برخي از ديگر زبان هاي برنامه نويسي رايج مورد استفاده براي توسعه قراردادهاي هوشمند عبارتند از Mutan، LLL و Serpent.&nbsp;</p>
<p>&nbsp;<br /><strong>انواع داده هاي استحكام&nbsp;</strong></p>
<p>&nbsp;طراحي زبان برنامه نويسي Solidity شباهت هاي زيادي با زبان هاي سطح بالا مانند C++ دارد. پايتون و جاوا اسكريپت. به عنوان يك زبان برنامه نويسي شي گرا، انواع داده ها در Solidity مشابه ساير زبان هاي OOP هستند. برخي از انواع داده هاي رايج كه در زبان هاي OOP پشتيباني مي شوند و مي توانيد با Solidity پيدا كنيد عبارتند از Boolean، Integer، String، Array و Modifier.&nbsp;</p>
<p>&nbsp;</p>
<ul>
<li>نوع داده Boolean شرايط را ارزيابي مي كند و با تأييد صحت شرط '1' يا با شناسايي يك شرط نادرست '0' را برمي گرداند.</li>
<li>&nbsp;نوع داده Integer در Solidity قابليت امضا يا لغو علامت مقادير صحيح با Solidity را ارائه مي&zwnj;كند.نوع داده عدد صحيح همچنين از استثناهاي زمان اجرا و همچنين كلمات كليدي 'uint256' و 'uint8' پشتيباني مي كند.&nbsp;</li>
<li>نوع داده String در برنامه نويسي Solidity براي بلاك چين اتريوم شامل استفاده از نقل قول هاي تك يا دوگانه براي طبقه بندي داده ها به عنوان يك رشته است.&nbsp;</li>
<li>Modifier يكي ديگر از انواع داده هاي مهم در زبان برنامه نويسي Solidity براي نقش آن قبل از اجراي كد قرارداد هوشمند است.اصلاح كننده مسئول تاييد منطقي بودن يك شرط خاص قبل از اجراي كد است.&nbsp;</li>
<li>نحو براي انواع داده هاي آرايه در Solidity شبيه به ساير زبان هاي OOP است، به خصوص با پشتيباني از آرايه هاي تك بعدي و چند بعدي.&nbsp;</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;يكي ديگر از نكات برجسته در طراحي Solidity به تسهيلات نگاشت ساختارهاي داده با مقادير هش، enumها و عملگرها براي برگرداندن مقادير در مكان هاي ذخيره سازي خاص اشاره دارد.&nbsp;</p>
<p>&nbsp;</p>
<p><strong>بهترين راه براي شروع استفاده از Solidity</strong></p>
<p>اصول اوليه Solidity در اتريوم مي تواند هر كسي را تشويق كند تا شروع به طراحي و ايجاد قراردادهاي هوشمند در Solidity كند. با اين حال، يادگيري بهترين روش ها براي شروع برنامه نويسي Solidity نيز مهم است. مهمتر از همه، شما بايد با رويكردهاي اساسي براي تعامل با Solidity شروع كنيد. در اينجا چند نمونه جالب از كدهاي پايه در برنامه نويسي Solidity به همراه اهميت آنها آورده شده است.&nbsp;</p>
<p>&nbsp;</p>
<p><strong>نسخه پراگم</strong></p>
<p>اراهنماي استفاده از برنامه نويسي Solidity در اتريوم بديهي است كه به پراگماهاي نسخه و مزاياي آنها اشاره دارد. Pragmas in Solidity اساساً دستورالعمل&zwnj;هاي مربوط به روش&zwnj;هاي مديريت كد را به كامپايلر ارائه مي&zwnj;كند. بنابراين، اضافه كردن يك &laquo;پراگما نسخه&raquo; در ابتداي هر خط كد منبع در زبان برنامه&zwnj;نويسي Solidity مهم است.&nbsp;<br />نسخه pragma مشخصات نسخه كامپايلر Solidity مناسب براي كد را ارائه مي دهد. نسخه پراگما يك نكته مهم براي عملكرد EVM و قراردادهاي هوشمند در Solidity است. اين به جلوگيري از ناسازگاري كد با نسخه هاي بعدي كامپايلر، كه ممكن است تغييرات قابل توجهي داشته باشد، كمك مي كند.&nbsp;</p>
<p>&nbsp;</p>
<p><strong>كلمه كليدي قرارداد</strong></p>
<p>كلمه كليدي "Contract" يكي ديگر از نيازهاي مهم براي شروع برنامه نويسي Solidity و عملكردهاي آن است. كلمه كليدي به اعلان قرارداد كمك مي كند كه كپسوله كردن كد را تسهيل مي كند.&nbsp; &nbsp;&nbsp;</p>
<p>&nbsp;</p>
<p><strong>اعلام متغيرهاي حالت</strong></p>
<p>متغيرهاي حالت يك دسته مهم از متغيرها در برنامه نويسي Solidity هستند. متغيرهاي حالت در بلاك چين اتريوم به نگهداري دائمي در ذخيره سازي قرارداد هوشمند مي روند. شما مي توانيد يك متغير حالت به نام "var1" را به عنوان يك نوع Uint با خط "uint public var1" اعلام كنيد. متغير حالت var1، در اين مورد، يك عدد صحيح 256 بيتي بدون علامت خواهد بود. دانستن اين نكته مهم است كه اعلام متغيرهاي حالت بيشتر شبيه به معرفي اسلات هاي اضافي در يك پايگاه داده است.&nbsp;</p>
<p><br /><strong>اعلان توابع</strong></p>
<p>يكي ديگر از تمرين هاي اساسي قابل توجه در راهنماهاي " برنامه نويسي Solidity چيست؟ &rdquo; به اعلان توابع اشاره دارد. مثال زير از كد برنامه نويسي Solidity براي اعلان يك تابع را در نظر بگيريد .</p>
<p>&nbsp;در عين حال، كاربراني كه مي&zwnj;توانند به بلاك چين اتريوم دسترسي داشته باشند، مي&zwnj;توانند از تابع &laquo;set&raquo; براي تغيير مقادير var1 و var2 استفاده كنند. علاوه بر اين، اضافه كردن مقادير متغيرهاي var1 و var2 مي تواند در محاسبه مجموع متغير كمك كند. علاوه بر اين، قرارداد هوشمند با استفاده از تابع "get" به بازيابي و چاپ مقدار مجموع متغير حالت نيز كمك مي كند.&nbsp;</p>
<p><br /><br /><strong>اجراي كد در برنامه نويسي Solidity&nbsp;</strong></p>
<p>دانش شما در مورد برنامه نويسي Solidity براي بلاك چين اتريوم نيز به ميزان آشنايي شما با اجراي برنامه هاي Solidity بستگي دارد. شما مي توانيد دو روش متمايز براي اجراي يك برنامه Solidity پيدا كنيد، مانند حالت آنلاين و آفلاين. اجازه دهيد نگاهي به روش هاي اجراي برنامه Solidity با جزئيات بياندازيم.</p>
<p>&nbsp;</p>
<p><strong>حالت آفلاين</strong></p>
<p>اولين انتخاب براي اجراي قراردادهاي هوشمند Solidity EVM به حالت آفلاين عمليات اشاره دارد. با اين حال، رعايت سه شرط مهم قبل از اجراي قرارداد هوشمند Solidity در حالت آفلاين مهم است. اولين شرط مهم براي اجراي قرارداد هوشمند Solidity در حالت آفلاين، دانلود و نصب node.js است.</p>
<p>همچنين بايد Truffle و Ganache -CLI را به عنوان پيش نيازهاي اجراي قراردادهاي هوشمند در Solidity در حالت آفلاين نصب كنيد.&nbsp;چگونه قراردادهاي هوشمند Solidity را در حالت آفلاين اجرا مي كنيد؟</p>
<p>در اينجا مراحل مهمي وجود دارد كه بايد براي اجراي كد قرارداد هوشمند Solidity در حالت آفلاين دنبال كنيد.&nbsp;</p>
<p>&nbsp;</p>
<ul>
<li>يك پروژه Truffle را توسعه دهيد و يك شبكه توسعه قابل اعتماد براي آن ايجاد كنيد.</li>
<li>روي توسعه و استقرار يك قرارداد هوشمند براي پروژه كار كنيد.</li>
<li>از طريق تعاملات مختلف از داشبورد Truffle با قرارداد هوشمند درگير شويد.</li>
<li>آزمايش هايي را براي ارزيابي ويژگي هاي اوليه Solidity ايجاد كنيد.</li>
</ul>
<p>&nbsp;</p>
<p><strong>حالت آنلاين</strong></p>
<p>فرآيند استفاده از برنامه نويسي Solidity در اتريوم نيز انعطاف پذيري براي اجراي كد در محيط هاي آنلاين را ارائه مي دهد. Remix IDE به عنوان بهترين انتخاب براي هر كسي كه علاقه مند به كامپايل و اجراي قراردادهاي هوشمند Solidity است عمل مي كند.&nbsp;</p>
<p>&nbsp;</p>
<p><strong>ساختارهاي داده در استحكام</strong></p>
<p>براي شروع برنامه نويسي Solidity نمي توانيد ساختارهاي داده را در يك راهنما از دست بدهيد، زيرا آنها عملكردهاي مهمي را ارائه مي دهند. يكي از اولين ساختارهاي داده به ساختار داده Enum اشاره دارد كه به حفظ رديابي ليست هاي شمارش شده در زبان برنامه نويسي Solidity كمك مي كند. ساختارها نمونه ديگري از ساختارهاي داده محبوب هستند كه به تعريف انواع داده هاي خود كمك مي كنند.</p>
<p>ساختارها اساساً مي&zwnj;توانند به شما در مدل&zwnj;سازي هر نوع داده با توجه به نيازها با ويژگي&zwnj;هاي دلخواه انواع داده&zwnj;هاي مختلف كمك كنند. به طور مشابه، شما همچنين مي توانيد با آرايه ها به عنوان يكي از ورودي هاي مهم در ميان ساختارهاي داده در برنامه نويسي Solidity روبرو شويد.&nbsp;</p>
<p><br />بزرگترين شگفتي براي افراد علاقه مند به برنامه نويسي Solidity چيست؟ واضح است كه به ساختار داده "Mappings" اشاره دارد. نگاشت&zwnj;ها در Solidity به ذخيره&zwnj;سازي جفت&zwnj;هاي كليد-مقدار كمك مي&zwnj;كنند و يك نكته برجسته در توابع زبان برنامه&zwnj;نويسي هستند. ساختار داده "Mappings" در Solidity بيشتر شبيه يك جدول هش يا آرايه انجمني مرتبط با ساير توابع است.&nbsp;</p>
<p><br /><strong>قابليت مشاهده عملكرد</strong></p>
<p>راهنماهاي برنامه نويسي Solidity همچنين اهميت قابليت مشاهده عملكرد را روشن مي كند. نقش مهمي در تعريف دامنه توابع قرارداد هوشمند در زبان برنامه نويسي Solidity ايفا مي كند. براي مثال، قابليت مشاهده عملكرد عمومي، فراخواني تابع را از طريق حساب&zwnj;هاي خارج از قرارداد هوشمند آسان مي&zwnj;كند. متعاقبا، ديد داخلي نيز براي ايجاد عملكردهايي مفيد است كه فقط در قراردادهاي هوشمند قابل استفاده هستند.&nbsp;</p>
<p>&nbsp;</p>
<p><strong>مزاياي برنامه نويسي Solidity</strong></p>
<p>امكان سنجي برنامه نويسي Solidity براي بلاك چين اتريوم بستگي زيادي به مزاياي ارزشي دارد كه ارائه مي دهد. به غير از قابليت&zwnj;هاي اساسي، Solidity ويژگي&zwnj;هاي جالب زيادي را ارائه مي&zwnj;كند كه تأييد مي&zwnj;كند كه گزينه بهتري نسبت به بسياري از زبان&zwnj;هاي برنامه&zwnj;نويسي مبتني بر اتريوم است. اولين مزيت برنامه نويسي Solidity به پشتيباني از انواع داده هاي پيچيده و متغيرهاي عضو در كنار انواع داده هاي اساسي اشاره دارد.&nbsp;</p>
<p><br />علاوه بر اين، زبان برنامه نويسي Solidity يك رابط باينري برنامه يا ABI را براي فعال كردن ايمني نوع داده ارائه مي دهد. وقتي كامپايلر هرگونه عدم تطابق نوع داده را براي متغيرهاي خاص تشخيص مي&zwnj;دهد، ABI مي&zwnj;تواند به شناسايي سريع خطاها كمك كند. يكي ديگر از نكات برجسته برنامه نويسي Solidity در اتريوم به تأثير &laquo;مشخصات زبان طبيعي&raquo; اشاره دارد. Solidity از مشخصات زبان طبيعي براي تبديل مشخصات كاربر محور به زباني قابل درك براي ماشين ها استفاده مي كند.&nbsp;</p>
<p>&nbsp;</p>
<p>ساير مزاياي حياتي استفاده از Solidity براي ساخت برنامه هاي غيرمتمركز و قراردادهاي هوشمند شامل موارد زير است:&nbsp;</p>
<p>&nbsp;</p>
<ul>
<li>دسترسي آسان به ويژگي هاي شي گرا در قراردادهاي هوشمند ، مانند ويژگي هاي وراثت چند سطحي.&nbsp;</li>
<li>&nbsp;Solidity با استفاده از Application Binary Interface يا ABI از انواع مختلفي از نقش هاي پشتيباني پشتيباني مي كند.</li>
<li>نحو ساده تر به مبتديان در يادگيري اصول قراردادهاي هوشمند و توسعه بلاك چين كمك مي كند.&nbsp;</li>
<li>توسعه قراردادهاي هوشمند در زبان برنامه نويسي Solidity به هدايت فرآيندهاي ايمن و قابل اعتماد براي پلتفرم هاي مختلف كه با توافقات بين دو طرف سر و كار دارند، كمك مي كند.&nbsp;</li>
</ul>
<p><br /><strong>خط پايين</strong></p>
<p>بحث در مورد اصول برنامه نويسي Solidity بينش هاي زيادي را در مورد نحوه عملكرد آن به نمايش مي گذارد. Solidity يك زبان برنامه نويسي محبوب در اتريوم براي توسعه قراردادهاي هوشمند است. شباهت هاي Solidity با زبان هاي معروف سطح بالا، فرصت استثنايي را براي مبتديان فراهم مي كند تا توسعه قراردادهاي هوشمند را ياد بگيرند.&nbsp;</p>
<p><br />هر كسي كه علاقه مند به بررسي عملكردهاي فناوري بلاك چين در توسعه برنامه هاي غيرمتمركز است، مي تواند زبان برنامه نويسي Solidity را ياد بگيرد. با اين حال، بررسي تمام روش&zwnj;هاي استفاده از قابليت&zwnj;هاي اساسي در Solidity بسيار مهم است.</p>
<p>قبل از اينكه بتوانيد در برنامه نويسي Solidity بيشتر غوطه ور شويد، بايد در مورد تك تك اجزاي Solidity بياموزيد. براي ايجاد اولين قرارداد هوشمند خود، به دنبال منابع قابل اعتماد اطلاعات در مورد برنامه نويسي با Solidity باشيد.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>منبع:&nbsp;<a rel="nofollow" href="https://tokenkhan.com/">توكن خان</a></strong></p>]]></description>
		<link><![CDATA[]]></link>
		<pubDate>2022-11-26T23:53:33+03:30</pubDate>
	</item>
</channel>
</rss>