Move.

Bài viết

Chia sẻ kiến thức của bạn.

FUNLOP431.
Aug 13, 2025
Hỏi đáp Chuyên Gia

Làm chủ Move trên Sui Network: Hướng dẫn đầy đủ cho người mới bắt đầu và người xây dựng

Nếu bạn đã tham gia phát triển blockchain, có lẽ bạn đã nhận thấy sự chú ý ngày càng tăng vềSui Networkvà ngôn ngữ lập trình độc đáo của nó -** Move**. Đây không chỉ là một “ngôn ngữ hợp đồng thông minh” khác cạnh tranh để giành sự chú ý của nhà phát triển. Move mang đến một cách suy nghĩ hoàn toàn khác về lập trình blockchain - một cách nhanh chóng, an toàn và hoàn hảo cho các ứng dụng dựa trên tài sản.

Trong bài đăng này, bạn sẽ tìm hiểu sâu về Move on Sui**— cách thức hoạt động của nó, tại sao nó lại khác biệt và cách bạn có thể bắt đầu xây dựng dựa trên nó. Chúng tôi cũng sẽ khám phá những sai lầm phổ biến, các phương pháp hay nhất và các mẹo thực tế để thành công.


##1. Move là gì và tại sao Sui sử dụng nó?

Move là một ngôn ngữ lập trình dựa trên bytecodeban đầu được phát triển bởi Meta (trước đây là Facebook) cho blockchain Libra/Diem. Sui đã áp dụng Move nhưng đã mở rộng và tối ưu hóa nó để phù hợp với mô hình dữ liệu tập trung vào đối tượng**của nó.

Về cốt lõi, Move được thiết kế để** quản lý tài sản kỹ thuật số một cách an toàn**. Các ngôn ngữ hợp đồng thông minh truyền thống như Solidity coi tài sản là con số trong số dư tài khoản - nhưng trong Move, tài sản là** công dân hạng nhất**. Điều này có nghĩa là:

  • Tài sản** không thể vô tình sao lợp**.
  • Tài sản** không thể bị mất**mà không phá hủy chúng một cách rõ ràng.
  • Tài sản** phải có quyền sở hữu rõ ràng**.

Triết lý này giúp bạn dễ dàng suy luận về an toàn tài sản và ngăn chặn các lỗi và hack phổ biến.

Tại sao Sui chọn Move:

An toàn: Quyền sở hữu tài sản được thực thi ở cấp độ ngôn ngữ. *** Tốc độ:* Chương trình di chuyển chạy nhanh và tránh tính toán không cần thiết. *** Tính linh hoạt:** Bạn có thể tạo các loại tài sản tùy chỉnh ngoài các mã thông báo đơn giản. *Thực thi song song: Kiến trúc của Sui cho phép Move code xử lý các giao dịch song song, tăng thông lượng.


##2. Cách thức hoạt động của Move trên Sui

Trong khi các blockchain khác thực hiện các giao dịch tuần tự, Sui tổ chức dữ liệu thànhđối tượng. Mỗi đối tượng:

  • chủ sở hữu(có thể là người dùng, đối tượng khác hoặc hệ thống).
  • Chỉ có thể được sửa đổi bởi chủ sở hữu của nó hoặc bởi các chức năng Di chuyển cụ thể.
  • Có một ID duy nhất.

Di chuyển trên Tùy có ba khái niệm chính:

1.** Đối tượng**

  • Mọi thứ được lưu trữ trên chuỗi là một đối tượng.
  • Các đối tượng được lưu trữ và sửa đổi bởi các mô-đun Move.
  • Ví dụ: một đồng xu, một NFT, một nhân vật trò chơi.

2.** Các mô-đun**

  • Container cho Move code.
  • Xác định các loại, hàm và quy tắc cho cách các đối tượng hoạt động.

3.Giao dịch

  • Hành động người dùng thực hiện.
  • Gọi chức năng Move, truyền vào các đối tượng mà chúng sở hữu.

##3. So sánh chuyển đổi với sự vững chất

