At 8:30 PM on March 6, 2025, the Cardano Blockchain Programming Course officially begins with the participation of nearly 90 learners, including lecturers from University of Transport and Communications, Dong A Industrial University, University of Economics - Technology for Industries, Phuong Dong University, Posts and Telecommunications Institute of Technology (PTIT), and many other universities. Additionally, blockchain enthusiasts from the community will also be joining.
Course Roadmap covers four key modules: Understanding the EUTxO model – the foundation of Cardano transactions Interacting with Cardano Blockchain using cardano-cli and Lucid SDK Writing smart contracts with powerful languages like Aiken, Opshin Hands-on practice from basic to advanced, including Smart Contract deployment and transaction management on Blockchain
Key Topics Covered in the Course: Understanding and comparing UTXO spending from wallets using Private Key signatures versus spending UTxOs on Smart Contracts using script logic conditions
How to compile smart contracts from Plutus Tx, Aiken, Opshin into Plutus Core and CBOR code
This is a fantastic opportunity for lecturers and developers to expand their knowledge, master new technologies, and apply them in real-world projects!
Let’s learn and grow together in the Cardano ecosystem!
Key Topics: CLI Getstarted – Setting up and starting Cardano CLI Query Tip – Check blockchain status Query UTXO – Read wallet data and transactions Compare HD & non-HD wallets: HD wallets manage keys better with mnemonic phrases Restore key from mnemonic: Easily restore your wallet using a recovery phrase
Summary of Lesson 4: Using Lucid to Interact with the Cardano Blockchain (01/03)
What did we learn in Lesson 4?
This session focused on using Lucid, a TypeScript library that simplifies interactions with the Cardano blockchain. Together, we explored:
What is Lucid? How to install and import the Lucid library Basic operations with Lucid:
Initializing Lucid
Creating a wallet using Lucid
Describing a simple transaction from Alice to Bob
Demo: Interacting with Cardano Blockchain using Lucid
Preparation Before Live Coding
Before diving into hands-on coding, we prepared some essential dependencies: Installed Deno Registered a Blockfrost API Key to access Cardano blockchain data
Live Coding Session
We practiced the following Lucid operations step by step:
Creating a new project Importing the Lucid library Selecting a provider, choosing a wallet, and displaying the wallet address Reading and analyzing UTxOs in the wallet, including:
Number of UTxOs
Key details within a UTxO: txhash, txix, amount of lovelace, number of tokens, Datum, etc.
Reading and analyzing Datum Creating a simple transaction on Cardano Creating a transaction with a message using key 674
Some Image from the Session
Watch the full lesson video here:
We’d love to hear your feedback and answer any questions! Feel free to join the discussion on the forum or in the Cardano2VN Telegram group.
Session 5: Using Lucid for Off-Chain Programming on Cardano (02/03)
What did we learn in Session 5?
In this session, we continued our exploration of Lucid, a powerful TypeScript library for interacting with the Cardano blockchain. The focus was on off-chain programming, including selecting providers, managing wallets, making payments, and interacting with smart contracts.
Key Topics Covered:
Choosing a Provider – How to select and configure a blockchain provider. Choosing a Wallet – Connecting and interacting with a wallet. Making Payments:
Sending native tokens.
Sending ADA with datum for smart contract interactions.
Interacting with Smart Contracts AlwaySuccess
Locking funds at a Plutus script.
Unlocking funds from a Plutus script.
Through live coding and hands-on practice, participants gained experience in utilizing Lucid to build and interact with decentralized applications on Cardano.
Highlights from the Session
Watch the full session here:
Join the discussion and stay updated! Telegram Group:C2VN Community
We look forward to your feedback and questions! If you have any doubts, feel free to join the discussion in the forum or our Telegram group.
Summary of Session 6: Off-chain Programming on Cardano using Lucid 03/03
Hello Cardano community!
On April 10, Cardano2VN organized Session 6 in our ongoing Cardano programming training series.
Key topics covered in this session:
In this session, we focused on off-chain programming on Cardano using Lucid – a powerful library for interacting with the Cardano blockchain through JavaScript/TypeScript.
The main topics included:
Review of minting NFTs using cardano-cli
How to create metadata following the CIP-25 standard
Integrating metadata into a transaction
Using Lucid to implement the following off-chain tasks:
Minting / Burning assets
Certification registration and deregistration
Stake delegation to a Stake Pool or DRep in the Governance system
Additionally, students became familiar with the structure of complex transactions and learned how to use Lucid to build, sign, and submit transactions efficiently — without the need for cardano-cli.
Recap of Lesson 7 – Review from Lesson 1 to Lesson 6 & Homework Assignment
Hello Cardano community!
On April 17, 2025, Cardano2VN hosted Lesson 7 of the training series “Blockchain Programming for Developers and Lecturer – BK02 Course.”
This session was dedicated to reviewing the core concepts from Lesson 1 to Lesson 6, helping participants consolidate their knowledge and get ready for the upcoming hands-on practice and personal projects.
Summary of Each Lesson
Lesson 1: Introduction to Plutus Core, UPLC, UTXO Model, and Smart Contracts
Participants were introduced to foundational topics such as:
Transaction Models
UTXO & EUTXO
Cardano Address Structure
Key Derivation
Wallet Architecture
Lesson 2 & 3: Using Cardano CLI to Interact with the Blockchain
Key activities included:
Getting started with CLI: Query tip, Query UTXO, Restore key from mnemonic
Creating a simple transaction: Build – Sign – Submit
Implementing a secure Airgap server model
Stake address creation, certification, and delegation
Interacting with the “Always Succeed” smart contract
Minting Tokens and NFTs
Experimenting with Native Scripts via Lucid (Mint using CLI, Burn using Lucid)
Lesson 4–6: Off-chain Development with Lucid SDK
Participants learned:
How to import the Lucid library and connect via Blockfrost
Create wallets and initialize Lucid instances
Perform key off-chain interactions such as:
Payments
Minting/Burning Assets
Stake Certification Registration/Deregistration
VotingDelegate
Also discussed: a comparison of Lucid vs. cardano-cli in terms of flexibility, SDK integration, and suitability for frontend/backend dApp development with TypeScript/JavaScript.
This session also included a Q&A segment and homework assignments:
In the 8th session of our Cardano Blockchain Programming Course (BK02), we officially stepped into the world of smart contract development on Cardano, starting with the Aiken programming language and the on-chain development environment.
Highlights of the lesson:
Overview of Smart Contract Programming on Cardano
Introduction to Cardano smart contract languages: Plutus, Opshin, Aiken
Why Aiken is a great starting point: simple syntax, developer-friendly, and high performance
Setting Up Aiken Development Environment on Ubuntu
Installing Aiken
Creating a basic project structure using aiken new
Compiling the contract and understanding the plutus.json output file
First Smart Contract Demo – AlwaysSuccess
Writing a simple Smart Contract that always returns true (AlwaysSuccess)
Compiling the contract, exporting plutus.json, and using Lucid to lock and unlock assets
Clear explanation of Validator, Datum, and Redeemer concepts
Thank you to all our students for actively participating! See you in the upcoming sessions where we’ll dive into more advanced smart contract logic and interact with the Cardano blockchain in real-world scenarios.
[Summary of Lesson 9 – Cardano Blockchain Programming Course | Lesson 8: The Smart Contracts Datum and Redeemer]
Hello Cardano Community!
In Lesson 9 of the Blockchain Programming on Cardano (BK02) course, we took a deep dive into two core concepts of the Extended UTXO (EUTxO) model used in Cardano Smart Contracts: Datum and Redeemer.
Following the previous lesson where students successfully wrote their first simple Smart Contract using Aiken (“Always Success”), this session elevated the complexity by teaching how to combine Datum and Redeemer to define logical conditions inside Smart Contracts.
Main Topics Covered:
A comprehensive explanation of the EUTxO model in Cardano Smart Contracts Clear insights into the roles of:
Datum: Data stored with the UTXO
Redeemer: Data provided to spend the UTXO
ScriptContext: Contextual transaction data for validation
Writing a simple Smart Contract with the condition Datum == Redeemer
Hands-on practice:
Locking ADA into a Smart Contract
Unlocking and spending the UTXO if the condition is met
Learning photos will be shared in the comment section.
Lesson recording will soon be available on our channel:
We believe that mastering Datum and Redeemer is a key foundation for building secure and complex logic dApps on Cardano.
Stay tuned for the next session, where we’ll continue exploring wallet interaction, off-chain code, and on-chain validation on Cardano.
In the 10th session of our Cardano Blockchain Programming Course, we explored one of the most meaningful and practical applications of smart contracts — the Vesting Contract.
Main Topic: Handling Time with ScriptContext in Smart Contracts
What is Vesting?
Vesting is a mechanism for conditional asset gifting. For example, parents might want to gift funds to their child, but only if the child reaches a certain age (e.g., 18 years old). The contract enforces such conditions before the assets can be released.
We implemented a “Vesting” Smart Contract with the following steps:
Key Learnings:
Understanding ScriptContext and time validation via txInfoValidRange
Building the on-chain “Vesting” smart contract using Aiken
Practicing how to lock ADA into the contract with the conditions:
Unlocking funds based on correct time and correct recipient
Discussing real-world applications and possible extensions of the Vesting model
Key Takeaway:
Through this simple yet relatable use case, learners gained insight into time-based logic in ScriptContext and how to construct on-chain conditions transparently — an essential skill for professional smart contract development on Cardano.
A few snapshots from the session:
Watch the lecture video here:
Thank you to all the participants for the engaging discussion and active learning!
See you in the next session as we continue to explore the powerful world of smart contracts on Cardano!
In Session 11 of the Cardano Blockchain Programming Course (BK02), we revisited essential concepts from Lessons 7 to 9 and introduced a powerful feature to optimize transaction fees: Reference Scripts.
Main Highlights:
Review of Lessons 7–9:
Lesson 7: Introducing Smart Contracts
Introduction to the Aiken smart contract language
Setting up the development environment
Writing the first basic smart contract: AlwaysSuccess
Lesson 8: Datum & Redeemer
Understanding the roles of Datum, Redeemer, and ScriptContext
Writing contracts with conditions like Datum == Redeemer
Practicing locking and unlocking ADA via smart contracts
Lesson 9: Vesting Contract
Building a contract for conditional asset transfer (e.g., gifts from parents to children)
Using parameters like lock_until and beneficiary
Utilizing ScriptContext to validate transaction timing
Introducing Reference Scripts:
A powerful way to reduce transaction fees when interacting with smart contracts on Cardano!
Instead of including full contract code in every transaction, you can reference a pre-deployed script on-chain
This leads to smaller transaction sizes, lower fees, and improved efficiency
Especially useful when a contract is used multiple times
Photos from the Session:
Watch the full session recording here:
Many thanks to all the enthusiastic participants!
We look forward to seeing you in future sessions as we build and deploy more advanced smart contracts with Aiken!
In the 12th session of our Cardano blockchain programming course, we explored an important and practical topic: Parameterized Smart Contracts – a technique that enables the creation of customizable, reusable, and user-specific contracts.
Key highlights from the session:
Understanding Parameterized Smart Contracts
The meaning and benefits: allows a single smart contract template to be customized for different users, rather than writing a new one each time.
Writing on-chain smart contracts with Aiken
How to pass parameters during contract compilation to create personalized contracts.
Writing off-chain programs with Lucid
Interacting with parameterized smart contracts.
Locking and unlocking funds using provided parameters.
Photos from the session:
Watch the recorded video here:
Thank you to all the students for your active participation and hands-on practice. See you in the next session as we continue building real dApps on the Cardano Blockchain!
[ Summary of Session – Cardano Blockchain Programming Course] Lesson 11: Smart Contract Mint
In this session, we explored a highly practical and exciting topic: minting and burning tokens (NFTs) using smart contracts on Cardano. The on-chain code was written in Aiken, while the off-chain logic was implemented with Lucid.
Key takeaways from the lesson:
Writing on-chain smart contracts to mint NFTs, with the token name as a parameter.
Setting up off-chain code to mint and burn NFTs using Lucid.
A deep dive into how to read and interpret Aiken libraries, and how to use appropriate functions and parameters in your smart contracts.
This lesson equips learners with the ability to create custom tokens through smart contracts instead of CLI, paving the way for more automation and enhanced security.
In this lesson, we continued exploring how to mint and interact with NFTs using Smart Contracts on Cardano – a key skill for any aspiring dApp developer.
Key Topics Covered:
NFT Minting Policy:
How to define a custom minting policy using smart contracts instead of traditional native scripts, enabling more secure and flexible control over token creation.
Interacting with Smart Contracts via Off-Chain Lucid Code:
Analyzing the CBOR structure of transactions for a deeper understanding of encoded data. Comparing Native Scripts vs. Smart Contracts in minting and burning tokens or NFTs.
[Lesson 15 – Review & Final Summary of the Cardano Blockchain Programming Course | BK02]
Hello Cardano community!
On June 19, 2025, Cardano2VN successfully hosted Lesson 15, the final session of the Cardano Blockchain Programming Course (BK02) designed for developers and educators.
Key Highlights of the Session:
Course Recap
We reviewed all 12 lessons delivered throughout the course, covering:
Core concepts of Cardano Blockchain and the Extended UTXO (EUTxO) model
Essential development tools: cardano-cli, Lucid, Aiken, and Opshin
Smart contract development from basic to advanced
Real-world examples: Minting Tokens/NFTs, Vesting, VotingDelegate, and Reference Scripts
Steps to Build a dApp on Cardano
The session included an overview of the full development pipeline for a real-world dApp, broken down into the following phases:
1. Foundation & Design
Define the Problem & Solution
Design Architecture
Choose the Technology Stack
2. On-Chain Development
Write Smart Contracts with Aiken
Manage State using Datum
Run Unit Tests & Validations
3. Off-Chain Development
Bridge on-chain and off-chain via Blockfrost/Koios API
Build APIs & backend services
4. Frontend Development
Design UI/UX
Integrate Wallet (CIP-30)
Connect with Backend
5. Testing, Deployment & Operations
Open Discussion
Learners actively participated in a vibrant Q&A session, shared their personal learning journeys, and discussed upcoming opportunities including:
Joining the Cardano Hackathon 2025
Preparing for Project submissions to Catalyst Fund 14
Some Photos from the Session:
Session Recording
Watch the full recap video here: YouTube – Lesson 15: Final Review & Q&A
Thank You!
We sincerely thank all students for joining us on this learning journey. We look forward to seeing you again at future advanced workshops, hackathons, and events as we grow the Vietnam Cardano dApp community together!
Let’s keep building the future together: Telegram: @cardano2vn