Bài toán

Mạng IoT gồm nhiều thiết bị cảm biến gửi dữ liệu qua các nút (peer) của một chuỗi khối. Đơn vị vận hành cần một trang quản trị tập trung để xem tình trạng thiết bị, lưu lượng, các nút mạng, tra cứu block/giao dịch đã ghi lên chuỗi, đồng thời kiểm soát thiết bị nào được phép (whitelist) hay bị chặn (blacklist) và quản lý tài khoản quản trị.

Chức năng chính

  • Đăng nhập tài khoản quản trị; khu vực Management yêu cầu xác thực lại lần hai trước khi thao tác.
  • Dashboard tổng quan: số thiết bị IoT (tổng, đã đăng ký, bất thường), Edgechain (block, giao dịch, nút), lưu lượng (tổng, bình thường, bất thường); sơ đồ mạng và biểu đồ thống kê.
  • Network – Nodes info: sơ đồ mạng tương tác (D3) giữa các nút và thiết bị, lọc theo nút, thông tin từng peer.
  • Network – Traffic status: biểu đồ lưu lượng theo thời gian, tỉ lệ giao dịch bình thường/bất thường theo nút, bộ lọc thời gian.
  • Lookup: tra cứu block và transaction trên blockchain, lọc, phân trang.
  • Management: danh sách thiết bị whitelist/blacklist (thêm, xoá, đồng bộ sang dịch vụ quản lý thiết bị), quản lý tài khoản, nhật ký thao tác hệ thống, trang cá nhân.
  • Đa ngôn ngữ tiếng Anh/tiếng Hàn.

Công nghệ

  • Next.js 14 (App Router, Server Actions), React 18, TypeScript, MUI + MUI X DataGrid, Chart.js, D3, next-intl.
  • Prisma ORM với 2 cơ sở dữ liệu PostgreSQL: dữ liệu xUTM (thiết bị, lưu lượng, người dùng) và Fabric Explorer (block, giao dịch, kênh, peer); mật khẩu băm bcrypt.
  • Docker / docker compose, môi trường testing/staging riêng.

Điểm ưu việt

  • Kết nối trực tiếp dữ liệu vận hành IoT với dữ liệu blockchain trong một giao diện duy nhất, giúp phát hiện thiết bị và lưu lượng bất thường nhanh.
  • Trực quan: sơ đồ mạng tương tác, biểu đồ lưu lượng theo thời gian và theo nút.
  • Bảo mật nhiều lớp cho khu vực quản trị: đăng nhập, xác thực lại khi vào Management, nhật ký thao tác.
  • Hỗ trợ khách hàng Hàn Quốc với giao diện tiếng Hàn.