Bài viết
Chia sẻ kiến thức của bạn.

Cách xuất bản Bytecode thô lên SUI Localnet
Triển khai hợp đồng thông minh trên blockchain SUI thường liên quan đến việc biên dịch mã Move thành mã byte và xuất bản nó lên mạng. Trong khi SUI CLI tự động hóa phần lớn quá trình này, các nhà phát triển thỉnh thoảng tìm kiếm hướng dẫn về cách xử lý mã byte thô theo cách thủ công, đặc biệt là trong các môi trường thử nghiệm cục bộ nhưLocalnet. Bài viết này hướng dẫn các bước để xuất bản mã byte thô lên SUI Localnet, tận dụng SUI CLI và các công cụ phát triển.
Điều kiện tiên quyết trên SUI Localnet
Trước khi đi sâu vào triển khai, hãy đảm bảo bạn có những điều sau:
sui
Đã cài đặt SUI CLI: Thực hiện theo [hướng dẫn cài đặt] chính thức (https://docs.sui.io/) để thiết lập công cụ dòng lệnh. 2.Localnet Running: Sử dụngsui-test-validator
nhị phân để khởi chạy mạng SUI cục bộ để thử nghiệm (https://docs.sui.io/). 3.** Gói di chuyển**: Một gói Move chức năng với các mô-đun và phụ thuộc được cấu hình.
SUI Localnet là gì
SUI Localnet là một môi trường hộp cát để thử nghiệm các hợp đồng thông minh mà không mạo hiểm tài sản thực sự. Nó cho phép các nhà phát triển mô phỏng tương tác, gỡ lỗi logic và xác minh triển khai trước khi chuyển sang Devnet hoặc Mainnet. Để khởi động Localnet, chạy:
sui-test-validator
Điều này khởi tạo một nút xác thực cục bộ, cung cấp một bãi thử nghiệm mới với các tài khoản được tài trợ trước (https://docs.sui.io/)(https://scaf.gitbook.io/scaf/).
Làm thế nào để chuẩn bị gói di chuyển của bạn?
Một gói Move bao gồm mã nguồn (sources/
), dependencies (deps/
) và build (build/
). Để biên dịch mã byte thô, tập trung vào build
thư mục chứa các tệp .mv
—mã byte Move đã biên dịch.
1.** Xây dựng gói**:
sui client build <package_path>
Thay thế <package_path>
bằng thư mục chứa Move.toml
tệp của bạn. build/
Điều này tạo bytecode trong thư mục.
2.** Định vị Bytecode**:
Điều hướng đến build/<package_name>/bytecode/
để tìm .mv
tệp cho mỗi mô-đun. Chúng đại diện cho bytecode thô sẽ được xuất bản.
Xuất bản Bytecode thô sang Localnet
sui client publish
Trong khi SUI CLI tóm tắt quản lý mã byte, bạn có thể xuất bản thủ công bytecode thô bằng lệnh. Lệnh này chấp nhận bytecode được xây dựng sẵn thay vì biên dịch lại gói.
Hướng dẫn từng bước
1.** Khởi động Localnet**: Đảm bảo bộ xác thực cục bộ đang chạy:
sui-test-validator
2.** Xuất bản Bytecode**:
Sử dụng publish
lệnh có --bytecode
cờ để chỉ định thư mục bytecode thô:
sui client publish --bytecode <bytecode_path>
Thay thế <bytecode_path>
bằng đường dẫn đến build/<package_name>/bytecode/
thư mục của bạn.
Ví dụ:
sui client publish --bytecode ./build/my_package/bytecode/
CLI sẽ gửi bytecode đến Localnet, tạo một đối tượng gói mới trên chuỗi (https://thelib.to/move-book)(https://sui.io/).
3.** Xác minh triển hàng**: Kiểm tra chi tiết giao dịch trong đầu ra CLI. Sử dụng SUI Explorer (nếu có sẵn cho Localnet) hoặc truy vấn gói thông qua:
sui client get-package <package_id>
Lỗi điển hình với Sui CLI
1.** Không khớp phiên bản CLI**
Nếu CLI không nhận ra lệnh, hãy cập nhật nó bằng phương pháp được đề xuất cho HĐH của bạn. Tránh cập nhật thủ công thông qua cargo
để ngăn xung đột phụ thuộc (https://discord.gg/sui).
2.** Lỗi đường dẫn Bytecode**
Đảm bảo --bytecode
cờ trỏ trực tiếp đến thư mục chứa .mv
tệp. Đường dẫn không chính xác sẽ kích hoạt lỗi biên dịch.
3.** Lỗi kết nối Localnet**
Xác nhận sui-test-validator
là đang hoạt động và cấu hình CLI của bạn trỏ đến Localnet. Sử dụng:
sui client envs
để xác minh môi trường hoạt động (https://docs.sui.io/).
Kết luận
publish
Xuất bản mã byte thô vào SUI Localnet là một quá trình cơ bản khi sử dụng --bytecode
lệnh của SUI CLI với cờ. Bằng cách tận dụng môi trường cô lập của Localnet, các nhà phát triển có thể kiểm tra các hợp đồng lặp đi lặp lại mà không phải chịu chi phí hoặc rủi ro. Mặc dù có thể thao tác mã byte thủ công, nhưng thiết kế của nền tảng ưu tiên tự động hóa, đảm bảo độ tin cậy và đơn giản cho hầu hết các trường hợp sử dụng.
- Sui
- SDKs and Developer Tools
- Move
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
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.
- Tại sao BCS yêu cầu thứ tự trường chính xác để khử chuỗi khi cấu trúc Move có các trường được đặt tên?53
- Nhiều lỗi xác minh nguồn” trong các ấn phẩm về mô-đun Sui Move - Giải quyết lỗi tự động43
- Giao dịch Sui thất bại: Đối tượng được dành riêng cho giao dịch khác25
- Làm thế nào để các ràng buộc về khả năng tương tác với các trường động trong các bộ sưu tập không đồng nhất?05