توکن ERC-1155 یک استاندارد برای توکن‌های چندمنظوره است که می‌تواند هم توکن‌های غیرقابل تعویض (NFT) و هم توکن‌های قابل تعویض (Fungible Tokens) را در یک قرارداد هوشمند واحد ذخیره کند. این استاندارد به شما این امکان را می‌دهد که به طور همزمان چندین نوع توکن را مدیریت کنید، در این مقاله به آموزش ساخت توکن ERC-1155 میپردازیم:

۱. مراحل ساخت توکن ERC-1155

برای ایجاد یک توکن ERC-1155، می‌توانید از محیط توسعه‌ای مانند Hardhat یا Truffle استفاده کنید. در اینجا یک مثال ساده از نحوه پیاده‌سازی توکن ERC-1155 با استفاده از Solidity آورده شده است.

الف. نصب وابستگی‌ها

نخست، اطمینان حاصل کنید که محیط توسعه‌تان مجهز به OpenZeppelin است. می‌توانید کتابخانه OpenZeppelin را نصب کنید:

npm install @openzeppelin/contracts

ب. نوشتن قرارداد

سپس، یک قرارداد ERC-1155 ساده به شکل زیر بنویسید:

// SPDX-License-Identifier: MIT
pragma solidity ^.8.;

import "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract MyMultiToken is ERC1155, Ownable {
    uint256 public constant ITEM1 = 1;
    uint256 public constant ITEM2 = 2;

    constructor() ERC1155("https://myapi.com/api/token/{id}.json") {
        _mint(msg.sender, ITEM1, 100, "");
        _mint(msg.sender, ITEM2, 200, "");
    }

    function mint(address account, uint256 id, uint256 amount, bytes memory data) public onlyOwner {
        _mint(account, id, amount, data);
    }

    function mintBatch(address to, uint256[] memory ids, uint256[] memory amounts, bytes memory data) public onlyOwner {
        _mintBatch(to, ids, amounts, data);
    }
}

ج. توضیحات کد

  • ERC1155: از استاندارد ERC-1155 برای ایجاد توکن‌ها استفاده می‌کنیم.
  • Ownable: فقط صاحب قرارداد می‌تواند توکن‌ها را ضرب کند.
  • mint و mintBatch: توابعی برای ایجاد توکن‌های جدید.

آموزش سالیدیتی

۲. کاربردهای توکن ERC-1155

توکن‌های ERC-1155 دارای کاربردهای متنوعی هستند:

  1. بازی‌های ویدئویی: استفاده از توکن‌ها برای نمایندگی دارایی‌های داخل بازی (مانند سلاح‌ها، آیتم‌ها) که می‌توانند NFT یا توکن‌های قابل تعویض باشند.
  2. کلکسیون‌ها: امکان ایجاد و مدیریت مجموعه‌های متنوع از آثار هنری و اشیا کلکسیونی با تنوع در نوع توکن‌ها.
  3. بازارهای NFT: اجازه می‌دهد که بازارهای مختلف بتوانند همزمان NFTها و توکن‌های قابل تعویض را مدیریت کرده و به فروش برسانند.
  4. سمینارها و رویدادها: استفاده از توکن‌ها به عنوان بلیت‌های رویدادهای مختلف که کاربران می‌توانند آن‌ها را خریداری و معامله کنند.
  5. مدیریت حقوق دیجیتال: امکان تعریف و مدیریت حقوق مختلف برای آثار هنری و محتواهای دیجیتال.

نتیجه‌ گیری

ساخت توکن ERC-1155 به شما این امکان را می‌دهد که به راحتی یک توکن چندمنظوره ایجاد کنید که می‌تواند در فضاهای مختلفی از جمله بازی‌ها، بازارهای NFT و صنعت کلکسیون‌ها به کار برود. این استاندارد انعطاف‌پذیری بیشتری نسبت به توکن‌های ERC-721 و ERC-20 ارائه می‌دهد و قادر است تا نیازهای چندگانه را در یک قرارداد واحد مدیریت کند.