جستجو برای:
سبد خرید 0
  • آخرین دوره های آموزشی
  • درخواست پروژه
  • مقالات بلاکچین
  • تماس با ما

ورود

گذرواژه خود را فراموش کرده اید؟

ثبت نام

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

  • 09395149363
  • info@fara-zaman.ir
  • لیست علاقه مندی ها
0
فرازمان | آکادمی بلاکچین
  • آخرین دوره های آموزشیداغ
  • درخواست پروژه
  • مقالات بلاکچینجدید
  • تماس با ما
آخرین اطلاعیه ها
جهت نمایش اطلاعیه باید وارد سایت شوید
شروع کنید

وبلاگ

فرازمان | آکادمی بلاکچیناخبارنمونه قراردادهای هوشمند سالیدیتیپیاده سازی بازی ETH 14 در قرارداد هوشمند Solidity

پیاده سازی بازی ETH 14 در قرارداد هوشمند Solidity

19 تیر 1401
ارسال شده توسط مریم طاهری
نمونه قراردادهای هوشمند سالیدیتی
بازی ETH 14 در قرارداد هوشمند Solidity

بازی ETH 14 در قرارداد هوشمند به این صورت است که در آن چهاردهمین شخصی که ETH را به قرارداد ارسال می کند، تمام اتریوم را در قرارداد برنده می شود. این نشان می دهد که چگونه می توان از ارسال اجباری ETH جلوگیری کرد و چرا ترتیب عملیات در یک تابع مهم است.

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

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

				
					pragma solidity ^0.6.10;


//A game where the 14th person that deposit ether wins all the ether in the contract
//the winner can claim the 14 ether

contract EtherGame {
    uint public targetAmount = 14 ether;
    address public winner;
    //need to create a balance state variable to prevent forcefully sending ether
    uint public balance;
    
    //to play you need to call the deposit function and send 1 ether
    function deposit() public payable {
        require(msg.value == 1 ether, "You can only send 1 Ether");
        
        //if the current balance is greater then the targetAmount then the game is over
        //to prevent forcefully sending eth the balance needs to be updated manually instead of just checking the balance amount
        //to prevent forcefully sending ether update the balance state variable manually
        
        balance+= msg.value;
        require(balance <= targetAmount, "Game is over");
        
        //if the balance is == to the targetAmount when the 14th person sends ether then we set the winner to the message sender
        if (balance == targetAmount) {
            winner = msg.sender;
        }
    }
    //the winner can use the claim function to claim their reward
    function claimReward() public {
        require(msg.sender == winner, "Not Winner");
        //this will send all the ether in this contract to the winner
        (bool sent, ) = msg.sender.call{value: address(this).balance}("");
        require(sent, "Failed to send Ether");
    }
    
    function getBalance() public view returns (uint) {
        return address(this).balance;
    }
}
				
			
دوره ها و آموزش های فرازمان

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

نقشه راه

راهنما آکادمی فرازمان

برای یادگیری برنامه نویسی بلاکچین…

دوره مفاهیم پایه برنامه نویسی
دوره جامع جاوا اسکریپت و جی کوئری
آموزش برنامه نویسی سالیدیتی
دوره جامع html/css/bootstap
آموزش پیشرفته برنامه نویسی بلاکچین
آموزش Whitepaper نویسی برای پروژه های بلاکچینی

در این باره بیشتر بخوانید

مبادله توکن بدون اعتماد (Trustless) در یک قرارداد هوشمند Solidity

کیف پول مشترک (Shared wallet) در قرارداد هوشمند Solidity

پیاده سازی توکن ERC20 در قرارداد هوشمند Solidity

پل(Bridge) در بلاک چین چیست؟

پروژه قفل زمان(Time lock) در قرارداد هوشمند Solidity

برچسب ها: قرارداد هوشمندآموزش برنامه نویسی سالیدیتیآموزش بلاکچینآموزش سالیدیتیامنیت قرارداد هوشمند
جدیدتر پروژه مبادله توکن بدون اعتماد (Trustless) در یک قرارداد هوشمند Solidity
قبلی تماس نماینده(Delegate call) برای ارتقای قرارداد هوشمند Solidity

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
برچسب‌ها
function nft آموزش برنامه نویسی سالیدیتی آموزش بلاکچین آموزش سالیدیتی اتریوم اخبار بازی اخبار رمز ارز اخبار کریپتو امنیت قرارداد هوشمند ان اف تی اکتیویژن ایلان ماسک بازی بلاکچین برنامه نویسی بلاک چین برنامه نویسی سالیدیتی بلاک چین بیتکوین بیت کوین تحلیل بیت کوین تسلا توابع توابع در سالیدیتی جاوا اسکریپت حسابرسی در قرارداد هوشمند خبر بلاکچین دسنترالند دوج کوین رمزارز سالیدیتی سرمایه گذاری سندباکس قرارداد هوشمند مایکروسافت متاورس مقاله بلاکچین مقاله کریپتویی موزیلا نمونه قرارداد هوشمند سالیدیتی وب3 پی پال کریپتو کسب درامد کیف پول اتریوم کیف پول بلاکچین
  • محبوب
  • جدید
  • دیدگاه ها
دسته‌ها
  • آموزش برنامه نویسی سالیدیتی
  • اتریوم
  • اخبار NFT
  • اخبار متاورس
  • امور مالی غیرمتمرکز
  • برنامه نویسی سالیدیتی
  • بیت کوین
  • سولانا
  • صرافی غیرمتمرکز
  • قرارداد هوشمند
  • کریپتو
  • کیف پول ارز دیجیتال
  • مقالات بلاکچین
  • مقاله
  • نمونه قراردادهای هوشمند سالیدیتی
 فـرا زمان با بهره گیری از دانش روز دنیا و توانایی در آموزش، مشاوره و پیاده سازی انواع پروژه های بلاکچینی پا به عرصه ی رقابت گذاشته و هر روز به گروه و تخصص خود می افزاید.
دسترسی سریع
  • خانه
  • دوره ها
  • اخبار
  • تماس با ما
  • ساری، ابتدای خیابان 15 خرداد،مجتمع بهار،طبقه اول
  • 09395149363
  • info@fara-zaman.ir
خبرنامه

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

نماد ها

logo-samandehi
© 1400. آکادمی فرازمان - طراحی فرازمان
اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://fara-zaman.ir/?p=14159
دسته بندی دوره ها
دوره های من
دسته بندی دوره ها

طراحی وب

  • 1 دوره

WhitePaper

  • 1 محصول

برنامه نویسی اتریوم (سالیدیتی)

  • 4 محصول

کلاس مجازی

  • 1 دوره
دوره های من
برای مشاهده خریدهای خود باید وارد حساب کاربری خود شوید
Twitter Youtube Instagram
مرورگر شما از HTML5 پشتیبانی نمی کند.

سوالی دارید؟ از ما بپرسید، کارشناسان ما در اسرع وقت با شما تماس می گیرند.

گروه تخصصی برنامه نویسی
  • 09395149363
  • پشتیبانی آنلاین
  • 09395149363