Token ERC20 là gì

Token ERC 20

Nếu bạn vẫn còn kiên nhẫn để đọc ở đây, xin chúc mừng, bạn đã sẵn sàng để tham gia câu lạc bộ triệu đô la: P. Có lẽ thuật ngữ Token không xa lạ với những người quan tâm đến tiền điện tử. Token về cơ bản là một văn bản tượng trưng cho quyền sở hữu của một hoặc nhiều cá nhân có tài sản. Tài sản ở đây có thể là rất nhiều thứ như điểm thưởng, cổ phiếu, kỹ thuật số hoặc thậm chí vàng, bất động sản, vv Token này có thể được trao đổi giữa nhiều cá nhân.

Trong hệ thống blockchain Ethereum, Token là một hợp đồng thông minh. Để tạo thuận lợi cho việc chuyển giao, trao đổi và mua lại Token, Ethereum cung cấp một giao thức chung cho Token. Giao thức này bao gồm các phương thức mà Token phải thực hiện. Mỗi Token tuân theo giao thức này được gọi là Token ERC20. Các công nghệ khác như NEO có tiêu chuẩn riêng của họ được gọi là NEP-5 …
TotalSupply [Tổng số Token được phát hành]
BalanceOf (address _owner) constant returns (uint256 balance) [truy vấn số lượng Token 1 cá nhân sở hữu]
transfer(address _to, uint256 _value) returns (bool success) [gửi số lượng _value Token của người thực hiện giao dịch (caller) tới một địa chỉ _to]
transferFrom(address _from, address _to, uint256 _value) returns (bool success)[Gửi Token _value Token từ caller thông qua địa chỉ _from đến địa chỉ _to, cần sự đồng thuận của caller cho địa chỉ _from, xem phương thức approve() ở dưới]
approve(address _spender, uint256 _value) returns (bool success) [Cho phép _spender tiêu 1 lượng Token tối đa là _value từ account của caller.
allowance (address *_owner*, address *_spender*) constant returns (uint256 remaining) [Trả về số lượng Token địa chỉ _owner uỷ quyền cho _spender ]

Một ERC20 sau khi được deploy sẽ như  distributed ledger)với nội dung chỉ có thể được thay đổi bởi các giao dịch được đồng thuận của cả network. Trong 1 ERC20 Token ta thường có 2 bảng giá trị

Tên: XYZ 
Số lượng tối đa: 1,000,000,000
Balance: Bảng giá trị lưu số lượng Token được sở hữu bởi các cá nhân trong mạng Ethereum (bao gồm các SC). Balance được update khi SC thực thi các phương thức như transfer, transferFrom
╔═════════╦═════════╗
║ Địa chỉ ║ Số lượng║
╠═════════╬═════════╣
║ 0x1     ║ 10000  
║ 0x2     ║ 20000  
║ 0x3     ║ 30000  
╚═════════╩═════════╝
Allowance: Bảng giá trị cho quy đinh số lượng Token được một địa chỉ cấp phép cho một địa chỉ khác sử dụng. Thường được dùng khi chuyển Token lên sàn giao dịch. Allowance được update khi SC thực thi phương thức approve
╔═════════╦═════════════════╦═════════╗
║ Địa chỉ ║Đỉa chỉ uỷ quyển ║Số lượng ║
╠═════════╬═════════════════╬═════════╣
║ 0x1     ║0x2              ║200     
         ║0x3              ║100     
║ 0x2     ║0x4              ║300     
╚═════════╩═════════════════╩═════════╝
Ở đây, 0x2 và 0x3 được sự cho phép của 0x1 có được quyền giao dịch với số lượng Token tương ứng là 200& 100 Token. Lượng Token này khi được giao dịch sẽ bị trừ vào lượng Token mà 0x1 nắm giữ.
Một điều cần lưu ý đó là tất cả các giao dịch cho một Token đều được thực hiện trên hệ thống blockchain của Ethereum vì vậy bạn sẽ phải có 1 lượng Ether tối thiểu để có thể giao dịch. Ether, đơn vị trao đổi chính của Ethereum cũng có thể coi là 1 Token với đia chỉ 0x0.