date
Dec 15, 2025
slug
docs-traning-be-intern-week-4
status
Published
tags
NestJs
Backend
summary
Tổng hợp docs trainning back-end Intern Week 4
type
Post
TUẦN 4 – BLOCKCHAIN CORE
Mục tiêu tuần
- Hiểu blockchain hoạt động thế nào từ bên trong
- Hiểu Ethereum / EVM chứ không chỉ “biết Solidity”
- Biết transaction lifecycle
- Biết backend nói chuyện với blockchain ra sao
- Không nhầm lẫn blockchain ≠ database
1. Blockchain là gì? (Hiểu đúng, không marketing)
Blockchain KHÔNG phải:
- Phép màu
- Database thay thế SQL
Blockchain LÀ:
- Distributed ledger
- Append-only
- Consensus-based
👉 Mỗi node giữ bản sao giống nhau của dữ liệu.
2. Cấu trúc một Block
Một block gồm:
- Block number
- Block hash
- Parent hash
- Timestamp
- Transaction list
👉 Nếu sửa 1 block → hash đổi → toàn chain vỡ.
3. Transaction là gì? (Phải hiểu sâu)
Transaction chứa:
- from
- to
- value
- data
- gasLimit
- gasPrice / maxFee
- nonce
- signature
Transaction lifecycle
- User ký tx
- Gửi lên mempool
- Miner / validator chọn
- Thực thi EVM
- Ghi vào block
👉 Tx có thể:
- Pending
- Success
- Fail (revert) → vẫn mất gas
4. Gas – Thứ backend dev rất hay hiểu sai
Gas là gì?
- Đơn vị đo chi phí tính toán
- Tránh spam network
Vì sao tx fail vẫn mất gas?
- EVM đã chạy rồi
- Chỉ revert state, không revert compute
5. Account model của Ethereum
EOA (Externally Owned Account)
- Có private key
- Ký tx
Contract Account
- Không có private key
- Chạy code
👉 Backend thường thao tác với cả 2.
6. Public Key, Private Key & Address
Private key
- 256-bit số ngẫu nhiên
- Mất = mất tài sản
Address
- Hash từ public key
- Không thể suy ngược private key
7. Ethereum Virtual Machine (EVM)
EVM là gì?
- Máy ảo chạy bytecode
- Mọi node chạy giống nhau
EVM quan trọng vì:
- Quyết định:
- Gas cost
- Security
- Performance
8. On-chain vs Off-chain
On-chain
- Smart contract
- Immutable
- Tốn gas
Off-chain
- Backend
- Database
- Indexer
👉 Web3 backend là cầu nối giữa 2 thế giới.
9. RPC & Node provider
RPC là gì?
- JSON-RPC
- Giao tiếp với blockchain node
Provider phổ biến
- Infura
- Alchemy
- Public RPC
👉 Backend không tự chạy node (đa số).
10. Read vs Write trên blockchain
Read (call)
- Không tốn gas
- Free
- Chậm hơn DB
Write (send tx)
- Tốn gas
- Phải ký
- Có độ trễ
11. Backend & Blockchain – Mối quan hệ thật sự
Backend làm gì?
- Chuẩn bị tx
- Gửi tx
- Theo dõi tx
- Lưu kết quả
Backend KHÔNG:
- Quyết định state on-chain
- Gian lận được contract
12. Testnet, Mainnet & Chain ID
Testnet
- Dùng để test
- Token không có giá trị
Chain ID
- Tránh replay tx giữa chain
13. Bài tập BẮT BUỘC (Hands-on)
Bài 1 – Làm quen blockchain
- Tạo ví Metamask
- Lấy ETH testnet
- Gửi tx
Bài 2 – Script Node.js
- Connect RPC
- Get balance
- Get block
- Get tx by hash
Bài 3 – Tx lifecycle
- Gửi tx
- Chờ receipt
- Log status
14. Checklist TỰ KIỂM TRA
- Blockchain khác database chỗ nào?
- Vì sao blockchain chậm?
- Gas dùng để làm gì?
- Tx fail vẫn mất gas vì sao?
- Nonce dùng để làm gì?
- Backend có cần private key không?