🎉 Khai giảng CLB học Smart Contract trên Cardano – Giai đoạn 2

:tada: Khai giảng CLB học Smart Contract trên Cardano – Giai đoạn 2
:light_bulb: Cùng nhau học – Cùng nhau phát triển – Cùng nhau lan tỏa kiến thức Cardano!

:rocket: Giới thiệu:
CLB học Smart Contract trên Cardano do C2VN đồng hành, được tài trợ bởi Catalyst Fund13. Đây là giai đoạn 2, nối tiếp giai đoạn 1 học về Haskell. Mục tiêu: thành thạo Plutus V2 để viết smart contract thực chiến.

:round_pushpin: Hình thức học:

  • Online qua Zoom
  • Học theo nhóm nhỏ
  • Không lợi ích tài chính trực tiếp – chỉ có kiến thức và phần thưởng ADA
  • Phương châm: “Dạy lại là cách học tốt nhất”

:books: Nội dung học:

  • Plutus V2 Smart Contract
  • Tài liệu: Plutus Pioneer Program Cohort 4 (IOG), khóa học của Cardano2VN & PPBL (2024)

:date: Lộ trình học:

  • 3 kỳ học
  • Mỗi kỳ: 5 bài lý thuyết + 1 buổi review + bài tập thực hành
  • Lịch học: Thứ Tư hàng tuần – 20:30
    • 15-30 phút: trao đổi
    • 60-75 phút: học bài mới
    • 15 phút: thảo luận nhóm

:busts_in_silhouette: Phân nhóm & tổ chức:

  • Nhóm nhỏ, có trưởng nhóm
  • Luân phiên trình bày
  • Mỗi bài có nhóm chính & nhóm backup
  • Trách nhiệm nhóm trình bày:
    • Soạn slide
    • Điều phối
    • Đặt 5 câu hỏi liên quan
  • Trách nhiệm thành viên:
    • Tham gia đầy đủ
    • Làm bài tập
    • Review bài bạn khác
    • Chủ động đọc tài liệu, đặt câu hỏi

:bullseye: Thưởng – Phạt rõ ràng:
Xem chi tiết tại video khai giảng.

:camera_with_flash: [Hình ảnh buổi khai giảng]



Cảm ơn các bạn học viên đã tham gia rất tích cực! Hẹn gặp lại trong các buổi học tiếp theo, nơi chúng ta sẽ viết những hợp đồng thông minh thực sự có logic phức tạp hơn và tương tác thực tế với blockchain Cardano. :rocket:

:speech_balloon: Tham gia nhóm trao đổi Telegram:

:backhand_index_pointing_right: Telegram: View @cardano2vn

Trân trọng,
Cardano2vn Team

4 Likes

Lại một mùa giải mới bắt đầu!

1 Like

Tham gia lớp học vừa có kiến thức lại vừa có thưởng ADA! quá hay

“Lesson 6: Handling Time in Smart Contracts (Vesting Example)”:

  • Script Contexts:
    • Được định nghĩa trong plutus-ledger-api, chứa thông tin về ngữ cảnh thực thi của một script Plutus.
    • Bao gồm scriptContextTxInfo (thông tin giao dịch) và scriptContextPurpose (mục đích script).
    • ScriptPurpose có các loại: Minting, Spending, Rewarding, Certifying.
    • TxInfo chứa thông tin chi tiết về giao dịch, đặc biệt là txInfoValidRange (khoảng thời gian hợp lệ) và txInfoData (dữ liệu kèm datum hash).
    • Hiểu rõ ScriptContext là nền tảng để viết các hợp đồng thông minh mạnh mẽ.
  • Handling Time:
    • Giải quyết vấn đề thời gian trong Plutus bằng cách sử dụng txInfoValidRange (khoảng slot hợp lệ của giao dịch).
    • Cardano sử dụng slot, Plutus sử dụng POSIX time, cần chuyển đổi giữa hai loại này.
    • POSIXTimeRange là một khoảng thời gian được định nghĩa bởi cận dưới và cận trên, có hỗ trợ vô cùng âm/dương và bao gồm/không bao gồm ranh giới.
  • Vesting Contracts:
    • Là cơ chế khóa tài sản trong một khoảng thời gian nhất định, chỉ được rút khi đến thời điểm mở khóa.
    • Điều kiện: người nhận đúng ký giao dịch và sau thời điểm đã định.
    • On-chain code (Validator logic):
      • VestingDatum chứa beneficiary (Public Key Hash của người nhận) và deadline (mốc thời gian POSIXTime).
      • Logic kiểm tra: signedByBeneficiarydeadlineReached.
    • Helper functions: Lưu smart contract ra file .plutus, lấy địa chỉ contract dạng Bech32, tạo file Datum JSON để khóa ADA.
    • Quy trình LockUnlock tài sản được thực hiện qua các lệnh cardano-cli.
  • Reference Scripts:
    • Giải pháp đề xuất bởi CPI-33 để giảm kích thước giao dịch khi chi tiêu UTXO bị khóa bằng script Plutus.
    • Script được lưu trữ on-chain và khi chi tiêu chỉ cần tham chiếu đến nó, thay vì phải đưa toàn bộ script vào giao dịch.
    • Giúp giảm kích thước giao dịch và chi phí.

