Chuyển tới nội dung chính

Giới thiệu về Aiken

Bài học này giới thiệu tổng quan về Aiken - ngôn ngữ lập trình smart contract hiện đại cho Cardano.

Mục tiêu học tập

  • Hiểu Aiken là gì và vì sao được tạo ra
  • Nắm các đặc điểm chính của ngôn ngữ
  • So sánh Aiken với các ngôn ngữ smart contract khác

Aiken là gì?

Aiken là ngôn ngữ lập trình hàm (functional programming) được thiết kế đặc biệt cho việc viết smart contract trên blockchain Cardano.

Đặc điểm nổi bật

┌─────────────────────────────────────────────────────────┐
│ AIKEN FEATURES │
├─────────────────────────────────────────────────────────┤
│ ✓ Purely Functional - Không có side effects │
│ ✓ Strong Static Types - Phát hiện lỗi compile-time │
│ ✓ Type Inference - Compiler tự suy luận kiểu │
│ ✓ First-class Functions - Hàm là giá trị │
│ ✓ Pattern Matching - Xử lý dữ liệu mạnh mẽ │
│ ✓ Built-in Testing - Unit test & property test │
└─────────────────────────────────────────────────────────┘

Vì sao chọn Aiken?

1. Cú pháp quen thuộc

Aiken lấy cảm hứng từ Rust, Elm và Gleam:

// Khai báo hàm giống Rust
fn add(a: Int, b: Int) -> Int {
a + b
}

// Pattern matching giống Elm
fn describe(n: Int) -> String {
when n is {
0 -> @"Zero"
1 -> @"One"
_ -> @"Many"
}
}

So sánh với các ngôn ngữ khác

Đặc điểmAikenPlutus (Haskell)
ParadigmFunctionalFunctional
Học dễ⭐⭐⭐⭐⭐⭐⭐
An toàn⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Tooling⭐⭐⭐⭐⭐⭐⭐⭐
BlockchainCardanoCardano

Quy trình phát triển với Aiken

┌─────────────────────────────────────────────────────────┐
│ DEVELOPMENT WORKFLOW │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Write │───▶│ Check │───▶│ Build │ │
│ │ .ak │ │ Tests │ │ UPLC │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ Aiken Source aiken check Plutus Binary │
│ │
└─────────────────────────────────────────────────────────┘

Hello World trong Aiken

validators/hello.ak
use aiken/collection/list

/// Validator đơn giản nhất
validator hello_world {
spend(_datum, _redeemer, _own_ref, _tx) {
// Luôn cho phép chi tiêu
True
}
}

Giải thích từng phần

PhầnÝ nghĩa
validatorTừ khóa khai báo validator
hello_worldTên validator
spendHandler xử lý chi tiêu UTxO
_datumDữ liệu đính kèm (bỏ qua với _)
_redeemerDữ liệu unlock (bỏ qua)
TrueKết quả - cho phép giao dịch

Tài nguyên học tập

Bước tiếp theo

Trong bài tiếp theo, chúng ta sẽ học cách sử dụng Aiken CLI để quản lý dự án hiệu quả.