AI & ML; Python Programmer And Interested In Decentralized World
روز ۸/۱۰۰ - رمزگشایی از جادوی اتر و وی در سالیدیتی: توانمندسازی توسعه اتریوم
به دنیای شگفتانگیز اتریوم و سالیدیتی خوش آمدید! در این قسمت از سری #100DaysOfSolidity، ما به سفری جذاب برای رمزگشایی از رازهای اتر(Ether) و وی(Wei) میرویم، واحدهای ارزشمند و اسرارآمیز در اکوسیستم اتریوم. اتریوم با قابلیتهای قرارداد هوشمند خود، دنیای برنامههای غیرمتمرکز (dApp) را دگرگون کرده و به توسعهدهندگان قدرت میدهد تا راهحلهای نوآورانه مبتنی بر بلاک چین را خلق کنند.

برای درک کامل پتانسیل اتریوم، فهم ظرافتهای اتریوم و وی، واحدهای پول دیجیتال این پلتفرم، ضروری است. در این مقاله، به سفری اکتشافی میرویم و به رمز و رازهای نهفته در ورای این واحدهای جذاب پی میبریم.
مفهوم اتر و وی
اتر، با نماد ETH، بهعنوان ارز دیجیتال اصلی بلاکچین اتریوم شناخته میشود. همانطور که بیتکوین نیروی محرک بلاکچین بیتکوین است، اتر نیز اساس عملکرد شبکه اتریوم را تامین میکند. اتر کاربردهای متنوعی دارد، از پرداخت کارمزد تراکنشها و پاداش به استخراجکنندگان گرفته تا استفاده بهعنوان واحد تبادل در برنامههای غیرمتمرکز (dApp). اهمیت اتر در اکوسیستم اتریوم ایجاب میکند که توسعهدهندگان و کاربران بهطور یکسان، ماهیت و کارکرد آن را درک کنند.
وی (Wei)، کوچکترین واحد غیرقابل تقسیم اتر است، همانند ذرات درخشانی از غبار جادویی. همانطور که سنت نمایانگر بخشهای کوچکی از دلار است، وی نیز نشان دهنده بخشهای بسیار ریزی از ارزش اتر است. در واقع، یک واحد اتر، معادل با 10 به توان 18 واحد وی است، که بیانگر وسعت دنیای اتریوم و امکان انجام تراکنشهای بسیار کوچک در آن است. برای کار با این واحدها در زبان برنامهنویسی تخصصی اتریوم به نام سالیدیتی، درک دقیق نحوهی مدیریت آنها ضروری است.
جادوی سالیدیتی و واحدهای اتر
سالیدیتی، زبان جادوییِ قراردادهای هوشمند اتریوم، به توسعهدهندگان توانایی خلق برنامههای غیرمتمرکز پیچیده و شگفتانگیز را میبخشد. در تار و پود Solidity، توسعهدهندگان گنجینهای از ابزارها و کتابخانهها را برای تعامل بیوقفه با اتر و وی در اختیار دارند. بیایید با کاوش در جادوهای کدنویسی اتریوم، سفری جادویی را آغاز کنیم و جنبههای عملی کار با این واحدها را رمزگشایی نماییم.
بهکارگیری جادوی اتر و وی
pragma solidity ^0.8.17;
contract EtherUnits {
uint public oneWei = 1 wei; // Conjuring a variable with 1 Wei
bool public isOneWei = 1 wei == 1; // Probing if 1 Wei holds the power of 1
uint public oneEther = 1 ether; // Summoning a variable with 1 Ether
bool public isOneEther = 1 ether == 1e18; // Unveiling if 1 Ether channels the energy of 10¹⁸ Wei
}در این کد Solidity، یک قرارداد به نام EtherUnits تعریف شده است که دو تابع oneWei و isOneWei را ارائه میدهد. تابع oneWei یک متغیر از نوع uint256 را با مقدار 1 Wei (معادل 10^18 اتریوم) ایجاد میکند. تابع isOneWei بررسی میکند که آیا مقدار یک متغیر از نوع uint256 برابر با 1 Wei باشد یا خیر.
علاوه بر این، دو تابع دیگر به نام oneEther و isOneEther در قرارداد EtherUnits تعریف شدهاند. تابع oneEther یک متغیر از نوع uint256 را با مقدار 1 Ether (معادل 10^18 Wei) ایجاد میکند. تابع isOneEther بررسی میکند که آیا مقدار یک متغیر از نوع uint256 برابر با 1 Ether باشد یا خیر.
تبدیل واحدهای اتر و وی
pragma solidity ^0.8.17;
contract UnitConversion {
function convertWeiToEther(uint weiAmount) public pure returns (uint)
{
return weiAmount / 1 ether; // Transmuting Wei into Ether
}
function convertEtherToWei(uint etherAmount) public pure returns (uint) {
return etherAmount * 1 ether; // Transmuting Ether into Wei
}
}در این قرارداد هوشمند، ما کانترکتی به نام UnitConversion را معرفی میکنیم که امکان تبدیل بین واحدهای Wei و Ether را فراهم میکند. تابع convertWeiToEther مقدار Wei را به عنوان ورودی دریافت کرده و معادل آن را در واحد Ether برمیگرداند. به طور مشابه، تابع convertEtherToWei مقدار Ether را به عنوان ورودی دریافت کرده و آن را به Wei تبدیل میکند. این توابع در پیمایش دنیای شگفتانگیز قراردادهای هوشمند بسیار قدرتمند و کاربردی هستند.
جادوی نهفته در آموزش
درک رمز و رازهای اتر و وی، گنجینهای از دانش و بینش را به ما ارزانی میدارد که توسعهدهندگان و علاقهمندان به بلاک چین را به یک اندازه توانمند میسازد. بیایید مزایای اسرارآمیز این دانش را بررسی کنیم:
- تضمین دقت محاسبات: با درک رابطه بین اتر و وی، خود را قادر به انجام محاسبات دقیق در حین انجام تراکنشها، بررسی موجودی و سایر عملیات رمزنگاری در برنامههای مبتنی بر اتریوم میکنیم.
- تسلط بر هنر گس: گس، واحد سنجش انتزاعی تلاش محاسباتی مورد نیاز برای اجرای عملیات در شبکه اتریوم است. با استفاده کارآمد از وی، واحد فرعی گس، میتوانیم هزینههای گس را بهینهسازی کرده و راندمان کلی قراردادهای هوشمند خود را ارتقا دهیم.
- قدرت جادویی خرد تراکنشها: ماهیت ذرهبینی وی به ما امکان میدهد تا تار و پود تراکنشهای خرد را در dAppها ببافیم و سناریوهای جذاب مانند خدمات پرداخت به ازای استفاده و پرداختهای خرد را فعال کنیم. این امکانات شگفتانگیز نوآوری را تقویت میکنند و به ترویج پذیرش گسترده اتریوم در حوزههای مختلف کمک میکنند.
- حصول اطمینان از همگرایی یکپارچه قراردادها: هنگام تعامل با سایر قراردادهای هوشمند، درک واحد value مورد استفاده توسط قراردادهای خارجی بسیار مهم میشود. تسلط بر واحدهای اتر و وی امکان ادغام یکپارچه و انتقال دقیق ارزش بین این قراردادها را فراهم میکند.
نتیجهگیری
تبریک! شما با موفقیت این سفر پرمغز و آموزنده را در دنیای رمز ارزها و اتریوم به پایان رساندید.
با اتکا به دانش عمیقی که از زبان برنامهنویسی سالیدیتی و مفاهیم اتریوم به دست آوردهاید، اکنون قادر به ساخت برنامههای غیرمتمرکز قدرتمند، مقیاسپذیر و جذاب هستید.
دنیای امور مالی غیرمتمرکز، توکنهای غیرقابلمعاوضه و راهحلهای مبتنی بر بلاکچین مشتاقانه منتظر خلاقیت و ابتکار شما هستند.
🔸 این مقاله،از مقالات ترجمه شده از سالیدیتی آکادمی است برای خواندن مقاله اصلی میتوانید به لینک زیر مراجعه کنید:
🔸 شما میتوانید برای خواندن ادامه مقالات ترجمه شده این آکادمی به سالیدیتی آکادمی مراجعه کنید.
مطلبی دیگر از این انتشارات
روز ۱۱/۱۰۰ - #100DaysOfSolidity تسلط بر حلقه های For و While در Solidity
مطلبی دیگر از این انتشارات
🎉 برای سری #۱۰۰روزباسالیدیتی آماده شوید! 🚀
مطلبی دیگر از این انتشارات
روز ۷/۱۰۰ - بررسی خواندن و نوشتن State variable در سالیدیتی