Video bài giảng:

:folded_hands: Xin cảm ơn tất cả các học viên đã tham gia và thảo luận sôi nổi!
Hẹn gặp lại ở buổi học tiếp theo, nơi chúng ta sẽ tiếp tục khám phá thế giới hợp đồng thông minh đầy tiềm năng trên Cardano!

:pushpin: Tham gia nhóm Telegram để trao đổi & cập nhật:
:backhand_index_pointing_right: Telegram: View @cardano2vn

Trân trọng,
Cardano2vn Team

Chắc chắn rồi! Dưới đây là bài viết bạn có thể đăng trên Forum Cardano, cập nhật nội dung cho Câu lạc bộ Cùng nhau học Smart Contract:


:blue_book: [Lesson 7 – Off-Chain Code Development with Lucid | Câu lạc bộ cùng nhau học Smart Contract trên Cardano]

Xin chào cộng đồng Cardano! :waving_hand:

Trong buổi học số 7 của Câu lạc bộ cùng nhau học Smart Contract trên Cardano, chúng ta đã cùng nhau tìm hiểu cách phát triển mã off-chain cho dApp sử dụng Lucid – một thư viện JavaScript/TypeScript mạnh mẽ và phổ biến trong hệ sinh thái Cardano.


:sparkles: Nội dung chính

:small_blue_diamond: Giới thiệu Lucid và vai trò trong dApp

  • Lucid hỗ trợ lập trình off-chain cho các ứng dụng phi tập trung trên Cardano.

  • Giúp:

    • Tạo ví, truy vấn UTxO
    • Ký và gửi giao dịch
    • Tương tác với Smart Contracts (Plutus scripts)
    • Mint/Burn tài sản (native token/NFT)

:small_blue_diamond: Sử dụng Blockfrost làm provider

  • Lucid kết nối với blockchain thông qua Blockfrost API, cho phép lập trình viên tương tác với Cardano mà không cần tự chạy node.
  • Điều này giúp tiết kiệm tài nguyên và triển khai nhanh chóng.

:small_blue_diamond: Thực hành:

  • Gửi giao dịch cơ bản bằng Lucid

  • Tạo và sử dụng Minting Policy Script để mint/burn token

  • Tương tác với smart contract Vesting đã viết ở buổi trước:

    • Lock tài sản vào hợp đồng kèm theo Datum
    • Unlock tài sản bằng đúng Redeemer và logic kiểm tra

:white_check_mark: Minting Policy Script là thành phần không thể thiếu khi phát hành hoặc hủy tài sản trên Cardano – đảm bảo kiểm soát quyền và điều kiện sử dụng tài sản.


:camera_with_flash: Một số hình ảnh từ buổi học:

:movie_camera: Xem lại video bài giảng tại:


Cảm ơn các bạn thành viên đã tích cực học tập và chia sẻ cùng nhau!
Chúng ta sẽ tiếp tục khám phá nhiều chủ đề thú vị hơn về dApp và hợp đồng thông minh trong các buổi tới.

:rocket:
Cardano2VN Team

:loudspeaker: Tham gia thảo luận: https://t.me/cardano2vn


:blue_book: [Lesson 8] Câu lạc bộ “Cùng nhau học Smart Contract trên Cardano”

:bullseye: Chủ đề tuần này: Xây dựng ứng dụng với MeshJS

