Tạo token TRC20 trên Tron Network
I. TRON (TRX) là gì?
TRON là một blockchain công khai dành riêng cho việc cung cấp cơ sở hạ tầng, cho phép các nhà phát triển tạo ra các hợp đồng thông minh và các ứng dụng phi tập trung, tự do xuất bản, sở hữu và lưu trữ dữ liệu hay các nội dung khác.
TRON triển khai Cơ chế đồng thuận Proof-of-Stake được ủy quyền (DPoS) để tránh vấn đề về thời gian thông lượng giao dịch thấp và phí giao dịch cao giữa các blockchain công khai Proof-of-Work (PoW) (ví dụ: Bitcoin)
TRON có 2 loại mã token là TRC10 và TRC20
II. Phân biệt TRC10 và TRC20
TRC10
Mã token TRC10 hoàn toàn được tạo bởi mạng TRON. Token này có sẵn rộng rãi trên mạng chính TRON. Token này không phụ thuộc vào máy ảo TRON (TVM). TRC10 tương thích với hầu hết các ví điện tử hiện nay.
TRC20
TRC20 là một tiêu chuẩn kỹ thuật được sử dụng cho các hợp đồng thông minh trên chuỗi khối TRON để triển khai token với máy ảo TRON (TVM). Nó hoàn toàn tương thích với ERC20 (chuẩn token trên Ethereum network). Interface của TRC20 giống với Interface của ERC20.
contract TRC20Interface {
function totalSupply() public constant returns (uint);
function balanceOf(address tokenOwner) public constant returns (uint balance);
function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
function transfer(address to, uint tokens) public returns (bool success);
function approve(address spender, uint tokens) public returns (bool success);
function transferFrom(address from, address to, uint tokens) public returns (bool success);
event Transfer(address indexed from, address indexed to, uint tokens);
event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}
III. Tạo token TRC20
Về cơ bản thì để tạo một token TRC20 cũng khá đơn giản. Mọi thứ đã được hỗ trợ. Bạn chỉ cần biết một ít kiến thức về ngôn ngữ solidity để có thể edit source.
Sau đây là 9 bước để tạo và deploy thành công một token TRC20 trên mạng testnet.
1. Cài đặt ví TronLink (extention) cho browser
- Vào link https://www.tronlink.org/
- Chọn browser extention (Chrome, Firefox) phù hợp với trình duyệt bạn đang sử dụng.
- Sau khi cài đặt xong. Hãy tạo 1 ví điện tử cho riêng mình. Mình chọn mạng testnet là Nile.
2. Xin TRX token
- Để deploy được smartcontrct lên TRON network (hay bất kì blockchain network nào) thì cũng cần một lượng phí nhỏ. Vì đang sử dụng TRON network, nên phí cũng chính là TRX token.
- Vào link https://nileex.io/join/getJoinPage để xin TRX token cho mạng Nile.
- Copy địa chỉ ví vào và click Obtain. Sau khi submit thành công, bạn sẽ thấy ví mình có token TRX.
3. Download code template trên github
- Tron đã chuẩn bị cho các developer một source code mẫu. Vào https://github.com/TRON-Developer-Hub/TRC20-Contract-Template để tải về
4. Edit thông tin token của bạn
- Sau khi tải source code mẫu về. Bạn mở file
Token.sol
và thay đổi thông tin tương ứng với thông tin token mà bạn muốn deploy.EDX5234 - DoLan
: là tên token mà mình muốn deploy.EDX5234
: là kí hiệu cho token của mình1000000000
: là tổng cung. Ở ví dụ này mình khai báo là 1tỷ, tức là mình sẽ phát hành ra 1tỷ token tên làEDX5234 - DoLan
và có ký hiệu làEDX5234
5. Sử dụng development tool của TRON network để deploy
- Nếu ở Ethereum thì bạn có thể sử dụng IDE online như Remix để deploy smartcontract. Thì với Tron, họ cũng hỗ trợ một development tool, để các bạn có thể upload source để deploy một cách dễ dàng.
- Truy cập vào development tool ở mạng NileTestnet https://nile.tronscan.org
- Sau đó hãy connect ví TronLink
- Vào Top menu > Blockchain > Contract Deployment
6. Upload hết files lên
7. Compile source code
- Click
Compile
để biên dịch ra mã máy. Sau khi click compile sẽ hiện ra 1 popup chọn Solidity version. Smartcontract của bạn sử dụng phiên bản solidity bao nhiêu thì bạn chọn biên dịch với version tương ứng. Để biết smartcontract sử dụng phiên bản nào, bạn xem lại fileToken.sol
, trong ví dụ này mình đã sử dụngpragma solidity ^0.5.0
, tức là mình đã định nghĩa smartcontract với version0.5.0
, nên mình sẽ chọn compile với version tầm0.5
8. Deploy
- Sau khi compile thành công, bạn click tiếp nút
Deploy
- Nó sẽ hiện ra popup, bạn chọn file định nghĩa token của bạn là file
Token
- Sau đó click Confirm để tiến hành deploy
- Sau khi deploy thành công, chỗ console sẽ hiển thị 2 thông tin khá quan trọng:
- Mã TX: từ mã này có thể xem thông tin transaction đã tạo token của bạn trên mạng TRON
- Contract address: là địa chỉ smartcontract của bạn
9. Hiển thị token trên ví
- Bạn copy contract address, vào TronLink, chọn phần add token (custom token), và dán địa chỉ contract vào
Vậy là hoàn tất quá trình tạo một token cho riêng mình.
IV. Transfer token
Sau khi tạo thành công một token TRC20 của riêng mình trên mạng lưới TRON network, mình sẽ thử gửi token cho người bạn của mình, để xem bạn mình có nhận được không nhé.
- Mình demo có 2 wallet:
- Main Wallet: là ví của mình có chứa token mình vừa tạo
- Other Wallet: là ví của bạn mình, lúc này token
EDX5234
có số dư là0
(chưa có sở hữu token nào)
- Thực hiện 1 transfer token
EDX5234
với số lượng là 1000 token đến ví của bạn mình
- Kiểm tra lượng token của 2 ví. Ví mình thì số lượng token đã giảm đi, còn ví của bạn mình thì đã tăng lên 1000 token
V. Kiểm tra thông tin giao dịch
- Mỗi một giao dịch trên blockchain network đều sinh ra một TX - là mã hash cho 1 transaction. Từ mã này bạn có thể truy cứu thông tin giao dịch của mình như gửi từ ai, gửi cho ai, gửi bao nhiêu, mất bao nhiêu phí, có bao nhiêu confirms, v.v...
VI. Tổng kết
Việc tạo một token cũng khá là đơn giản. Mình cũng đã có quay video demo, bạn có thể xem và thực hành luôn.
Chúc các bạn thành công.