| Tính năng | Di chuyển (Sui) | Solidity (Ethereum) | | ------------------------------------------------------------------| -------------------------------------------| |Trọng tâm chính| An toàn tài sản, quyền sở hữu | Logic hợp đồng thông minh chung | |Mô hình dữ liệu| Dựa trên đối tượng | Dựa trên tài khoản | |Thực dụng| Song song (khi không có đối tượng xung đột) | Trình tự | |Loại an toàn| Gõ mạnh, tài nguyên không thể sao chép/thả | Hệ thống loại lỏng hơn | |Bảo mật| Ngăn chặn chi tiêu gấp đôi và tổn thất tài sản ngoài ý muốn | Các vấn đề thường gặp: tái nhập cảnh, tràn số nguyên |

Nếu bạn đến từ Solidity, bạn sẽ nhận thấy rằng Move** buộc bạn**phải rõ ràng về việc xử lý tài sản. Điều này đôi khi gây khó chịu lúc đầu, nhưng đó cũng là lý do tại sao các chương trình Move khó khai thác hơn.


##4. Viết mô-đun di chuyển đầu tiên của bạn trên Sui

Hãy xem qua một ví dụ Move cơ bản: một mô-đun tạo và chuyển mã thông báo tùy chỉnh.

###Tạo Token

module my_project::my_coin {
    use sui::coin;
    use sui::transfer;
    use sui::tx_context::{self, TxContext};

    /// Create a new coin type
    struct MyCoin has drop, store {}

    /// Initialize a new coin and send it to the transaction sender
    public entry fun mint(ctx: &mut TxContext) {
        let coin = coin::mint<MyCoin>(1000, ctx);
        transfer::transfer(coin, tx_context::sender(ctx));
    }
}

Giải thích:

  • struct MyCoinxác định một loại tiền xu mới.
  • mintchức năng tạo 1.000 đơn vị MyCoinvà chuyển chúng cho người gửi.
  • cung TxContextcấp quyền truy cập vào chi tiết giao dịch (như ai đã gửi nó).

##5. Các loại tài nguyên của Move - The Secret Sauce

Move giới thiệucác loại tài lượng, là** cấu trúc dữ liệu không thể sao chép, không thể sao chép**. Trong thuật ngữ hàng ngày: nếu bạn có một tờ tiền 10 đô la, bạn không thể chỉ “sao chép” nó - bạn có thể giữ nó hoặc cho đi. Tài nguyên hoạt động theo cùng một cách.

Đang di chuyển:

struct MyCoin has key, store {
    value: u64
}

*** key- Có thể được lưu trữ như một đối tượng cấp cao nhất. *** store- Có thể được lưu trữ bên trong một đối tượng khác.

Nếu bạn cố gắng sao chép**một tài nguyên, trình biên dịch sẽ từ chối biên dịch mã của bạn. Điều này ngăn chặn các lỗi trong đó tài sản vô tình được nhân bản.


##6. Phần mở rộng di chuyển dành riêng cho Sui

Sui đã thực hiện một số thay đổi đối với vanilla Move để tối ưu hóa nó chothực thi dựa trên đối tượng:

*** Trường đối tượng động:** Bạn có thể thêm trường vào đối tượng sau khi chúng được tạo. *** Đối tượng được chia sẻ:** Nhiều người dùng có thể tương tác với cùng một đối tượng. *** Tham chiếu có thể thay đổi:** Cho phép thay đổi dữ liệu đối tượng theo cách có kiểm soát. *** Phát xạ sự kiện:** Các mô-đun di chuyển có thể phát ra các sự kiện cho người nghe ngoài chuỗi.

Ví dụ: tạo bảng xếp hạng trò chơi được chia sẻ:

struct Leaderboard has key {
    scores: vector<u64>
}

Điều này có thể được cập nhật bởi nhiều người chơi mà không gây ra tắc nghẽn trên toàn blockchain.


##7. Quy trình phát triển

Dưới đây là quy trình làm việc cơ bản để phát triển với Move on Sui:

1.** Cài đặt Sui CLI**

  curl -fsSL https://sui.io/install.sh | bash

2.** Tạo gói Move mới**

  sui move new my_project
  1. sourcesViết mô-đun của bạntrong thư mục.

4.** Xây dựng gói của bạn**

  sui move build

5.** Xuất bản lên Sui**

  sui client publish --gas-budget 100000000

6.** Chức năng gọi**sử dụng:

  sui client call --package <PACKAGE_ID> --module my_module --function my_function

##8. Kiểm tra mã di chuyển của bạn

Sui Move hỗ trợ kiểm tra đơn vị ngay trong ngôn ngữ.

Ví dụ:

#[test]
fun test_mint() {
    let ctx = test::new_tx_context(@0x1);
    my_project::my_coin::mint(&mut ctx);
    // Add assertions here
}

Chạy thử nghiệm:

sui move test

##9. Những sai lầm thường gặp của người mới bắt đầu

*** Quên truyền txContext**- Nhiều chức năng cần &mut TxContexttạo hoặc chuyển các đối tượng. *** Hiểu lầm quyền sở hữu đối tượng**- Nếu bạn không sở hữu nó, bạn không thể biến đổi nó. *** Không xử lý phá hủy tài sản**- Bạn phải rõ ràng “phá hủy” tài nguyên mà bạn không cần nữa. *** Xuất bản mà không có phiên bản**- Cập nhật mô-đun có nghĩa là xuất bản một phiên bản mới.


##10. Các phương pháp hay nhất cho Move on Sui

*** Sử dụng các quy tắc đặt tên rõ ràng**- Làm cho mã có thể đọc được. Giới hạn sử dụng đối tượng được chia sẻ- Chúng chậm hơn các đối tượng sở hữu. *** Phát ra các sự kiện cho các thay đổi trạng thường*- Giúp lập chỉ mục ngoài chuỗi. *** Viết bài kiểm tra kỹ lưỡng — Trình biên dịch bắt được rất nhiều, nhưng lỗi logic vẫn xảy ra. *** Tài liệu các mô-đun của bạn**- Tương lai bạn sẽ cảm ơn bạn.


##**11. Các trường hợp sử dụng trong thế giới thực

*** Tài sản trò chơi**- Mỗi thanh kiếm, da hoặc thú cưng có thể là một đối tượng độc đáo. *** Thị trường NFT**- Chuyển nhượng và đấu giá an toàn với kiểm tra quyền sở hữu tích hợp. Giao thức DeFi- Cho vay, đặt cược và hoán đổi bằng cách xử lý tài sản an toàn. *** Theo dõi chuỗi cung phần*- Thể hiện hàng hóa dưới dạng các đối tượng di chuyển qua hệ thống.


##12. Tương lai của Move on Sui

Ngôn ngữ Move của Sui vẫn đang phát triển. Công việc hiện tại bao gồm:

  • Tốt hơn** công cụ nhà phát triển**. *** Thư viện tiêu chuẩncho các mẫu thông thường. *** Khả năng tương thốngvới các blockchain khác.

Khi việc áp dụng ngày càng tăng, chúng ta có thể mong đợi tài liệu phong phú hơn, các dự án mã nguồn mở lớn hơn và tích hợp sâu hơn với cơ sở hạ tầng Web3.


##Suy nghĩ cuối cùng

Nếu bạn nghiêm túc trong việc xây dựng các ứng dụng blockchain an toàn, hiệu suất cao, thì Move on Sui đáng để bạn chú ý. Thiết kế nghiêm ngặt nhưng hợp lý của nó giúp bạn tránh được toàn bộ các loại lỗi trong khi cho phép các trường hợp sử dụng sáng tạo không thể thực hiện được trên các chuỗi dựa trên tài khoản truyền thống.

Cho dù bạn đang tạo giao thức DeFi, trò chơi hay hệ sinh thái NFT phức tạp, Move cung cấp cho bạncác khối xây dựng cho tương lai blockchain an toàn hơn, nhanh hơn.

  • Move CLI
  • Move
  • Smart Contract
0
1
Chia sẻ
Bình luận
.

Câu trả lời

1
Jeff .
Aug 15 2025, 09:25

Bài viết tuyệt vời.

0
Bình luận
.

Bạn có biết câu trả lời không?

Hãy đăng nhập và chia sẻ nó.

Move is an executable bytecode language used to implement custom transactions and smart contracts.

152Bài viết259Câu trả lời
Sui.X.Peera.

Kiếm phần của bạn từ 1000 Sui

Tích lũy điểm danh tiếng và nhận phần thưởng khi giúp cộng đồng Sui phát triển.

Chiến dịch phần thưởngTháng Tám