Bài viết
Chia sẻ kiến thức của bạn.
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
Câu trả lời
3Trong 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
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.
Bạn có biết câu trả lời không?
Hãy đăng nhập và chia sẻ nó.