Calo là dự án “Move To Earn” làm trên BSC của đội ngũ Việt Nam ăn theo trend của STEPN. Nhìn qua dự án thấy khá giống STEPN, chi tiết về dự án này bạn google search ra rất nhiều bài viết về dự án. Mình sẽ không đi sâu phân tích dự án mà chỉ tập trung vào kiểm tra mã nguồn (source code) của smart contract.
Dự án này do có một người bạn đầu tư nên mình mới biết và muốn đi kiểm tra xem thử, chứ không phải do chủ động chọn hoặc có thành kiến gì với dự án cả. Các vấn đề đưa ra chỉ là ý kiến cá nhân, nhiều khi các vấn đề trong mã nguồn có thể do nghiệp vụ của dự án. Ở đây chúng ta tập trung nhiều vào khía cạnh “Phi tập trung”, smart contract càng ít bị can thiệp từ DEV thì càng tốt.
Dự án có hai token đã được list trên Pancake:
- CALO: Là token quản trị của dự án. Địa chỉ contract: 0xb6b91269413b6B99242B1c0Bc611031529999999
- FIT: Là token lạm phát trong Game. Địa chỉ contract: 0x77922a521182a719a48ba650ac2a040269888888
Token CALO
Chi tiết code bạn xem trên BSCScan tại địa chỉ: 0xb6b91269413b6B99242B1c0Bc611031529999999. Về các lib sử dụng thì tôi không quan tâm nhiều, nhưng có một số chỗ tôi để ý như sau:
Xem trong source code, hàm khởi tạo của contract Token bạn sẽ thấy tổng cung tối đa là 500 triệu token và được khởi tạo ngay từ đầu. Bạn có thể kiểm tra lại trong tab “Read Contract“, xem biến maxSupply và totalSupply. Trong đây cũng khởi thiết lập địa chỉ contract Router của Pancake, mục đích cũng chỉ để lấy địa chỉ contract của Pair. Đoạn này chưa thấy vấn đề gì.
Kiểm tra tiếp hàm _initialize() thì được đẩy hết sang ví tạo contract, có thể check thêm ở giao dịch tạo contract: 0x54565e523ed71ad8f8312133b1887e772e6b51e91fd8991569eaca602cdb84cc. Ví tạo contract là không phải là một contract mà là một ví bình thường ví bình thường: 0x1111116ac137b28c768a890bf401834d46c2ea09, nhưng nhìn tên họ đặt cho ví mọi người có thể nghĩ đó là một contract. Như vậy toàn bộ token này do đội DEV quản lý, họ muốn chuyển đi đâu cũng được, phụ thuộc vào sự uy tín và lời hứa của họ:
Đây là token quản trị, mình chưa rõ có giới hạn lượng cung trong Whitepaper hay không, nhưng trong Smart Contract có hàm để ĐÚC (MINT) thêm token, quyền này nằm trong tay của DEV:
Trong smart contract có hàm renounceOwnership() để từ bỏ quyền, nhưng hiện tại hàm này chưa được gọi, bạn kiểm tra owner() sẽ biết:
Theo như trong code thì vẫn có trường hợp giá trị owner là 0x000000…000 nhưng thực sự thì DEV vẫn chưa từ bỏ quyền, vì nó còn liên quan tới biến _previousOwner, bạn để ý trong hàm lock() và unlock(). Nếu DEV gọi hàm lock() thì owner sẽ được thiết lập về 0x0000…0000 nhưng DEV có thể khôi phục bằng lệnh unlock():
Token này DEV có thu phí mỗi lần transfer(), phí này hiện tại về ví 0x444444cc0e6801a1bacb6903de7e6fce69239401. Phần này mình nghĩ chắc sẽ có trong Whitepaper của dự án:
Phí hiện tại là 0.1%:
Ngoài ra smart contract còn cài đặt cơ chế chặn một số ví (Admin thêm các ví này vào blacklist để chặn), chặn không cho giao dịch trong thời gian bao lâu. Ngoài ra smart contract còn có cơ chế chặn không cho transfer() một lượng quá lớn. Hiện tại cờ này chưa được bật, nếu được bật mỗi lần giao dịch sẽ không quá 50,000 CALO. Đây là cơ chế hợp lý để tránh giao dịch một lượng lớn trong 1 giao dịch:
Token FIT
Chi tiết code bạn xem trên BSCScan tại địa chỉ: 0x77922a521182a719a48ba650ac2a040269888888. Trong contract này cũng có một số phần giống như contract CALO như:
- Thu phí mỗi thao tác transfer(), swap() nếu teamWallet được thiết lập. Hiện tại đang chưa thu phí.
- Cơ chế chặn địa chỉ, chặn thời gian giữa hai lần giao dịch.
Ở đây mình chú ý một số hàm sau:
- Admin có quyền rút token, NFT ra khỏi contract => Nếu không may bạn chuyển nhầm token bất kỳ vào địa chỉ này thì bạn có thể nhờ DEV để lấy lại được nhé.
- DEV có quyền đúc thêm token FIT => Hầu hết các GameFi đều phải có hàm này để trả token mà người chơi kiếm được trong game.
Trên đây chỉ là phân tích đơn thuần dựa trên Smart Contract của dự án, mỗi dự án có nghiệp vụ khác nhau nên cài đặt nó khác nhau. Mình không có bất kỳ bình luận nào về dự án, mình đưa ra thông tin để các bạn tham khảo và xác thực lại nó.
Trả lời