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

ورود

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

ثبت نام

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

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

وبلاگ

فرازمان | آکادمی بلاکچیناخبارنمونه قراردادهای هوشمند سالیدیتینحوه ایجاد ERC721 در قرارداد هوشمند

نحوه ایجاد ERC721 در قرارداد هوشمند

15 مرداد 1401
ارسال شده توسط مریم طاهری
نمونه قراردادهای هوشمند سالیدیتی
نحوه ایجاد ERC721 در قرارداد هوشمند

نحوه ایجاد ERC721 در قرارداد هوشمند

در این آموزش نحوه ایجاد ERC721 قرارداد هوشمند Solidity را توضیح خواهیم داد. ابتدا تفاوت های بین ERC20 و ERC721 را بررسی می کنیم. سپس دو قرارداد ERC721 NFT ایجاد می کنیم.

در این آموزش نحوه ایجاد ERC721 قرارداد هوشمند Solidity را توضیح خواهیم داد. ابتدا تفاوت های بین ERC20 و ERC721 را بررسی می کنیم. سپس دو قرارداد ERC721 NFT ایجاد می کنیم.

تفاوت های زیادی بین قراردادهای توکن اتریوم ERC20 و ERC721 وجود دارد. قرارداد ERC20 توکن‌های یکسانی را ایجاد می‌کند که ویژگی‌هایی برای منحصربه‌فرد کردن آنها ندارند. توکن های یک قرارداد ERC20 قابل تعویض هستند و یک به یک مبادله می شوند. فرقی نمی کند کدام را بخرید یا بفروشید زیرا همه آنها یکسان هستند. قرارداد ERC721 برای ایجاد توکن‌های منحصربه‌فرد یا NFT (توکن‌های غیرقابل تعویض) استفاده می‌شود.

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

قرارداد ERC721

توکن‌های ERC721 از بسیاری از ویژگی‌های مشابه با توکن‌های ERC20 پشتیبانی می‌کنند. هر دوی این قراردادهای توکن از بسیاری از انواع عملکردهای مشابه (انتقال، تأیید، دریافت کل عرضه و غیره) پشتیبانی می کنند. علاوه بر این، درست مانند قرارداد ERC20، قرارداد ERC721 به ابرداده های اساسی نیاز دارد، به عنوان مثال، نام و نماد هنگام ایجاد یک قرارداد مورد نیاز است.

توکن های ERC721 دارای چند ویژگی هستند که در یک توکن ERC20 یافت نمی شوند. هر توکن ERC721 که از یک قرارداد استخراج می‌شود، می‌تواند یک شناسه منحصربه‌فرد داشته باشد. به این شناسه منحصر به فرد مانند شماره روی کارت بیسبال 1 از 200 فکر کنید. هر توکن ERC721 ضرب می‌تواند شامل یک URI (پیوندی به چیزی) باشد. URI یا Uniform Resource Locator یک شناسه برای یک فایل منبع خاص برای مثال یک عکس، کتاب یا سند است. این URI ها معمولاً نشانگرهای IPFS (سیستم فایل بین سیاره ای) هستند.

نمونه قراردادهای هوشمند ERC721 NFT با URI

کد Solidity زیر یک قرارداد هوشمند ERC721 است. می توانید از این قرارداد برای ضرب توکن های NFT استفاده کنید. در قرارداد زیر وقتی تابع ایجاد NFT را فراخوانی می‌کنید، می‌توانید یک URI ارسال کنید تا آن را با NFT که می‌زنید مرتبط کنید. بنابراین اگر یک URI در IPFS دارید که به یک عکس پیوند دارد، می‌توانید آن را در قرارداد زیر بگنجانید. قرارداد قابل تمدید است و می تواند دارای عملکردهای اضافی باشد. نظرات کد را بخوانید تا درک بهتری از نحوه عملکرد قرارداد پیدا کنید.

				
					pragma solidity ^0.6.6;


import "github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v3.4/contracts/token/ERC721/ERC721.sol";


