Tokens on Ethereum
Tự học Solidity bài 37: Tokens on Ethereum. Tìm hiểu về ERC20 tokens và ERC721 tokens
Bạn đã từng nghe thấy trên ti vi nói về các đồng tiền Bitcoin, Ethereum, Polkadot.... thì trong tiền điện tử sẽ chia thành hai loại: một là các đồng coin thường được khai thác bằng cách đào (vị dụ đào bitcoin), loại thứ hai là một mã thông báo dạng token. Trong hệ sinh thái của Ethereum bạn có thể đã nghe mọi người nói về các mã thông báo token - cụ thể là mã thông báo ERC20 là phổ biến nhất, phần lớn các tokens ở định dạng ERC20 này.
Mã thông báo tokens trên Ethereum về cơ bản chỉ là một hợp đồng thông minh (có thể code bằng SOLIDITY) tuân theo một số quy tắc chung - cụ thể là nó thực hiện một bộ chức năng tiêu chuẩn mà tất cả các hợp đồng mã thông báo khác chia sẻ, chẳng hạn như transferFrom (address _from, address _to, uint256 _tokenId) và balanceOf (address _owner).
Bên trong hợp đồng thông minh thường có một mapping check số dư:
mapping(address => uint256) balances
Theo dõi số dư mà mỗi địa chỉ có.
Vì vậy, về cơ bản, một Token ETH chỉ là một hợp đồng thông minh để theo dõi ai sở hữu bao nhiêu mã thông báo đó và một số chức năng để những người dùng đó có thể chuyển mã thông báo của họ đến các địa chỉ khác.
Chuẩn token ERC20
Vì tất cả các mã thông báo ERC20 đều có cùng một bộ các chức năng cùng tên, nên tất cả chúng đều có thể được tương tác theo những cách giống nhau.
Điều này có nghĩa là nếu bạn xây dựng một ứng dụng có khả năng tương tác với một token ERC20, nó cũng có khả năng tương tác với bất kỳ mã thông báo ERC20 khác. Bằng cách đó, nhiều mã thông báo hơn có thể dễ dàng được thêm vào ứng dụng của bạn trong tương lai mà không cần phải sửa code. Bạn có thể chỉ cần cắm địa chỉ hợp đồng mã thông báo mới và bùng nổ, ứng dụng của bạn có một mã thông báo khác mà nó có thể sử dụng.
Một ví dụ cho sự tiện lợi này là sàn giao dịch: Khi một sàn giao dịch (như binance, poloniex...) thêm token ERC20 mới, nó chỉ cần thêm hợp đồng thông minh đó vào. Người dùng có thể yêu cầu gửi và nhận token đến sàn giao dịch thông qua hợp đồng thông minh của token.
Sàn giao dịch chỉ cần thực hiện code logic này một lần, sau đó khi muốn thêm mã thông báo ERC20 mới, nó chỉ cần thêm địa chỉ hợp đồng đó vào cơ sở dữ liệu.
Các tiêu chuẩn mã thông báo khác như ERC721
Các mã thông báo chuẩn ERC20 thực sự tuyệt vời đối với các token hoạt động như tiền tệ. Nhưng chúng không đặc biệt hữu ích để đại diện cho các NFT. Vì NFT là các sản phẩm mã hoá không thể chia tách thành 0.5 NFT :)) Vì vậy có một tiêu chuẩn token khác đáp ứng được các yêu cầu này là ERC721
Các token ERC721 không thể hoán đổi cho nhau vì mỗi mã được định nghĩa là duy nhất và không thể phân chia. Bạn chỉ có thể giao dịch chúng theo đơn vị nguyên: là 1 chiếc, 1 cái... và mỗi đơn vị có một ID duy nhất. Vì vậy, đây là những thứ hoàn toàn phù hợp để làm cho NFT giao dịch được.
Thực hành luôn cho nhớ lâu bạn nhé
Nếu bạn chưa biết cách TẠO FILE, COMPILER và DEPLOY thì hãy xem lại trong bài giới thiệu nhé. Có hướng dẫn chi tiết ở đó.
BÀI TIẾP THEO: BÀI SỐ 38
HỌC TỪ ĐẦU: BÀI SỐ 1