Move.

Bài viết

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

skywinder.
Apr 10, 2025
Hỏi đáp Chuyên Gia

Chức năng gốc là gì và chúng ta có thể gọi chúng trực tiếp không?

Tôi đã bắt gặp thuật ngữ 'chức năng gốc 'trong Move nhưng không thể tìm thấy thông tin chi tiết về nó. Tôi nghe nói rằng chúng được khai báo trong Move nhưng được xác định bên ngoài, thường là trong Rust. Điều đó có nghĩa là chúng là các chức năng nội bộ không thể được gọi trực tiếp bằng ví hoặc các mô-đun khác?

  • Move CLI
  • Move
2
3
Chia sẻ
Bình luận
.

Câu trả lời

3
BigDev.
Aug 15 2025, 16:53

Trong ngôn ngữ Move của Sui, hàm gốc là hàm bạn khai báo trong mô-đun Move nhưng mã thực tế của nó nằm bên ngoài trong hệ thống cơ bản, thường được viết bằng Rust cho máy ảo của Sui, xử lý các tác vụ cấp thấp như mật mã hoặc các hoạt động hệ thống mà cú pháp cấp cao của Move không thể trực tiếp quản lý. Bạn có thể gọi các hàm này trực tiếp từ mã Move của bạn trong các mô-đun hoặc tập lệnh khác, giống như các hàm Move thông thường, miễn là chúng được đánh dấu công khai và bạn nhập mô-đun đúng cách, vì vậy ví và các hợp đồng khác có thể sử dụng chúng mà không có bất kỳ hạn chế đặc biệt nào. Ví dụ, một cái gì đó như sui: :hash: :keccak256 là một hàm gốc mà bạn có thể gọi đến dữ liệu băm và nó có thể truy cập được trong các giao dịch hoặc hợp đồng của bạn miễn là bạn tham khảo nó một cách chính xác. Vấn đề là chúng được xác định trước trong framework của Sui, vì vậy bạn không thể tạo các hàm gốc của riêng mình trong Move; bạn bị giới hạn ở những gì hệ thống cung cấp và hành vi của chúng phụ thuộc vào việc triển khai Rust. Để biết thêm về cách hoạt động của các hàm gốc trong Move và cách sử dụng chúng

2
Bình luận
.
mssoni.
Apr 11 2025, 08:43

Các hàm gốc trong Move thực sự được khai báo trong ngôn ngữ nhưng chúng không có nội dung vì chúng được triển khai bên ngoài Move, thường là trong Rust. Mặc dù vậy, nếu hàm gốc là công khai, bạn có thể gọi nó giống như bất kỳ hàm nào khác. Chúng không chỉ giới hạn trong sử dụng nội bộ. Bạn có thể gọi chúng miễn là có các quyền cần thiết và quyền truy cập công cộng.

1
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.

270Bài viết616Câ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.