//this contract inherits ERC721
contract SampleNFTContract is ERC721 {
    uint256 public tokenCounter;
    
    
    //constructor for an ERC721 is a name and symbol
    constructor () public ERC721 ("astronaut", "STAR"){
        tokenCounter = 0;
    }

    //a token url is a ipfs url
    //after we mint the token we are going to return the id of the token
    function createNFT(string memory tokenURI) public returns (uint256) {

    //get number from token counter
        uint256 newNFTTokenId = tokenCounter;

    //safely mint token for the person that called the function
        _safeMint(msg.sender, newNFTTokenId);
    
    //set the token uri of the token id of the uri passed
        _setTokenURI(newNFTTokenId, tokenURI);
    
    //increment the counter
        tokenCounter = tokenCounter + 1;
        
    //return the token id
        return newNFTTokenId;
    }

}
				
			

نمونه قراردادهای هوشمند ERC721 NFT با ویژگی‌ها

در برنامه‌نویسی راه‌های زیادی برای پیاده‌سازی یک راه‌حل وجود دارد، بنابراین اکنون اجازه می‌دهیم پیاده‌سازی قرارداد هوشمند NFT را بررسی کنیم.

در قرارداد هوشمند ERC721 زیر می‌توانید یک NFT ایجاد کنید که می‌تواند یک ویژگی یا ویژگی خاص داشته باشد (به عنوان مثال؛ قرمز، بلند، سریع، قوی، هر چیزی). نقشه ها ویژگی های NTF را ذخیره می کنند. هر بار که یک NFT جدید برای جلوگیری از ایجاد توکن های تکراری، نقشه بررسی می شود. این مانع از داشتن صفات یا ویژگی های مشابه توکن ها می شود.

				
					pragma solidity 0.5.0;

import "./ERC721Flattened.sol";

contract Astronaut  is ERC721Full {
  
  //create an array of traits to keep track of different traits
  //no traits can be the same
  string[] public trait;
  mapping(string => bool) _traitExists;

    //constructor for an ERC721 is a name and symbol
  constructor() ERC721Full("astronaut", "STAR") public {
  }

  
  //create a new token by calling the mint function
  //every token needs to be different
  //need to pass in a trait that does not exist
  function createNFT(string memory _trait) public {
    
    //check the mapping to determine if trait exists
    require(!_traitExists[_trait]);
    
    //if trait does not exist mint token and create a new token id
    //mint for the msg.sender
    //add trait to array and set trait in mapping to true
    uint _id = trait.push(_trait);
    _mint(msg.sender, _id);
    _traitExists[_trait] = true;
  }

}
				
			

بهترین راه برای یادگیری نحوه عملکرد NFT، آزمایش و ایجاد یک قرارداد هوشمند در Remix است. این قراردادها را به سطح بعدی ببرید و خلاقیت خود را اضافه کنید. تمدید این قراردادها به موارد زیر:

  • اجازه دادن به صفات متعدد
  • یک اوراکل Chainlink را برای تولید یک عدد واقعا تصادفی اجرا کنید و عدد را نشان دهنده یک مشخصه (مقدار، قدرت، سرعت و غیره) کنید.
  • یک وب سایت ایجاد کنید تا بازدیدکنندگان بتوانند NFT های خود را ایجاد کنند.
  • دو قرارداد بالا را با هم ترکیب کنید تا NFT شما بتواند URI و ویژگی هایی داشته باشد

قراردادهای ERC721 از موارد استفاده مختلف از مالکیت سند گرفته تا صدور نام دامنه پشتیبانی می کند.

دوره ها و آموزش های فرازمان

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

نقشه راه

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

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

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

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

 یک قرارداد هوشمند با سود مالی سالانه

Chainlink price feeds در شبکه بایننس اسمارت چِین

پیوند زنجیره ای اوراکل(Chainlink Oracle) در قرارداد هوشمند

کیف پول چند علامتی (امضا) در Solidity

قرارداد هوشمند Uniswap Solidity

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

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

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

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

نماد ها

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

طراحی وب

  • 1 دوره

WhitePaper

  • 1 محصول

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

  • 4 محصول

کلاس مجازی

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

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

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