Cardano Blockchain Programming Course!

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.

:small_blue_diamond: Course Roadmap covers four key modules:
:white_check_mark: Understanding the EUTxO model – the foundation of Cardano transactions
:white_check_mark: Interacting with Cardano Blockchain using cardano-cli and Lucid SDK
:white_check_mark: Writing smart contracts with powerful languages like Aiken, Opshin
:white_check_mark: Hands-on practice from basic to advanced, including Smart Contract deployment and transaction management on Blockchain

:light_bulb: Key Topics Covered in the Course:
:pushpin: Understanding and comparing UTXO spending from wallets using Private Key signatures versus spending UTxOs on Smart Contracts using script logic conditions

:pushpin: How to compile smart contracts from Plutus Tx, Aiken, Opshin into Plutus Core and CBOR code

:bullseye: This is a fantastic opportunity for lecturers and developers to expand their knowledge, master new technologies, and apply them in real-world projects!

:backhand_index_pointing_right: Let’s learn and grow together in the Cardano ecosystem! :rocket:

11 Likes

This is great. How can we collaborate to bring this to Africa?

3 Likes

We sincerely appreciate your interest in our course. It is our pleasure to have the opportunity to collaborate with you.

Awesome, where can I follow the unfolding of the project keenly? Where can I send collaboration request to?

Thank you!
You can follow us here and join our general Telegram group at: https://t.me/cardano2vn.

Thanks for sharing, I will catch up.

2 Likes

:pushpin: Lesson 2: Interacting with the Cardano Blockchain using Cardano CLI

:rocket: Key Topics:
:white_check_mark: CLI Getstarted – Setting up and starting Cardano CLI
:white_check_mark: Query Tip – Check blockchain status
:white_check_mark: Query UTXO – Read wallet data and transactions
:white_check_mark: Compare HD & non-HD wallets: HD wallets manage keys better with mnemonic phrases
:white_check_mark: Restore key from mnemonic: Easily restore your wallet using a recovery phrase

:movie_camera: Watch the full lecture:
:backhand_index_pointing_right: Lecture video

:fire: Are you ready to master the Cardano Blockchain? :rocket:

1 Like

:fire: Summary of Session 3: Using the Cardano CLI to Interact with Cardano Blockchain (Cont)

:pushpin: Key Content:

  • Creating Metadata following CIP25:
    • Key 674: Describes messages for the recipient.
    • Key 721: Describes Token/NFT information.
  • Hands-on Practice:
    :white_check_mark: Create a transaction with a message.
    :white_check_mark: Mint Token/NFT.
    :white_check_mark: Transfer Token/NFT to another wallet.

:camera_with_flash: Session Images:

  • Image 1: CIP25 metadata structure.

  • Image 2: Transaction creation.

  • Image 3: Token/NFT details.

:movie_camera: Watch the full session recording:

:rocket: Let’s build your first Token/NFT on Cardano!

1 Like

Summary of Lesson 4: Using Lucid to Interact with the Cardano Blockchain (01/03)

:light_bulb: 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:

:white_check_mark: What is Lucid?
:white_check_mark: How to install and import the Lucid library
:white_check_mark: 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

:rocket: Preparation Before Live Coding

Before diving into hands-on coding, we prepared some essential dependencies:
:small_blue_diamond: Installed Deno
:small_blue_diamond: Registered a Blockfrost API Key to access Cardano blockchain data

:laptop: Live Coding Session

We practiced the following Lucid operations step by step:

:small_blue_diamond: Creating a new project
:small_blue_diamond: Importing the Lucid library
:small_blue_diamond: Selecting a provider, choosing a wallet, and displaying the wallet address
:small_blue_diamond: 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.

:small_blue_diamond: Reading and analyzing Datum
:small_blue_diamond: Creating a simple transaction on Cardano
:small_blue_diamond: Creating a transaction with a message using key 674

:camera_with_flash: Some Image from the Session




:pushpin: 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. :rocket:

cardano #Lucid blockchain #DApp #Cardano2VN

2 Likes

Session 5: Using Lucid for Off-Chain Programming on Cardano (02/03)

:rocket: 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:

:white_check_mark: Choosing a Provider – How to select and configure a blockchain provider.
:white_check_mark: Choosing a Wallet – Connecting and interacting with a wallet.
:white_check_mark: Making Payments:

  • Sending native tokens.
  • Sending ADA with datum for smart contract interactions.

:white_check_mark: Interacting with Smart Contracts AlwaySuccess

  • Locking funds at a Plutus script.
  • Unlocking funds from a Plutus script.

:light_bulb: Through live coding and hands-on practice, participants gained experience in utilizing Lucid to build and interact with decentralized applications on Cardano.

:camera_with_flash: Highlights from the Session

:pushpin: Watch the full session here:

:loudspeaker: Join the discussion and stay updated!
:speech_balloon: 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. :rocket:

cardano #Lucid blockchain #DApp #Cardano2VN

2 Likes

:loudspeaker: Summary of Session 6: Off-chain Programming on Cardano using Lucid 03/03

Hello Cardano community! :waving_hand:

On April 10, Cardano2VN organized Session 6 in our ongoing Cardano programming training series.

:bullseye: 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:

:small_blue_diamond: Review of minting NFTs using cardano-cli

  • How to create metadata following the CIP-25 standard
  • Integrating metadata into a transaction

:small_blue_diamond: Using Lucid to implement the following off-chain tasks:

  • :white_check_mark: Minting / Burning assets
  • :white_check_mark: Certification registration and deregistration
  • :white_check_mark: Stake delegation to a Stake Pool or DRep in the Governance system
  • :white_check_mark: Performing VotingDelegate actions (vote delegation)

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.


:camera_with_flash: A few photos from the session



:television: Watch the full lecture video here:

:speech_balloon: Join our Telegram discussion group:

:backhand_index_pointing_right: Telegram: View @cardano2vn

1 Like

:books: Recap of Lesson 7 – Review from Lesson 1 to Lesson 6 & Homework Assignment

Hello Cardano community! :waving_hand:
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.


:bullseye: Summary of Each Lesson

:small_orange_diamond: 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

:small_orange_diamond: 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)

:small_orange_diamond: 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.


:technologist: This session also included a Q&A segment and homework assignments:

  • Send/Receive ADA using Lucid
  • Mint/Burn tokens
  • Certification registration transactions
  • VotingDelegate interactions

:camera_with_flash: Some snapshots from the session:


:television: Watch the full session video here:

:speech_balloon: Tham gia nhóm trao đổi trênTelegram:

:backhand_index_pointing_right: Telegram: View @cardano2vn

2 Likes

:technologist: [Recap of Lesson 8 – Cardano Blockchain Programming Course | Lesson 7: Introducing Smart Contracts]

Hello :waving_hand:

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.

:bullseye: Highlights of the lesson:

:white_check_mark: 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

:white_check_mark: 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

:white_check_mark: 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

:camera_with_flash: Some snapshots from the session:



:movie_camera: Watch the full session recording here:


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. :rocket:

:speech_balloon: Join our Telegram discussion group:

:backhand_index_pointing_right: Telegram: View @cardano2vn

Warm regards,
Cardano2vn Team

:technologist: [Summary of Lesson 9 – Cardano Blockchain Programming Course | Lesson 8: The Smart Contracts Datum and Redeemer]

Hello Cardano Community! :waving_hand:

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.


:bullseye: Main Topics Covered:

:white_check_mark: A comprehensive explanation of the EUTxO model in Cardano Smart Contracts
:white_check_mark: 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

:white_check_mark: Writing a simple Smart Contract with the condition Datum == Redeemer

:white_check_mark: Hands-on practice:

  • Locking ADA into a Smart Contract
  • Unlocking and spending the UTXO if the condition is met

:camera_with_flash: Learning photos will be shared in the comment section.

:movie_camera: 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. :rocket:

:pushpin: Join our Telegram group to connect and stay updated:
:backhand_index_pointing_right: Telegram: View @cardano2vn

Sincerely,
Cardano2vn Team

1 Like

:brain: [Lesson 10 Recap – Cardano Blockchain Programming Course | Topic: The Contract Vesting]

Hello Cardano Community! :waving_hand:

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.

:bullseye: Main Topic: Handling Time with ScriptContext in Smart Contracts

:locked_with_key: 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:

:white_check_mark: Key Learnings:

  1. Understanding ScriptContext and time validation via txInfoValidRange
  2. Building the on-chain “Vesting” smart contract using Aiken
  3. Practicing how to lock ADA into the contract with the conditions:
  • lock_until: Int (timestamp to unlock)
  • beneficiary: VerificationKeyHash (authorized recipient)
  1. Unlocking funds based on correct time and correct recipient
  2. Discussing real-world applications and possible extensions of the Vesting model

:man_teacher: 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.

:camera_with_flash: A few snapshots from the session:



:movie_camera: Watch the lecture video here:


:folded_hands: 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!

:pushpin: Join our Telegram group to connect and stay updated:
:backhand_index_pointing_right: Telegram: View @cardano2vn

Sincerely,
Cardano2vn Team

1 Like

:teacher: [Summary of Session 11 – Cardano Blockchain Programming Course | Review Lesson 7–9 & Reference Scripts]

Hello Cardano Community! :waving_hand:

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.


:bullseye: Main Highlights:

:repeat_button: Review of Lessons 7–9:

:white_check_mark: Lesson 7: Introducing Smart Contracts

  • Introduction to the Aiken smart contract language
  • Setting up the development environment
  • Writing the first basic smart contract: AlwaysSuccess

:white_check_mark: 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

:white_check_mark: 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

:wrench: 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

:camera_with_flash: Photos from the Session:




:movie_camera: 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! :rocket:


:handshake: Join our discussion group on Telegram:
:backhand_index_pointing_right: Telegram: View @cardano2vn

Warm regards,
Cardano2vn Team

1 Like

:technologist: [Lesson 12 Recap – Cardano Blockchain Programming Course | Lesson 10: Parameterized Smart Contracts]

Hello Cardano community :waving_hand:

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.


:light_bulb: Key highlights from the session:

:white_check_mark: 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.

:white_check_mark: Writing on-chain smart contracts with Aiken

  • How to pass parameters during contract compilation to create personalized contracts.

:white_check_mark: Writing off-chain programs with Lucid

  • Interacting with parameterized smart contracts.
  • Locking and unlocking funds using provided parameters.

:camera_with_flash: Photos from the session:



:movie_camera: Watch the recorded video here:


:folded_hands: 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!


:loudspeaker: Join our learning community:
:right_arrow: Telegram: View @cardano2vn

Warm regards,
Cardano2vn Team

2 Likes

:books: [ Summary of Session – Cardano Blockchain Programming Course]
:brain: 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.

:magnifying_glass_tilted_left: 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.

:camera_with_flash: Class photos


:movie_camera: Lecture video


:loudspeaker: Join our learning community:
:right_arrow: Telegram: View @cardano2vn

Best regards,
Cardano2vn Team

1 Like

:books: [Recap of Lesson 14 – Cardano Blockchain Programming Course]
:graduation_cap: Lesson 12: Smart Contracts NFT

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.

:light_bulb: Key Topics Covered:

:small_orange_diamond: 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.

:small_orange_diamond: Interacting with Smart Contracts via Off-Chain Lucid Code:

:small_orange_diamond:Analyzing the CBOR structure of transactions for a deeper understanding of encoded data.
:small_orange_diamond: Comparing Native Scripts vs. Smart Contracts in minting and burning tokens or NFTs.

:camera_with_flash: Class photos




:movie_camera: The lesson video

:rocket: Join our community for discussion and support:
:right_arrow: Telegram: View @cardano2vn

1 Like

:graduation_cap: [Lesson 15 – Review & Final Summary of the Cardano Blockchain Programming Course | BK02]

Hello Cardano community! :waving_hand:

On June 19, 2025, Cardano2VN successfully hosted Lesson 15, the final session of the Cardano Blockchain Programming Course (BK02) designed for developers and educators.

:blue_book: Key Highlights of the Session:

:white_check_mark: 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

:white_check_mark: 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


:speech_balloon: 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

:camera_with_flash: Some Photos from the Session:


:movie_camera: Session Recording

:clapper_board: Watch the full recap video here:
:backhand_index_pointing_right: YouTube – Lesson 15: Final Review & Q&A

:light_bulb: 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!

:rocket: Let’s keep building the future together:
:backhand_index_pointing_right: Telegram: @cardano2vn

Warm regards,
Cardano2VN Team

2 Likes