About Me
En

/

Vi
Học blockchain P4

Học blockchain P4

Học blockchain P4

💻 GIAI ĐOẠN 4: XÂY THỬ dAPP THỰC TẾ

Sau khi đã nắm vững Blockchain cơ bản (Giai đoạn 1), Solidity (Giai đoạn 2)Ethers.js (Giai đoạn 3), thì bước này là thực chiến: tự triển khai các dự án nhỏ để gom kỹ năng lại thành sản phẩm hoàn chỉnh.


1. Voting dApp – Ứng dụng bỏ phiếu phi tập trung

Kỹ năng học được:

  • Thiết kế smart contract với logic minh bạch và không thể sửa kết quả.
  • Tạo UI kết nối và tương tác với contract.
  • Dùng event để cập nhật kết quả theo thời gian thực.

Các bước chính:

  1. Viết smart contract Voting.sol:

    • Struct Candidate, mapping votes.
    • Hàm vote() chỉ cho phép vote 1 lần.
  2. Deploy trên Remix.

  3. Tạo frontend (React + Ethers.js) để hiển thị danh sách ứng viên và số phiếu.

  4. Kết nối MetaMask, gửi vote, nhận event Voted.


2. Todo List on-chain – CRUD dữ liệu trên blockchain

Kỹ năng học được:

  • Tạo, đọc, cập nhật, xóa dữ liệu trực tiếp trên chain.
  • Quản lý mapping và array trong Solidity.
  • Hiểu rõ chi phí gas của từng thao tác CRUD.

Các bước chính:

  1. Smart contract:

    • Struct Task { string content; bool completed; }
    • Hàm createTask, updateTask, deleteTask.
  2. Frontend:

    • Form thêm task mới.
    • Checkbox đánh dấu hoàn thành.
    • Render danh sách task từ blockchain.

3. NFT Minter – Tạo và mint NFT

Kỹ năng học được:

  • Chuẩn ERC-721.
  • Upload metadata + hình ảnh lên IPFS (Pinata, NFT.storage).
  • Mint NFT và hiển thị trong ví MetaMask.

Các bước chính:

  1. Smart contract kế thừa ERC721URIStorage.
  2. Upload ảnh + JSON metadata lên IPFS → lấy URI.
  3. Gọi hàm mintNFT(address to, string memory tokenURI).
  4. Frontend hiển thị danh sách NFT đã mint.

4. Token (ERC20) Faucet – Phát token miễn phí

Kỹ năng học được:

  • Tạo token ERC20.
  • Viết faucet contract phân phối token miễn phí.
  • Giới hạn số token mỗi ví nhận (anti-spam).

Các bước chính:

  1. Triển khai contract ERC20.
  2. Viết Faucet.sol với hàm requestToken().
  3. Kết nối frontend để user click → nhận token vào ví.
  4. Test token trong MetaMask bằng cách add custom token.

5. NFT Marketplace đơn giản

Kỹ năng học được:

  • Mua/bán NFT bằng ETH.
  • Dùng chữ ký số (signature) để xác thực giao dịch.
  • Thực hiện logic định giá, rút tiền.

Các bước chính:

  1. Contract:

    • Mapping tokenId → price.
    • Hàm listNFT, buyNFT.
    • Sự kiện NFTListed, NFTSold.
  2. Frontend:

    • Danh sách NFT đang bán.
    • Form nhập giá bán, nút mua.
    • Lắng nghe event cập nhật UI.

📌 Tips khi làm dự án thực tế:

  • Bắt đầu từ dự án nhỏ rồi nâng cấp dần.
  • Dùng testnet (Goerli, Sepolia) để tiết kiệm phí.
  • Ghi chú lại bug gặp phải → rút kinh nghiệm.
  • Code contract ngắn gọn, bảo mật, luôn test kỹ.

Learn blockchain part4

Learn blockchain part4

💻 GIAI ĐOẠN 4: XÂY THỬ dAPP THỰC TẾ

Sau khi đã nắm vững Blockchain cơ bản (Giai đoạn 1), Solidity (Giai đoạn 2)Ethers.js (Giai đoạn 3), thì bước này là thực chiến: tự triển khai các dự án nhỏ để gom kỹ năng lại thành sản phẩm hoàn chỉnh.


1. Voting dApp – Ứng dụng bỏ phiếu phi tập trung

Kỹ năng học được:

  • Thiết kế smart contract với logic minh bạch và không thể sửa kết quả.
  • Tạo UI kết nối và tương tác với contract.
  • Dùng event để cập nhật kết quả theo thời gian thực.

Các bước chính:

  1. Viết smart contract Voting.sol:

    • Struct Candidate, mapping votes.
    • Hàm vote() chỉ cho phép vote 1 lần.
  2. Deploy trên Remix.

  3. Tạo frontend (React + Ethers.js) để hiển thị danh sách ứng viên và số phiếu.

  4. Kết nối MetaMask, gửi vote, nhận event Voted.


2. Todo List on-chain – CRUD dữ liệu trên blockchain

Kỹ năng học được:

  • Tạo, đọc, cập nhật, xóa dữ liệu trực tiếp trên chain.
  • Quản lý mapping và array trong Solidity.
  • Hiểu rõ chi phí gas của từng thao tác CRUD.

Các bước chính:

  1. Smart contract:

    • Struct Task { string content; bool completed; }
    • Hàm createTask, updateTask, deleteTask.
  2. Frontend:

    • Form thêm task mới.
    • Checkbox đánh dấu hoàn thành.
    • Render danh sách task từ blockchain.

3. NFT Minter – Tạo và mint NFT

Kỹ năng học được:

  • Chuẩn ERC-721.
  • Upload metadata + hình ảnh lên IPFS (Pinata, NFT.storage).
  • Mint NFT và hiển thị trong ví MetaMask.

Các bước chính:

  1. Smart contract kế thừa ERC721URIStorage.
  2. Upload ảnh + JSON metadata lên IPFS → lấy URI.
  3. Gọi hàm mintNFT(address to, string memory tokenURI).
  4. Frontend hiển thị danh sách NFT đã mint.

4. Token (ERC20) Faucet – Phát token miễn phí

Kỹ năng học được:

  • Tạo token ERC20.
  • Viết faucet contract phân phối token miễn phí.
  • Giới hạn số token mỗi ví nhận (anti-spam).

Các bước chính:

  1. Triển khai contract ERC20.
  2. Viết Faucet.sol với hàm requestToken().
  3. Kết nối frontend để user click → nhận token vào ví.
  4. Test token trong MetaMask bằng cách add custom token.

5. NFT Marketplace đơn giản

Kỹ năng học được:

  • Mua/bán NFT bằng ETH.
  • Dùng chữ ký số (signature) để xác thực giao dịch.
  • Thực hiện logic định giá, rút tiền.

Các bước chính:

  1. Contract:

    • Mapping tokenId → price.
    • Hàm listNFT, buyNFT.
    • Sự kiện NFTListed, NFTSold.
  2. Frontend:

    • Danh sách NFT đang bán.
    • Form nhập giá bán, nút mua.
    • Lắng nghe event cập nhật UI.

📌 Tips khi làm dự án thực tế:

  • Bắt đầu từ dự án nhỏ rồi nâng cấp dần.
  • Dùng testnet (Goerli, Sepolia) để tiết kiệm phí.
  • Ghi chú lại bug gặp phải → rút kinh nghiệm.
  • Code contract ngắn gọn, bảo mật, luôn test kỹ.

Tag

Buy Me A Coffee
    Blockchain