Chào các bạn,

Chúng ta đã cùng nhau đi đến bài học số 8 trong chuỗi học tập của Câu lạc bộ. Tuần này, chúng ta cùng khám phá cách xây dựng ứng dụng phi tập trung (dApp) trên nền tảng Cardano bằng MeshJS – một thư viện mạnh mẽ và tiện dụng cho nhà phát triển.


:repeat_button: Nhắc lại Lucid
Trước đó, chúng ta đã học về Lucid, thư viện JavaScript/TypeScript giúp phát triển ứng dụng off-chain:

  • Tạo và ký giao dịch
  • Tương tác với ví CIP-30
  • Xây dựng, gửi giao dịch trên Cardano

:toolbox: Giới thiệu MeshJS – Bộ công cụ toàn diện cho dev Cardano
MeshJS là thư viện mã nguồn mở giúp xây dựng dApp trên Cardano dễ dàng, nhanh chóng và ổn định.

Một số tính năng nổi bật:
:white_check_mark: Tích hợp ví đơn giản (Wallet Integration)
:white_check_mark: Tạo và gửi giao dịch (Transaction Builder)
:white_check_mark: Tương tác smart contract (Smart Contracts Transactions)
:white_check_mark: Mint token & NFT (Minting Transactions)
:white_check_mark: Quản lý UTxO hiệu quả
:white_check_mark: Hỗ trợ tiêu chuẩn CIP
:white_check_mark: Thân thiện với Frontend Developer


:laptop: Live Coding
Trong buổi học, chúng ta đã thực hành code trực tiếp các chức năng với MeshJS để:

  • Kết nối ví
  • Tạo giao dịch đơn giản
  • Mint token
  • Gọi script Plutus

:camera_with_flash: Một số hình ảnh từ buổi học:



:movie_camera: Xem lại video bài giảng tại:

:fire: Cảm ơn mọi người đã đồng hành cùng Câu lạc bộ đến bài học thứ 8. Hãy tiếp tục lan tỏa tinh thần học tập và xây dựng cộng đồng Cardano mạnh mẽ tại Việt Nam nhé! :vietnam:

:backhand_index_pointing_right: Mọi thắc mắc, chia sẻ, góp ý – mời các bạn bình luận bên dưới!

Cardano2VN Team

:loudspeaker: Tham gia thảo luận: Telegram: View @cardano2vn

#CardanoVietnam #C2VN #SmartContract #MeshJS #Lucid #dApp plutus #CardanoDeveloper

:blue_book: Lesson 9 - Câu lạc bộ Cùng nhau học Smart Contract

:repeat_button: Chủ đề: Review Lesson 6–8 & Homework Assignment 2

Trong buổi học tuần này, chúng ta đã tổng kết lại nội dung từ các bài học trước:

:white_check_mark: Lesson 6–8 Review:

  • Cách xử lý thời gian trong Smart Contract trên Cardano
  • Viết mã Off-Chain bằng Lucid
  • Tích hợp ứng dụng Front-End với MeshJS
  • Live coding: triển khai hợp đồng Vesting, thiết lập và sử dụng thư viện

:memo: Homework Assignment 2:

  • Tham khảo: hello_world contract repo
  • Viết lại hợp đồng theo hướng dẫn (bằng Plutus - optional)
  • Có thể sử dụng MeshJS hoặc Lucid
  • Nội dung bài tập có trong file README.md của repo
  • Chỉ cần gửi link GitHub repo là hoàn thành bài tập
  • :alarm_clock: Deadline: Thứ 4, ngày 30/7

:camera_with_flash: Một số hình ảnh từ buổi học:

:backhand_index_pointing_right: Hẹn gặp lại các bạn ở buổi học tiếp theo của CLB!
#SmartContract #CardanoVietnam #MeshJS #Lucid plutus #C2VN #dApp #CardanoDev

:blue_book: Lesson 9 - Minting Native Tokens on Cardano
Chào mọi người,
Chúng ta đã cùng nhau hoàn thành Buổi 11 với chủ đề Minting Native Tokens on Cardano – một nội dung rất thiết thực và gần gũi với việc phát hành tài sản số trên blockchain Cardano.

