BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR
Partnered With:

Giới thiệu tối giản về Solidity|Bài 32: Vòi Token

Đọc bài viết này mất 9 phút
Bài viết này giới thiệu lịch sử của vòi Token và hợp đồng vòi ERC20.
Tiêu đề gốc: "Giới thiệu theo chủ nghĩa tối giản Solidity: 32. Vòi mã thông báo"
Tác giả gốc: 0xAA   


Gần đây tôi đã học lại sự vững chắc, củng cố các chi tiết và cũng viết một bài "Giới thiệu về Solidity Minimalist" cho người mới sử dụng (các chuyên gia lập trình có thể tìm một bài khác Hướng dẫn ), 1-3 bài giảng được cập nhật mỗi tuần.


Tất cả các mã và hướng dẫn đều là nguồn mở trên github: github.com/AmazingAng/WTFSolidity


Trong Bài giảng 31, chúng ta đã tìm hiểu về tiêu chuẩn Token ERC20. Trong bài giảng này, chúng ta sẽ tìm hiểu về hợp đồng thông minh của vòi ERC20. Trong hợp đồng này, người dùng có thể nhận được Token ERC20 miễn phí.


Vòi token


Khi khát, người ta phải đến vòi để lấy nước; Khi mọi người muốn có token miễn phí, họ phải đến vòi Token để lấy. Vòi token là một trang web/ứng dụng cho phép người dùng nhận token miễn phí.


Vòi Token sớm nhất là vòi Bitcoin (BTC): Hiện tại, một BTC có giá 30.000 USD, nhưng vào năm 2010, giá BTC chưa đến 0,1 USD và ở đó có rất ít người nắm giữ. Để mở rộng tầm ảnh hưởng của mình, Gavin Andresen của cộng đồng Bitcoin đã phát triển vòi BTC để cho phép người khác nhận BTC miễn phí. Mọi người đều thích chơi với len và nhiều người đã bắt đầu làm việc đó vào thời điểm đó, và một số người trong số họ đã trở thành tín đồ của BTC. Vòi BTC đã trao tặng tổng cộng hơn 19.700 BTC, hiện trị giá khoảng 600 triệu USD!


Hợp đồng vòi ERC20


Ở đây, chúng tôi triển khai phiên bản đơn giản hóa của vòi ERC20, logic rất đơn giản: Chúng tôi chuyển một số Token ERC20 sang hợp đồng vòi. Người dùng có thể nhận 100 đơn vị Token thông qua hàm requestToken() của hợp đồng. Mỗi địa chỉ chỉ có thể nhận một lần.


Biến trạng thái


Chúng tôi xác định 3 biến trạng thái trong hợp đồng vòi


amountAllowed đặt số lượng Token có thể nhận được mỗi lần (mặc định là 100. Nó không phải là một trăm, vì Token có chữ số thập phân).

tokenContract ghi lại địa chỉ hợp đồng Token ERC20 đã phát hành.

requestedAddress ghi lại địa chỉ nơi Mã thông báo đã được nhận.   



Sự kiện


Hợp đồng vòi xác định một sự kiện SendToken, ghi lại từng Địa chỉ và số lượng Token thu thập được trong thời gian này sẽ được giải phóng khi hàm requestTokens() được gọi.



Chức năng


Chỉ có hai chức năng trong hợp đồng:


Trình tạo: Khởi tạo biến trạng thái tokenContract và xác định địa chỉ Mã thông báo ERC20 đã phát hành.   


requestTokens (), người dùng có thể nhận Mã thông báo ERC20 bằng cách gọi nó.


Bản trình diễn phối lại


1 Trước tiên, hãy triển khai hợp đồng Mã thông báo ERC20 và cung cấp cho mình 10.000 đơn vị Mã thông báo.


Triển khai `ERC20`


2 Triển khai hợp đồng vòi Vòi và điền các tham số khởi tạo với địa chỉ hợp đồng của Mã thông báo ERC20 ở trên.


Triển khai hợp đồng vòi


3 Sử dụng hàm trasnfer() của hợp đồng Token ERC20 để chuyển 10.000 đơn vị chuyển mã thông báo đến địa chỉ hợp đồng vòi.


Chuyển sang vòi

blockquote>


4 Thay đổi tài khoản mới, gọi hàm requestTokens() của hợp đồng vòi và nhận Mã thông báo. Bạn có thể thấy sự kiện SendToken đang được phát hành trong thiết bị đầu cuối.


Nhận mã thông báo


5 Sử dụng BalanceOf để truy vấn số dư tài khoản trên hợp đồng Token ERC20. Bạn có thể thấy số dư thay đổi thành 100 và yêu cầu thành công!


Đã nhận thành công


Tóm tắt


Trong bài giảng này, chúng tôi đã giới thiệu về Token The lịch sử của vòi và hợp đồng vòi ERC20. Bạn nghĩ vòi BTC tiếp theo sẽ ở đâu?


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

举报 Báo lỗi/Báo cáo
Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi