Bài viết
Chia sẻ kiến thức của bạn.
Tạo tx_bytes Dựa trên đầu ra SUI_GetNormalizedMoveFunction: Di chuyển ví dụ modue
Tôi đang tìm kiếm các ví dụ hoặc hướng dẫn về cách tạo tx_bytes sau khi nhận dữ liệu từ sui_getNormalizedMoveFunction
Golang, PHP và JavaScript. sui_getNormalizedMoveFunction
Về cơ bản, tôi muốn điền các tham số hàm Mo sui_executeTransactionBlock
ve bằng cách sử dụng đầu ra từ, chuẩn bị/ký giao dịch, sau đó gửi nó bằng cách sử dụng. Đây có phải là luồng chính xác để thực hiện các hàm Move không, và nếu có, làm thế nào tôi có thể tạo các tham số cần thiết? 0xf5b55a91957b68f23107522abf96634a0d58ccad6ff9ecd6daf3eba8808b3dd9
ve và hàm yêu cầu các tham số như MintApp, Clock, Coin, sui_getNormalizedMoveFunction
, nhưng tôi không chắc chắn về cách tiếp cận.
- Move
Câu trả lời
2Có vẻ như bạn đang tìm cách thực hiện giao dịch Move Sui và sui_getNormalizedMoveFunction
cung cấp một số dữ liệu về gói Move. Để thực hiện giao dịch, bạn có thể sử dụng các lệnh gọi RPC JSON unsafe_***được ghi lại trong Sui JSON RPC tài liệu. Cuộc gọi này sẽ trả về byte giao dịch (tx_bytes) mà sau đó bạn có thể ký và thực hiện giao dịch.
Dưới đây là một vài gợi ý để giúp bạn tiến hành:
- Sử dụng TypeScript SDK: Nếu có thể, hãy bắt đầu với TypeScript SDK do dự án cung cấp. Sử dụng SDK có thể giúp bạn bằng cách cung cấp các loại và đối số hàm, giúp làm việc với các hàm Move dễ dàng hơn mà không cần phải gọi
unsafe_moveCall
. Bạn có thể tìm thêm thông tin và tài nguyên trong [tài liệu] SUI TypeScript (https://sui-typescript-docs.vercel.app/typescript). - ID và địa chỉ đối tượng: Đối với một số tham số, bạn sẽ cần biết ID đối tượng. Ví dụ: nếu bạn đang giao dịch với Kiosk, bạn nên biết ObjectID của Kiosk. Tương tự, nếu bạn là KioskownerCap, bạn sẽ cần ObjectID của nó. Đối tượng Clock có ObjectID cố định là 0x6.
- Các loại đối số cho
unsafe_payMove
: Khi gọiunsafe_payMove
, cung cấp các đối số bắt buộc trong kiểu đối số, lấy danh sách các giá trị JSON. Các giá trị này phải là chuỗi đại diện cho ID hoặc địa chỉ. Ví dụ: “0x2: :sui: :SUI” đại diện cho một địa chỉ. Bằng cách làm theo các bước sau và hiểu các tham số và ID đối tượng, bạn có thể tạo tx_bytes cần thiết và thực hiện các giao dịch Move Sui của mình.
Quá trình bạn đang mô tả nói chung là chính xác để thực hiện các hàm Move trên blockchain Sui. Dưới đây là hướng dẫn từng bước về cách bạn có thể tiếp cận vấn đề này:
- Call
sui_getNormalizedMoveFunction
: Hàm này trả về dạng chuẩn hóa của hàm Move, bao gồm tên, tham số và kiểu trả về của hàm. Bạn có thể sử dụng thông tin này để hiểu những tham số mà hàm yêu cầu. - Tạo các tham số cần thiết: Các tham số cần thiết cho cuộc gọi hàm sẽ phụ thuộc vào chính hàm. Trong trường hợp của bạn, bạn đang cố gắng gọi hàm mint trong
0xf5b55a91957b68f23107522abf96634a0d58ccad6ff9ecd6daf3eba8808b3dd9
gói Sui. Bạn đã đề cập rằng bạn có thể truy xuất MintApp và Clock từ các ví dụ giao dịch khác. Đối với các tham số khác (Coin, Kiosk, KioskownerCap và TransferPolicy <SUIFren >), bạn có thể cần truy xuất chúng từ blockchain Sui hoặc tự tạo chúng. - Chuẩn bị và ký giao dịch Sui: Khi bạn đã có tất cả các thông số cần thiết, bạn có thể chuẩn bị giao dịch. Điều này sẽ liên quan đến việc tạo một khối giao dịch bao gồm lệnh gọi hàm và các tham số của nó. Sau đó, bạn sẽ cần phải ký vào khối giao dịch này bằng khóa riêng của bạn.
- Gửi giao dịch bằng cách sử dụng
sui_executeTransactionBlock
: Cuối cùng, bạn có thể gửi khối giao dịch đã ký đến blockchain Sui bằngsui_executeTransactionBlock
chức năng.
Bạn có biết câu trả lời không?
Hãy đăng nhập và chia sẻ nó.