Tiêu đề gốc: " Giới thiệu tối giản về Solidity: 31. ERC20 》
Tác giả gốc: 0xAA
Tôi đang học lại sự vững chắc và tôi có thể dạy bạn những điều cơ bản trong một khóa học trắng đơn giản gần đây, mình cũng viết bài hướng dẫn mới nhất hôm nay cho mọi người sử dụng (Programming Big Another-Another), cập nhật thứ 13 hàng tuần.
Tất cả mã và hướng dẫn đều là nguồn mở trên github: github.com/AmazingAng/WTFSolidity
Bằng cách này, chúng tôi sẽ giới thiệu tiêu chuẩn Token ERC20 trên Ethereum và đưa ra các thử nghiệm của riêng mình Mã thông báo .
ERC20 có trên Ethereum Mã thông báo Tiêu chuẩn, từ EIP20 mà V God đã tham gia vào tháng 11 năm 2015. nó đã đạt được Mã thông báo Logic cơ bản của lưu thông:
Số dư tài khoản
Chuyển khoản
Ủy quyền
Mã thông báo Tổng dòng vào
Mã thông báo Thông tin tùy chọn (): tên, mã, số thập phân
IERC20 Là ERC20 Mã thông báo Hợp đồng giao diện tiêu chuẩn chỉ định ERC20 Mã thông báo Các chức năng và sự kiện cần được thực hiện.
IERC20 định nghĩa lần lượt một và 2 sự kiện khi sự kiện được ủy quyền và được ủy quyền Phê duyệt chuyển nhượng được phát hành

IERC20 định nghĩa 6 một hàm cung cấp sự chuyển giao Mã thông báo và được chấp thuận để sử dụng cơ bản trên các chuỗi khác.
totalSupply() trả về
Mã thông báo
Tổng luồng vào

balanceOf() trả về số dư tài khoản

transfer() chuyển

allowance( ) Trả về số tiền ủy quyền

phê duyệt() ủy quyền

giấy phép transferFrom()

Bây giờ hãy viết ERC20 và quy định rằng IERC20 của chúng tôi sẽ là các chức năng được thực hiện đơn giản.
Chúng ta cần ghi lại số dư tài khoản thông qua các biến trạng thái, bao gồm ủy quyền và số tiền cho Mã thông báo Nhập, tự động tạo số dư của một hàm có cùng tên, triển khai hàm đã chỉ định và. . AllowtotalSupplypublicgetterIERC20balanceOf()allowance()totalSupply()namesymboldecimals

Constructor: khởi tạo
Mã thông báo
Tên, mã hiệu.

hàm transfer() Hàm truyền trong IERC20,
Mã thông báo
hoàn thành. Số xu của người gọi sẽ được tăng lên
Mã thông báo
Số lượng, chó đổi đất tương ứng có chức năng này ở phía nhận, tham gia, chia cổ tức, xổ số, v.v.

hàm phê duyệt(): hàm phê duyệt của IERC20,
Mã thông báo
Logic ủy quyền. Người chi tiêu của bên được ủy quyền có thể kiểm soát số tiền của bên ủy quyền.
Mã thông báo
.

transferFrom() Chức năng: hàm transferFrom trong IERC20, logic ủy quyền. Bên được ủy quyền thực hiện số tiền gửi của bên ủy quyền
Mã thông báo
Được ủy quyền cho người nhận người nhận.

hàm mint(): truyền
Mã thông báo
Chức năng, không theo tiêu chuẩn IERC20. Để thuận tiện, bất cứ ai cũng có thể thêm bất kỳ số lượng
Mã thông báo
, trong các ứng dụng thực tế, các quyền sẽ được quản lý và chỉ chủ sở hữu mới có thể được truyền.
Mã thông báo
:

burn():
Mã thông báo
Chức năng, không theo tiêu chuẩn IERC20.

ERC20 tiêu chuẩn, việc phát hành trên chuỗi ETH hiện là đơn giản nhất của chúng tôi Mã thông báo , chúng tôi phát hành lần đầu tiên Mã thông báo .
Biên dịch hợp đồng tốt ERC20 trên Remix, nhập thông số của hàm khởi tạo vào cột triển khai, đặt tên_ và ký hiệu_ thành WTF rồi nhấn nút giao dịch Triển khai.

Hợp đồng triển khai
WTF chúng ta cần chạy hàm mint() để tự đúc một ít Mã thông báo . Nhấp vào hợp đồng ERC20 trong Hợp đồng đã triển khai, nhập 100 vào trường chức năng đúc tiền và nhấp vào đúc tiền để tạo mã thông báo WTF như vậy cho chính bạn.

Đang truyền Mã thông báo
Sử dụng hàm BalanceOf() của chúng tôi để truy vấn số dư tài khoản. Nhập tài khoản hiện tại để xem số dư 100 của chúng tôi, thành công.

Yêu cầu số dư
Vào ngày hôm nay, chúng tôi đã tìm hiểu về cách triển khai tiêu chuẩn ERC20 trên Ethereum và phát hành bản thử nghiệm của mình Mã thông báo . ERC20 được đề xuất vào cuối năm 2015 Mã thông báo Các tiêu chuẩn giảm đáng kể việc phát hành trên Ethereum Mã thông báo ngưỡng và mở ICO. Khi đầu tư, bạn có thể đọc kỹ thông tin của dự án Mã thông báo Hợp đồng, tránh Tỳ hưu một cách hiệu quả và tăng tỷ lệ đầu tư thành công.
Liên kết gốc
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia