[Seri Solidity - Ethereum] Bài 4: Giới Thiệu Về Project Xổ Sổ
1. Giới thiệu về Project
Về căn bản, xổ số trên blockchain nó sẽ khắc phục được một số nhược điểm của xổ số truyền thống:
- Trao thưởng công bằng: Ban tổ chức không thể thay đổi số liệu được cho nên trường hợp gian lận rất khó xảy ra
- Ẩn danh: Tránh được tình trạng nhận vơ "họ hàng" :((, người trúng giải có khi nhà kế bên còn không biết (trừ trường hợp tự mình nói ra :v)
Đó là 2 ưu điểm chính khi ta triển khai nó trên blockchain. Còn cách thức hoạt động của xổ số thì nó hoàn toàn tương tự như ở ngoài đời rồi, mình không nói rõ thêm
2. Cấu trúc smart contract xổ số
Do đây là project đầu tiên của chúng ta trên Solidity nên mình không thêm thắt những tính năng phụ. Sẽ có 3 function chính cho smart contract như sau:
- function constructor(): Sẽ chạy 1 lần duy nhất khi "đẩy" (publish) contract lên blockchain. Mục đích của function này lưu địa chỉ người tạo contract vào biến manager.
- function enter(): Sẽ yêu cầu người chơi nạp 1 số tiền nhất định để chơi (vé số). Địa chỉ của người tham gia sẽ lưu vào biến players
- function pickWiner(): Giống như tên gọi, nó sẽ ngẫu nhiên chọn người chiến thắng từ mảng array players. Sau đó reset chương trình để mở kì xổ số mới
Lưu ý: Mình đã nói 1 lần nhưng mình xin nói lại 1 lần nữa là seri này không phù hợp với những ai mới biết đến lập trình. Có rất nhiều những vấn đề mình sẽ chỉ nói sơ qua (do nó tương tự như ngôn ngữ khác). Ở đây mình chỉ tập trung giải thích những đặc trưng của ngôn ngữ Solidity
3. Tổng kết
Như vậy bạn đã có một cái nhìn khái quát về project mà chúng ta sẽ làm. Ở bài viết sau, ta sẽ cùng xây dựng những tính năng đầu tiên cho smart contract
Không có nhận xét nào:
Đăng nhận xét