Vào 20h30 ngày 6/3/2025, khóa học Lập trình Blockchain trên Cardano chính thức khai giảng với sự tham gia của gần 90 học viên, trong đó có các giảng viên từ Trường Đại học Giao Thông Vận Tải, Đại học Công Nghiệp Đông Á, Đại học Kinh Tế Kỹ Thuật Công Nghiệp, Đại học Phương Đông, Học viện Công nghệ Bưu chính Viễn thông (PTIT) và nhiều trường đại học khác. Ngoài ra, còn có sự góp mặt của đông đảo anh chị em trong cộng đồng Blockchain Việt Nam.
Lộ trình khóa học sẽ đi qua 4 module quan trọng: Hiểu rõ mô hình EUTxO – nền tảng giao dịch trên Cardano Tương tác với Blockchain Cardano qua công cụ cardano-cli và SDK Lucid Viết hợp đồng thông minh bằng các ngôn ngữ mạnh mẽ như Aiken, Opshin Thực hành từ cơ bản đến nâng cao, bao gồm triển khai Smart Contract và quản lý giao dịch trên Blockchain
Các chủ đề quan trọng trong khóa học: Hiểu và so sánh cách chi tiêu UTXO từ ví bằng chữ ký Private Key với việc chi tiêu UTxO trên Smart Contract thông qua điều kiện logic của Script
Lesson 2: Tương tác với Blockchain Cardano bằng Cardano CLI
Bạn đã sẵn sàng đi sâu vào Cardano Blockchain chưa?
Lesson 2 sẽ giúp bạn làm chủ Cardano CLI - công cụ mạnh mẽ giúp bạn kết nối trực tiếp và kiểm soát blockchain như một lập trình viên thực thụ!
CLI Getstarted – Cách cài đặt và khởi động CLI nhanh chóng. Query Tip – Kiểm tra trạng thái mới nhất của blockchain (block height, slot…). Query UTXO – Đọc dữ liệu chi tiết về số dư và giao dịch từ địa chỉ ví.
Non-HD wallet: Mỗi lần tạo ví là một cặp khóa riêng biệt, khó quản lý nếu nhiều ví. HD wallet (Hierarchical Deterministic): Tạo ví từ 1 mnemonic phrase (12/24 từ), dễ dàng quản lý nhiều địa chỉ chỉ từ 1 khóa gốc.
Hãy trang bị cho mình kiến thức vững vàng để chinh phục Cardano Blockchain ngay hôm nay!
Bạn đã thử Cardano CLI chưa? Bình luận bên dưới cảm nhận của bạn nhé!
Tóm tắt Buổi 3: Using the Cardano CLI to Interact with Cardano Blockchain (Cont)
Trong buổi học thứ 3, chúng ta tiếp tục khám phá Cardano CLI và đi sâu vào tạo metadata, token và giao dịch trên Cardano Blockchain. Dưới đây là những nội dung chính:
Tạo Metadata theo CIP25
Key 674: Dùng để mô tả tin nhắn dành cho người nhận trong giao dịch.
Key 721: Dùng để mô tả thông tin chi tiết của Token/NFT, ví dụ như tên, hình ảnh, thuộc tính…
Thực hành CLI:
Tạo giao dịch gửi tin nhắn: Đưa metadata kèm theo giao dịch để truyền thông tin on-chain.
Tạo Token/NFT: Triển khai quá trình mint token hoặc NFT với metadata chuẩn CIP25.
Tạo giao dịch chuyển Token: Hoàn thành giao dịch gửi token/NFT vừa tạo đến ví khác.
Tóm tắt buổi 4: Using Lucid to Interact with Cardano Blockchain (01/03)
Buổi 4 chúng ta đã thu lượm được những gì?
Buổi học này tập trung vào việc sử dụng Lucid, một thư viện TypeScript giúp tương tác với blockchain Cardano một cách dễ dàng. Chúng ta đã cùng nhau khám phá:
Lucid là gì? Cách cài đặt Lucid và import thư viện Các thao tác cơ bản với Lucid:
Khởi tạo Lucid
Tạo ví từ Lucid
Mô tả giao dịch đơn giản từ Alice đến Bob
Demo tương tác với Cardano Blockchain bằng Lucid
Chuẩn bị trước khi live coding
Trước khi đi vào phần thực hành, chúng ta đã chuẩn bị một số phụ thuộc quan trọng: Cài đặt Deno Đăng ký API Key của Blockfrost để truy cập dữ liệu blockchain Cardano
Tiến hành Live Coding
Chúng ta đã trực tiếp thực hành các thao tác sau với Lucid:
Tạo một dự án Import thư viện Lucid Chọn provider, chọn ví và hiển thị địa chỉ ví Đọc và phân tích UTxO trong ví, bao gồm:
Số lượng UTxO
Các thông tin quan trọng trong một UTxO: txhash, txix, số lượng lovelace, số lượng token, Datum, …
Đọc và phân tích Datum Tạo giao dịch đơn giản trên Cardano Tạo giao dịch có tin nhắn với key 674
Chúng tôi rất mong nhận được phản hồi và câu hỏi từ các bạn! Nếu có bất kỳ thắc mắc nào, hãy tham gia thảo luận tại forum hoặc nhóm Telegram của Cardano2VN.
Tóm tắt buổi 5: Sử dụng Lucid lập trình Off-chain trên Cardano (02/03)
Trong buổi học thứ 5, chúng ta đã tiếp tục khám phá cách sử dụng Lucid, một thư viện TypeScript giúp lập trình Off-chain trên Cardano một cách dễ dàng. Dưới đây là những nội dung quan trọng đã được đề cập trong buổi học:
Các thao tác cơ bản với Lucid
Chọn nhà cung cấp (Provider) Chọn ví (Wallet) Thực hiện thanh toán (Make payments):
Gửi token gốc (Send native tokens)
Gửi ADA kèm theo Datum (Send ADA with datum)
Tương tác với Smart Contract AlwaySuccess bằng Lucid
Thực hiện khóa tài sản vào Plutus Script (Lock funds at Plutus script) Mở khóa tài sản từ Plutus Script (Unlock from Plutus script)
Chúng tôi rất mong nhận được phản hồi và câu hỏi từ các bạn! Nếu có bất kỳ thắc mắc nào, hãy tham gia thảo luận tại forum hoặc nhóm Telegram của Cardano2VN.
Tóm tắt Buổi 6: Sử dụng Lucid lập trình Offchain trên Cardano (03/03)
Xin chào cộng đồng Cardano!
Vào ngày 10/04, Cardano2VN đã tổ chức Buổi học số 6 trong chuỗi đào tạo lập trình trên Cardano.
Nội dung chính của buổi học:
Trong buổi học này, chúng tôi tập trung vào cách lập trình off-chain trên Cardano bằng thư viện Lucid – một công cụ mạnh mẽ để tương tác với Cardano blockchain bằng JavaScript/TypeScript.
Các chủ đề được trình bày bao gồm:
Ôn tập cách mint NFT bằng cardano-cli
Cách tạo metadata tuân theo chuẩn CIP-25
Tích hợp metadata vào Transaction
Sử dụng Lucid để lập trình offchain các tác vụ sau:
Mint / Burn tài sản (Assets)
Đăng ký / Hủy đăng ký chứng nhận (Certification registration/deregistration)
Ủy quyền stake vào Stake Pool hoặc DRep trong hệ thống Governance
Thực hiện hành vi VotingDelegate (Ủy quyền biểu quyết)
Ngoài ra, các bạn sinh viên cũng đã làm quen với cấu trúc giao dịch phức tạp và hiểu rõ cách sử dụng Lucid để tạo, ký và gửi giao dịch một cách dễ dàng mà không cần đến cardano-cli.
Tóm tắt Buổi học số 7 – Review từ Lesson 1 đến Lesson 6 & Giao bài tập thực hành
Xin chào cộng đồng Cardano!
Vào ngày 17/04/2025, Cardano2VN đã tổ chức Buổi học số 7 trong chuỗi đào tạo “Lập trình Blockchain dành cho Lập trình viên và giảng viên– Khóa BK02”.
Buổi học lần này tập trung tổng ôn lại toàn bộ nội dung từ Lesson 1 đến Lesson 6, giúp học viên hệ thống lại kiến thức đã học và chuẩn bị tốt hơn cho phần thực hành và xây dựng dự án cá nhân.
Tóm tắt nội dung từng buổi học
Lesson 1: Giới thiệu về Plutus Core, UPLC, UTXO model và Smart Contract
Học viên được tiếp cận với kiến thức nền tảng như:
Mô hình giao dịch (Transaction Models)
UTXO & EUTXO
Cấu trúc địa chỉ trên Cardano
Quá trình sinh khóa (Key Derivation)
Kiến trúc ví (Wallet)
Lesson 2 & 3: Sử dụng Cardano CLI để tương tác với blockchain
Làm quen với công cụ CLI: Query tip, Query UTXO, Restore key from mnemonic
Tạo giao dịch cơ bản: Build – Sign – Submit
Mô hình sử dụng Airgap server để đảm bảo an toàn
Tạo địa chỉ stake, chứng thực (certification), ủy quyền stake
Tương tác với Smart Contract “Always Succeed”
Minting token, NFT
Thử nghiệm Native Script với Lucid (Mint bằng CLI, burn bằng Lucid)
Lesson 4–6: Lập trình off-chain với Lucid SDK
Học viên được hướng dẫn:
Cách import thư viện Lucid, kết nối Blockfrost
Tạo ví, khởi tạo Lucid instance
Thực hiện các giao dịch cơ bản như:
Payment
Mint/Burn tài sản
Đăng ký / Hủy chứng nhận stake
Ủy quyền VotingDelegate
So sánh Lucid với cardano-cli: tính tương tác, khả năng phát triển ứng dụng frontend/back-end với TypeScript/JavaScript
Trong buổi học thứ 8 của khóa Lập trình Blockchain trên Cardano (BK02), chúng tôi đã chính thức bước vào thế giới lập trình hợp đồng thông minh trên Cardano, mở đầu bằng việc làm quen với ngôn ngữ Aiken và môi trường phát triển on-chain.
Nội dung chính:
Tổng quan về lập trình Smart Contracts trên Cardano
Phân biệt các ngôn ngữ viết Smart Contract trên Cardano như Plutus, Opshin, Aiken.
Vì sao Aiken là lựa chọn phù hợp để bắt đầu học: đơn giản, dễ tiếp cận, hiệu suất cao.
Thiết lập môi trường phát triển Aiken trên Ubuntu
Cài đặt Aiken
Tạo cấu trúc dự án cơ bản (aiken new)
Compile hợp đồng và hiểu file plutus.json
Demo hợp đồng thông minh đầu tiên – AlwaysSuccess
Viết một Smart Contract đơn giản luôn trả về true (Always Success)
Compile contract, xuất plutus.json, lock và unlock tài sản bằng Lucid
Giải thích khái niệm Validator, Datum, Redeemer một cách trực quan
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.
[Tóm tắt Buổi 9 – Cardano Blockchain Programming Course | Lesson 8: The Smart Contracts Datum and Redeemer]
Ở buổi học thứ 9 của khóa học Lập trình Blockchain trên Cardano (BK02), chúng tôi đã đi sâu vào hai khái niệm cốt lõi của mô hình EUTxO trên Cardano khi phát triển Smart Contract: Datum và Redeemer.
Sau buổi học trước, nơi học viên lần đầu viết thành công Smart Contract bằng Aiken (ví dụ “Always Success”), buổi này chúng ta nâng cấp kiến thức bằng cách kết hợp sử dụng Datum và Redeemer để thiết lập điều kiện logic trong hợp đồng thông minh.
Nội dung chính:
Hiểu rõ mô hình EUTXO trong Smart Contract trên Cardano Giải thích trực quan vai trò của:
Datum: Dữ liệu lưu cùng với UTXO
Redeemer: Dữ liệu cung cấp khi muốn chi tiêu UTXO
ScriptContext: Bối cảnh giao dịch cung cấp thông tin xác thực
Viết một Smart Contract đơn giản với điều kiện Datum == Redeemer
Thực hành:
Khóa tài sản (lock ADA) vào Smart Contract
Mở khóa (unlock) và tiêu UTXO nếu đúng điều kiện hợp đồng
Một vài hình ảnh học tập sẽ được cập nhật trong phần bình luận.
Trong buổi học thứ 10 của khóa lập trình blockchain trên Cardano, chúng tôi đã cùng nhau tìm hiểu một trong những ứng dụng thực tế và đầy ý nghĩa của Smart Contracts – đó là Vesting Contract.
Chủ đề chính: Xử lý thời gian với ScriptContext trong Smart Contract
Vesting là gì?
Vesting là hình thức trao tặng tài sản có điều kiện, ví dụ cha mẹ muốn tặng tài sản cho con nhưng chỉ khi con đạt một độ tuổi nhất định (ví dụ 18 tuổi) thì mới có thể nhận.
Chúng tôi đã triển khai một Smart Contract “Vesting” với các bước chính:
Nội dung học:
Giới thiệu ScriptContext và cách xử lý thời gian (txInfoValidRange)
Xây dựng on-chain code cho hợp đồng Vesting sử dụng Aiken
Thực hành Lock tài sản (ADA) vào trong hợp đồng với các điều kiện:
lock_until: Int (thời điểm có thể mở khóa)
beneficiary: VerificationKeyHash (địa chỉ người thụ hưởng)
Thực hành Unlock tài sản đúng điều kiện thời gian và đúng người nhận
Thảo luận về các ứng dụng thực tế và mở rộng từ mô hình Vesting
Ý nghĩa buổi học:
Thông qua bài toán đơn giản nhưng gần gũi này, học viên đã hiểu rõ cách tương tác với thời gian trong ScriptContext, cũng như cách xây dựng logic on-chain có điều kiện rõ ràng, minh bạch – một trong những nền tảng để phát triển các Smart Contract chuyên nghiệp trên Cardano.
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!
Trong buổi học thứ 11 của khóa học Lập trình Blockchain trên Cardano (BK02), chúng tôi đã cùng nhau ôn tập lại những kiến thức cốt lõi từ các bài học trước (Lesson 7-9) và giới thiệu thêm về một tính năng mạnh mẽ giúp tối ưu chi phí: Reference Scripts.
Tổng hợp nội dung chính:
Review Lesson 7-9:
Lesson 7: Introducing Smart Contracts
Làm quen với ngôn ngữ Aiken
Cài đặt môi trường phát triển và viết Smart Contract đầu tiên: AlwaysSuccess
Lesson 8: Datum & Redeemer
Hiểu rõ vai trò của Datum, Redeemer, ScriptContext
Viết hợp đồng với điều kiện: Datum == Redeemer
Thực hành lock/unlock ADA từ hợp đồng
Lesson 9: Vesting Contract
Viết Smart Contract cho bài toán tặng tài sản có điều kiện
Dùng lock_until và beneficiary trong hợp đồng
Sử dụng ScriptContext để kiểm tra thời gian giao dịch
Giới thiệu: Reference Scripts
Một cách mới để tiết kiệm phí giao dịch khi sử dụng Smart Contract trên Cardano!
Thay vì gửi toàn bộ code hợp đồng trong mỗi giao dịch ➝ chỉ cần tham chiếu đến một script đã được lưu sẵn trên chuỗi.
Giúp giảm kích thước giao dịch, tiết kiệm phí, và tăng hiệu suất.
Đặc biệt hữu ích khi cùng một hợp đồng được sử dụng nhiều lần.
Cảm ơn các bạn học viên đã học tập tích cực và nhiệt huyết!
Hẹn gặp lại ở các buổi học tiếp theo, nơi chúng ta sẽ tiếp tục xây dựng và triển khai những Smart Contracts phức tạp hơn với Aiken!
Trong buổi học số 12 của khóa lập trình blockchain trên Cardano, chúng ta đã cùng nhau khám phá chủ đề rất quan trọng: Parameterized Smart Contracts – một kỹ thuật giúp viết các hợp đồng thông minh linh hoạt, tái sử dụng và cá nhân hóa.
Nội dung chính của buổi học:
Khái niệm Parameterized Smart Contracts
Ý nghĩa và lợi ích: giúp một hợp đồng thông minh có thể được “tùy biến” để phục vụ nhiều người dùng, thay vì viết lại từ đầu.
Viết hợp đồng thông minh on-chain bằng Aiken
Cách truyền tham số (parameter) khi compile để tạo hợp đồng “cá nhân hóa”.
Viết chương trình off-chain bằng Lucid
Tương tác với hợp đồng thông minh đã được parameterized.
Khóa (lock) và mở khóa (unlock) tài sản dựa trên tham số đầu vào.
Cảm ơn các bạn học viên đã tham gia và thực hành tích cực. Hẹn gặp lại trong các buổi tiếp theo khi chúng ta tiếp tục xây dựng các ứng dụng dApp thực sự trên Cardano Blockchain!
[Tóm tắt buổi học số 13 – Khóa học Lập trình Blockchain trên Cardano] Lesson 11: Smart Contract Mint
Trong buổi học lần này, chúng ta đi sâu vào một chủ đề cực kỳ thú vị và thực tiễn: Tạo và hủy token (NFT) bằng hợp đồng thông minh trên Cardano sử dụng ngôn ngữ Aiken và thư viện Lucid ở phía offchain.
Nội dung chính của buổi học:
Viết smart contract onchain để mint token (NFT) với tham số hóa tên token.
Thiết lập mã offchain để mint và burn NFT với Lucid.
Phân tích chi tiết cách đọc thư viện Aiken, sử dụng đúng hàm và tham số phù hợp khi lập trình hợp đồng.
Buổi học giúp học viên nắm rõ cơ chế tạo token bằng hợp đồng thông minh thay vì sử dụng CLI, giúp mở rộng khả năng tự động hóa và bảo mật.
[Tóm tắt Buổi Học 14 – Khóa học Lập trình Blockchain trên Cardano] Lesson 12: Smart Contracts NFT
Trong buổi học này, chúng ta tiếp tục đi sâu vào việc tạo và tương tác với NFTs thông qua Smart Contracts trên Cardano – một kỹ năng quan trọng cho bất kỳ lập trình viên dApp nào.
Nội dung chính:
NFT Minting Policy:
Cách viết chính sách phát hành (mint) NFT sử dụng hợp đồng thông minh, thay vì Native Script truyền thống, để kiểm soát quyền tạo token.
Tương tác hợp đồng thông minh với mã Lucid Off-Chain Phân tích CBOR của giao dịch để hiểu rõ cấu trúc và thông tin mã hóa. So sánh lợi ích và giới hạn giữa Native Script và Smart Contract trong quá trình mint/burn token hoặc NFT.
[Lesson 15 – Review & Tổng kết Khóa học Cardano Blockchain Programming | BK02]
Chào cộng đồng Cardano!
Vào ngày 19/06/2025, Cardano2VN đã tổ chức Buổi học số 15, cũng là buổi cuối cùng của khóa đào tạo lập trình Blockchain trên nền tảng Cardano (BK02) dành cho giảng viên/lập trình viên.
Nội dung chính của buổi học:
Tổng kết chương trình học
Chúng tôi đã cùng nhau ôn lại toàn bộ 12 bài học đã được triển khai, bao gồm:
Kiến thức nền tảng về Cardano Blockchain, mô hình EUTxO
Các công cụ như cardano-cli, Lucid, Aiken, Opshin
Kỹ năng lập trình hợp đồng thông minh từ cơ bản đến nâng cao
Minting Token/NFT, Vesting, VotingDelegate và Reference Script
Các bước xây dựng một dApp trên Cardano
Học viên được hướng dẫn tổng quan về quy trình triển khai một dApp thực tế:
Nền tảng & Thiết kế
Xác định Vấn đề & Giải pháp
Thiết kế Kiến trúc
Lựa chọn Công nghệ:
2: Phát triển On-Chain
Viết Hợp đồng thông minh.
Quản lý Trạng thái thông qua Datum
Kiểm thử
3: Phát triển Off-Chain
Tích hớp on-chain/off-chain qua API blockforst/Koios…
Xây dựng API & Services
4: Phát triển Giao diện người dùng
Thiết kế UI/UX
Tích hợp Ví (Wallet Integration)
Kết nối Backend
5: Kiểm thử, Triển khai & Vận hành
Phiên trao đổi mở
Các bạn học viên đã cùng nhau chia sẻ hành trình học, hỏi đáp chuyên sâu và cùng lên kế hoạch để tham gia Hackathon Cardano 2025 và chuẩn bị nộp dự án Catalyst F14.
Cảm ơn tất cả các học viên đã đồng hành!
Hẹn gặp lại tại những buổi học nâng cao, workshop, Hackathon và cộng đồng Cardano Việt Nam phát triển dApp ngày một lớn mạnh hơn!
use aiken/collection/dict
use aiken/collection/list
use aiken/primitive/bytearray
use cardano/address.{Address}
use cardano/assets.{PolicyId}
use cardano/transaction.{Output, Transaction} as tx
pub type Action {
Minting_NFT
Burning_NFT
}
validator mint_send_nft(prifix_token_name: ByteArray) {
// redeemer, policy_id, transaction đều được lấy từ transaction thực
mint(rdmr: Action, policy_id: PolicyId, transaction: Transaction) {
let Transaction { mint, outputs, .. } = transaction
let four_outputs = list.length(outputs) == 4
//The payment credential of addr_test1qz3vhmpcm2t25uyaz0g3tk7hjpswg9ud9am4555yghpm3r770t25gsqu47266lz7lsnl785kcnqqmjxyz96cddrtrhnsdzl228 is a2cbec38da96aa709d13d115dbd79060e4178d2f775a528445c3b88f
let c2vn_addr =
address.from_verification_key(
#“a2cbec38da96aa709d13d115dbd79060e4178d2f775a528445c3b88f”,
)
expect [Pair(asset_name, amount)] =
mint
|> assets.tokens(policy_id)
|> dict.to_pairs()
let sent_nft_to_c2vn = find_output(outputs, asset_name, c2vn_addr)
when rdmr is {
Minting_NFT → amount == 1 && sent_nft_to_c2vn && four_outputs
Burning_NFT → amount == -1 && sent_nft_to_c2vn && four_outputs
}
}
Đánh giá cuối khóa | BK02 – Hoàn thiện mảnh ghép cuối cùng
Xin chào cộng đồng Cardano!
Vào ngày 19/06/2025, chúng tôi đã tổ chức buổi học cuối cùng của khóa Cardano Blockchain Programming – BK02, đánh dấu cột mốc kết thúc một hành trình học tập ý nghĩa cùng các giảng viên, lập trình viên trẻ đam mê công nghệ Blockchain.
Sau buổi học tổng kết, các học viên đã hoàn thành bài đánh giá cuối khóa, giúp hệ thống ghi nhận và tổng hợp năng lực toàn diện từ các bài học trước. Đây chính là mảnh ghép cuối cùng để Ban tổ chức update Chứng chỉ NFT trên mạng Preview, đồng thời:
Chuẩn bị sẵn sàng cho việc mint chứng chỉ NFT cá nhân hóa trên mạng Mainnet
[Nhận Chứng Chỉ Hoàn Thành Khóa Học bằng NFT | Cardano Blockchain Programming – BK02]
Xin chào cộng đồng Cardano!
Sau hơn 4 tháng học tập nghiêm túc với 15 buổi học online qua Zoom, cùng hàng loạt bài tập thực hành sau mỗi buổi và mỗi module, các học viên của khóa đào tạo Cardano Blockchain Programming – BK02 đã chính thức hoàn thành chương trình học .
Một hành trình nỗ lực bền bỉ
Khóa học BK02 do Cardano2VN tổ chức, với sự tài trợ của Catalyst Fund 13, đã đồng hành cùng nhiều lập trình viên, giảng viên trẻ đam mê Blockchain từ những bước đầu tiếp cận kiến thức nền tảng đến kỹ năng viết và triển khai smart contract on-chain/off-chain thực tế trên Cardano.
Học viên đã học qua 12 bài học kỹ thuật chuyên sâu, trải nghiệm thực hành với cardano-cli, Lucid, Aiken, Opshin, làm bài tập sau mỗi buổi học và hoàn thành bài kiểm tra đánh giá cuối khóa.
Chứng chỉ NFT – Ghi nhận nỗ lực trên Blockchain
Kết thúc khóa học, các học viên đã được mint chứng chỉ NFT cá nhân hóa trên mạng Mainnet của Cardano, như một minh chứng không thể thay đổi cho sự hoàn thành của họ.
Mỗi chứng chỉ NFT chứa metadata xác nhận trạng thái “Hoàn thành”, gắn với mã học viên và khóa học, thể hiện sự ghi nhận minh bạch trên nền tảng phi tập trung.
Chân thành cảm ơn tất cả các học viên đã kiên trì theo đuổi hành trình học lập trình Blockchain đầy thử thách nhưng cũng rất thú vị này!
C2VN hy vọng sẽ tiếp tục đồng hành cùng các bạn trong các khóa học nâng cao, workshop, các sự kiện Hackathon và những dự án giáo dục Blockchain tiếp theo.
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!