:magnifying_glass_tilted_left: Nội dung chính của bài học:

  • Giới thiệu về Native Tokens – tài sản gốc được hỗ trợ trực tiếp trên Cardano.

  • Phân biệt kiểu giá trịchức năng tài sản.

  • Hiểu rõ 5 hoạt động chính trong vòng đời của một token:
    :backhand_index_pointing_right: Mint – Issue – Use – Redeem – Burn

  • Tìm hiểu 3 thực thể quan trọng:
    :white_check_mark: Asset Controller
    :white_check_mark: Token Issuer
    :white_check_mark: Token User

  • Hướng dẫn cách đúc token đơn giản bằng Native Script.

  • Giải thích về minting policy – chính sách xác định ai, khi nào và như thế nào thì được đúc hoặc đốt token.

:laptop: Live Coding:
Buổi học có phần thực hành đúc token trực tiếp thông qua Cardano CLI, giúp các bạn hiểu quy trình từ khởi tạo đến thực thi lệnh trên mạng lưới.

:camera_with_flash: Một số hình ảnh buổi học.

Hy vọng sau buổi học này, mọi người có thể tự tin bắt đầu hành trình phát hành tài sản số riêng trên Cardano!

:rocket: Cùng nhau xây dựng hệ sinh thái Cardano Việt Nam ngày càng phát triển vững mạnh!

:megaphone: Tham gia cộng đồng Cardano2VN tại:
:backhand_index_pointing_right: https://t.me/cardano2vn

Trân trọng,
Cardano2VN Team

:graduation_cap: [Buổi 12 – Bài học 10] Hợp đồng thông minh đúc token trên Cardano

Trong buổi học này, chúng ta đã cùng nhau tìm hiểu cách đúc token trên nền tảng Cardano bằng nhiều công cụ khác nhau:

:small_blue_diamond: Chính sách đúc token với Plutus
Giải thích vai trò của minting policy như một script Plutus, kiểm tra tính hợp lệ khi đúc/đốt token. Ví dụ minh họa với hàm mkPolicy.

:small_blue_diamond: Đúc token bằng Cardano-cli
Hướng dẫn chi tiết cách xây dựng, ký và gửi giao dịch đúc token từ dòng lệnh, bao gồm cả metadata cần thiết.

:small_blue_diamond: Đúc token với Lucid
Giới thiệu cách sử dụng thư viện Lucid để tạo policyId từ Plutus script và thực hiện giao dịch đúc.

:small_blue_diamond: Đúc token với Mesh
Thực hành đúc token bằng Mesh SDK: lấy UTxO, tạo script, chuyển token name sang hex, tạo metadata theo CIP-25.

:test_tube: Thực hành:

  1. Minting Policies with Plutus

  2. Minting token with Cardano-cli

  3. Minting token with Lucid

  4. Minting token with Mesh

:camera_with_flash: Hình ảnh lớp học:

:television: Video buổi học:

:rocket: Cùng nhau xây dựng hệ sinh thái Cardano Việt Nam ngày càng phát triển vững mạnh!

:megaphone: Tham gia cộng đồng Cardano2VN tại:
:backhand_index_pointing_right: https://t.me/cardano2vn

Trân trọng,
Cardano2VN Team

1 Like

:graduation_cap: [Buổi 13 – Bài học 11] Minting NFTs on Cardano

Trong bài giảng có các nội dung:

Mint NFT, Token theo CIP25.
Mint NFT, Token theo CIP68
Thực hành sử dụng Lucid cad Mesk để tạo giao dịch.

Chi tiết tại đây:

:graduation_cap: [Buổi 14 – Review Lesson 9-11] Cùng Nhau Học SC

chi tiết buổi học:

:graduation_cap: [Buổi 15 –Lesson 12] Smart Contract Testing with Plutus Simple Model Library

Nội dung chi tiết:

:graduation_cap: [Buổi 16 –Lesson 13] Lucid là một SDK cho Cardano, giúp lập trình viên dễ dàng xây dựng ứng dụng (dApp).

Emulator trong Lucid cho phép bạn:

  • Tạo ra nhiều ví giả lập (emulated wallets).

  • Phát hành ADA hoặc token vào các ví này để test.

  • Mô phỏng việc ký và gửi giao dịch.

  • Test logic smart contract (Plutus / Aiken) cục bộ mà không tốn phí thật hay phụ thuộc vào mạng blockchain

Chi tiết bài học có tại đây: