Khóa học blockchain

Giới thiệu ERC

0 phút đọc

Trong thế giới của Ethereum, ERC (Ethereum Request for Comments) là một tiêu chuẩn quan trọng đối với việc phát triển các token và các giao thức tương tác trên blockchain Ethereum. ERC giúp định nghĩa các quy tắc, giao thức và tiêu chuẩn mà các Smart Contract cần tuân theo để tương thích với nhau, từ đó tạo ra một hệ sinh thái Ethereum mạnh mẽ và đa dạng. Bài viết này sẽ cung cấp một cái nhìn tổng quan về ERC, các tiêu chuẩn phổ biến và ảnh hưởng của chúng đến việc phát triển blockchain.

ERC-20: Tiêu Chuẩn Token

ERC-20 là tiêu chuẩn đầu tiên và phổ biến nhất trong các ERC, định nghĩa một bộ quy tắc cho các token fungible (có thể thay thế được). Các token ERC-20 có thể đại diện cho bất kỳ loại giá trị nào như tiền tệ, điểm thưởng, hoặc tài sản.

Các Hàm và Sự Kiện Cơ Bản của ERC-20

  • totalSupply: Trả về tổng số lượng token hiện có.
  • balanceOf: Trả về số lượng token mà một địa chỉ sở hữu.
  • transfer: Chuyển token từ địa chỉ gọi hàm đến một địa chỉ khác.
  • approvetransferFrom: Cho phép các giao dịch được thực hiện thay mặt bởi một địa chỉ khác.
  • Sự kiện Transfer và Approval: Ghi lại các giao dịch và sự chấp thuận.

Ví dụ về ERC-20

pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract MyToken is ERC20 {
    constructor(uint256 initialSupply) ERC20("MyToken", "MTK") {
        _mint(msg.sender, initialSupply);
    }
}

Trong ví dụ này, MyToken kế thừa từ ERC20 của OpenZeppelin, một thư viện Solidity phổ biến, và tạo ra một token mới với số lượng cung cấp ban đầu.

ERC-721: Tiêu Chuẩn Token Không Thể Thay Thế

ERC-721 là tiêu chuẩn cho các token không thể thay thế (NFT - Non-Fungible Tokens), cho phép mỗi token có các thuộc tính và giá trị duy nhất. NFT thường được sử dụng để đại diện cho tài sản kỹ thuật số như nghệ thuật, bất động sản trong game, và nhiều hơn nữa.

Các Hàm và Sự Kiện Cơ Bản của ERC-721

  • balanceOf: Trả về số lượng NFT mà một địa chỉ sở hữu.
  • ownerOf: Trả về chủ sở hữu của một NFT cụ thể.
  • safeTransferFrom: Chuyển một NFT từ một địa chỉ này sang địa chỉ khác.
  • Sự kiện Transfer và Approval: Ghi lại các giao dịch và sự chấp thuận.

Ví dụ về ERC-721

pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract MyNFT is ERC721 {
    constructor() ERC721("MyNFT", "MNFT") {}

    function mintNFT(address to, uint256 tokenId) public {
        _mint(to, tokenId);
    }
}

Trong ví dụ này, MyNFT kế thừa từ ERC721 của OpenZeppelin và cung cấp một hàm mintNFT để tạo NFT mới.

ERC-1155: Tiêu Chuẩn Token Đa Dạng

ERC-1155 là một tiêu chuẩn mới hơn, cho phép một contract duy nhất quản lý nhiều loại token, bao gồm cả fungible và non-fungible. Điều này giúp giảm chi phí gas và tăng tính linh hoạt trong việc quản lý token.

Các Đặc Điểm của ERC-1155

  • Hỗ trợ cả fungible tokens (giống ERC-20) và non-fungible tokens (giống ERC-721).
  • Tối ưu hóa giao dịch và lưu trữ.
  • Hỗ trợ "batch" giao dịch, cho phép gửi nhiều loại token trong một giao dịch.

Kết luận

ERC đóng một vai trò quan trọng trong việc định hình và phát triển hệ sinh thái Ethereum, cung cấp một bộ tiêu chuẩn cho việc tạo và quản lý token. Từ ERC-20, ERC-721, đến ERC-1155, mỗi tiêu chuẩn đều mở ra những khả năng mới cho việc sử dụng blockchain và tạo điều kiện cho sự sáng tạo không giới hạn trong thế giới kỹ thuật số.

Avatar
Được viết bởi

TechMely Team

Gợi ý câu hỏi phỏng vấn

junior

Những tính năng mới nào được giới thiệu trong ASP.NET Web API 2.0?

junior

Những lệnh xử lý lỗi mới nào được giới thiệu với SQL Server 2005 và các phiên bản sau?

senior

Bạn có thể chạy bao nhiêu container trong docker và các yếu tố ảnh hưởng đến giới hạn này là gì?

Gợi ý bài viết

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào

Khoá học javascript từ cơ bản đến chuyên sâuYoutube Techmely