Bài viết trước đã đề cập đến một số định nghĩa về Web 3.0 cũng như cách thức hoạt động của nó. Trong bài viết tiếp theo của loạt bài này, chúng ta hãy cùng đi sâu tìm hiểu việc triển khai một trang web dựa trên các tiêu chuẩn của Web 3.0 và Blockchain. 

Để gợi lại trí nhớ, bạn có thể xem lại bài viết trước. TẠI ĐÂY!

Hãy cùng vận hành một nền tảng Web 3.0 - tamsudev.club

A. Kịch bản

Tạo một trang web mô phỏng tamsudev.club.

Tất cả dữ liệu được lưu trữ trên IPFS (một hệ thống tệp phân tán kết nối các thiết bị theo mô hình ngang hàng, phân phối dữ liệu lưu trữ bằng giao thức P2P, được xem là giải pháp thay thế cho HTTP và là cơ sở dữ liệu phi tập trung của blockchain). 

ipfs:// & http://

Luồng nội dung của trang web này:

  • Khi nhấp vào bất kỳ công ty nào trên trang chủ, trang web sẽ chuyển hướng đến trang đánh giá của công ty đó.
  • Dữ liệu bình luận từ trang đánh giá công ty, sau khi được gửi đi, sẽ được lưu trữ trên IPFS.
  • Sau khi được lưu trữ thành công, IPFS sẽ trả về một CID (Mã định danh nội dung) duy nhất tương ứng với mỗi dữ liệu được lưu trữ, và sau đó lưu CID này vào Hợp đồng thông minh (Smart Contract).
  • Để truy xuất dữ liệu, chúng ta chỉ cần thực hiện quy trình ngược lại: lấy CID từ Smart Contract và sử dụng nó để gọi IPFS nhằm truy xuất dữ liệu. 

B. Các bước thực hiện

1. Tiến hành tạo giao diện trang web cơ bản

Chúng tôi có quyết định các chức năng của từng trang và dữ liệu cần lưu trữ cho mỗi trang:

Hình 1. Trang chủ của Tamsudev
Hình 2. Trang đánh giá của Tamsudev
Hình 3. Trang diễn đàn của Tamsudev
Hình 4. Sử dụng Infura để lưu trữ dữ liệu trên IPFS
Hình 5. Khóa riêng tư của ví mạng thử nghiệm Goerli.
Hình 6. Kết nối với Alchemy
Hình 7. Chức năng tải dữ liệu lên IPFS
Hình 8. Hàm lấy dữ liệu từ một mảng các CID

2. Tạo Hợp đồng thông minh của riêng chúng ta

Hình 9. Các biến trong hợp đồng thông minh
Hình 10. Các phương thức sẽ có trong Hợp đồng thông minh
Hình 11. Tạo thêm một tệp triển khai và cấu hình tệp hardhat.config.js
Hình 12. Triển khai Hợp đồng thông minh

3. Tìm kiếm thông tin về hợp đồng thông minh

Hình 13. Tìm kiếm thông tin về hợp đồng thông minh
Hình 14. goerli.etherscan.io_ Lịch sử giao dịch
Hình 15. goerli.etherscan.io_ Chi tiết giao dịch
Hình 16. goerli.etherscan.io_ Chi tiết giao dịch - Dữ liệu đầu vào
Hình 17. goerli.etherscan.io_ CID mà chúng tôi đã truyền vào
Hình 18. goerli.etherscan.io_ Tab Sự kiện mới
Hình 19. goerli.etherscan.io_ Mục Hợp đồng
Hình 20. goerli.etherscan.io_ Tab Sự kiện (Events)

4. Lưu địa chỉ mới của Hợp đồng thông minh.

Hình 21. Lưu địa chỉ mới của Hợp đồng thông minh vào tệp .env
Hình 22. Tách biệt các phương thức gọi Smart Contract.
Hình 23. Tạo chức năng thêm công ty mới

Hãy ấy ví dụ về việc tạo một công ty mới có tên làDylanCompany" với các tham số sau:  

Hình 24. Hãy lấy ví dụ về việc thành lập một công ty mới.
Hình 25. Lưu mã băm vào Hợp đồng thông minh.
Hình 26. Cách dữ liệu được lưu thành công vào Hợp đồng thông minh.

5. Lấy dữ liệu công ty và hiển thị danh sách các công ty trên màn hình.

Dưới đây là hàm dùng để lấy dữ liệu công ty và hiển thị danh sách các công ty trên màn hình:  

Hình 27. Lấy dữ liệu công ty và hiển thị danh sách các công ty trên màn hình.
Hình 28. Truy xuất mảng các CID từ Hợp đồng thông minh.
Hình 29. Cách chúng tôi nhận dữ liệu của công ty

Như vậy, chúng ta đã hoàn thành bài tập cơ bản về việc tương tác với Smart Contract (hợp đồng thông minh) trên blockchain và lưu trữ dữ liệu trên IPFS. 

C. Ưu và nhược điểm

Ưu điểm

  • Không qua trung gian: Mạng lưới hoạt động dựa trên cơ chế tương tác ngang hàng, trong đó các giao dịch và dữ liệu được thực hiện trực tiếp mà không cần thông qua bất kỳ bên trung gian nào. 
  • Dữ liệu bất biến và vĩnh viễn: Mọi dữ liệu được lưu trữ trên Web 3.0 đều không thể bị xóa hoặc thay đổi, qua đó đảm bảo tính vĩnh viễn và ngăn chặn các sửa đổi trái phép. 
  • Dịch vụ hoạt động 24/7: Do các hoạt động trên Internet được vận hành bởi các nút mạng thay vì các máy chủ cụ thể, các dịch vụ có thể hoạt động liên tục suốt cả ngày. 

& Nhược điểm

  • Tốc độ chậm hơn: Mặc dù internet phi tập trung mang lại tính bảo mật cao và khả năng xử lý lỗi mạnh mẽ, nhưng tốc độ của nó có thể chậm hơn do yêu cầu xác thực tại các nút mạng. 
  • Ít thân thiện với người mới hơn: Các công nghệ phi tập trung hiện nay có thể gây khó khăn cho người dùng mới khi tiếp cận, do đòi hỏi người dùng phải có một mức độ hiểu biết nhất định về công nghệ blockchain để sử dụng chúng. 
  • Khối lượng dữ liệu rác khổng lồ: Tính chất lưu trữ vĩnh viễn của dữ liệu blockchain và yêu cầu mỗi nút phải lưu trữ toàn bộ dữ liệu có thể dẫn đến sự gia tăng khối lượng dữ liệu trên blockchain. 

D. Kết luận

Mạng lưới Web 3.0 hiện tại có độ tin cậy và tính bảo mật cao, nhưng vẫn tồn tại một số hạn chế chưa được khắc phục. Tuy nhiên, trong tương lai, Web 3.0 có thể trở thành tiêu chuẩn cho các công nghệ mới, và chúng ta có thể kỳ vọng vào một mạng lưới phi tập trung hoàn thiện hơn, giúp giải quyết các hạn chế hiện có. 

Thông qua việc trải nghiệm trang web tamsudev, chúng tôi đã hiểu rõ hơn về cơ chế vận hành của một trang web Web3, đồng thời biết đến một giải pháp lưu trữ phi tập trung mới trên nền tảng phi tập trung IPFS.

Chúng tôi mời bạn liên hệ với công ty công nghệ gia công phần mềm của chúng tôi để được tư vấn và hỗ trợ trong việc triển khai các giải pháp blockchain. Cùng nhau, Hãy cùng khơi dậy sức mạnh của blockchain và định hình tương lai của các ngành công nghiệp an toàn, minh bạch. 

Trải nghiệm dịch vụ tuyệt vời nhất từ ​​trước đến nay:

SparkMinds – Chúng tôi mang lại nhiều hơn cả sự đáp ứng nhu cầu và sự hài lòng của bạn!

CHÚNG TÔI:

Công ty Cổ phần SparkMinds - Công ty gia công công nghệ

EMAIL:

info@demo.sparkminds.net

VĂN PHÒNG CÔNG TY:

Tầng 3, Tòa nhà Mộc Gia (M.G), 24A Đường Bàu Cát 2, Phường 14, Quận Tân Bình, Thành phố Hồ Chí Minh, Việt Nam

Tài liệu tham khảo

  1. (2023), from https://docs.soliditylang.org/_/downloads/en/latest/pdf/;
  2. Giới thiệu về hợp đồng thông minh | ethereum.org. (2023), từ https://ethereum.org/en/developers/docs/smart-contracts/;
  3.  Chào mừng đến với Tài liệu Infura (no date) Chào mừng đến với tài liệu Infura – Tài liệu Infura. Có sẵn tại: https://docs.infura.io/infura/;
  4.  SPARKMINDS J.S.C (no date) GitHub. Có sẵn tại: https://github.com/orgs/SparkMindsJSC/repositories.