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

Giao dịch được Sui tài trợ - Ví dụ về tích hợp cơ bản
Theo truyền thống, người dùng tham gia vào các ứng dụng phi tập trung (DApps) phải đối mặt với một rào cản phổ biến: phí gas. Các khoản phí gas Sui này trong trường hợp của chúng tôi, được yêu cầu để thực hiện các giao dịch trên blockchain, thường ngăn cản người dùng mới nắm bắt đầy đủ tiềm năng của Web3. Tuy nhiên, tính năng giao dịch được tài trợ sáng tạo của Sui loại bỏ trở ngại này, trao quyền cho các nhà xây dựng trang trải phí gas cho các giao dịch ứng dụng của họ. Chức năng mang tính cách mạng này mở đường cho trải nghiệm người dùng liền mạch, khuyến khích việc áp dụng rộng rãi hơn các ứng dụng phi tập trung.
- TheMoveDev GitHub;
- SuiQL Kho lưu trữ GitHub;
Nếu bạn có bất kỳ câu hỏi nào, bạn có thể hỏi họ tại đây.
Quy trình giao dịch được tài trợ
Quy trình giao dịch được tài trợ của Sui là một quy trình được sắp xếp tốt đảm bảo các giao dịch suôn sẻ và miễn phí cho người dùng cuối. Dưới đây là bảng phân tích các bước liên quan.
Người dùng bắt đầu một hành động
Quá trình bắt đầu khi người dùng khởi tạo GasLessTransactionData
giao dịch, cho biết ý định của họ để thực hiện một hành động cụ thể trong DApp.
DApp tạo khối giao dịch Sui
Trọng tâm của quy trình giao dịch được tài trợ là khả năng tạo Khối giao dịch của DApp. Khối này gói gọn tất cả dữ liệu cần thiết, bao gồm ý định của người dùng, hành động sẽ được thực hiện và bất kỳ tham số liên quan nào.
Truyền GasLessTransactionData
Nó GasLessTransactionData
được gửi đến nhà tài trợ, một người tham gia chính trong khuôn khổ giao dịch được tài trợ, với một yêu cầu chữ ký. Dữ liệu này đóng vai trò là nền tảng cho giao dịch sắp tới.
Xác thực và xây dựng dữ liệu giao dịch
Nhà tài trợ xác nhận giao dịch nhận được và xây dựngTransactionData
, kết hợp các khoản phí gas cần thiết. Bước này đảm bảo rằng giao dịch được tài trợ thích hợp để thực hiện trên blockchain Sui.
Ký giao dịch
Nhà tài trợ ký tênTransactionData
, cho biết sự chấp thuận và cam kết của họ đối với giao dịch. Khóa riêng cần thiết cho chữ ký này được lưu trữ an toàn trong AWS Secrets Manager, đảm bảo tính bảo mật tối đa.
Xác minh và ký kép bởi Người dùng
Chữ kýTransactionData
, cùng với chữ ký của nhà tài trợ, được gửi lại cho người dùng. Người dùng xác minh chi tiết giao dịch và ký TransactionData
một lần nữa, tạo một giao dịch ký kép sẵn sàng để thực hiện.
Thực hiện giao dịch trên Sui
Giao dịch ký kép được gửi đến mạng Sui thông qua một nút Sui (nút đầy đủ) hoặc nhà tài trợ. Sui xử lý giao dịch, thực hiện hành động được chỉ định trong DApp, tất cả mà không yêu cầu người dùng phải trả bất kỳ khoản phí gas nào.
Thông báo người dùng
Cuối cùng, người dùng được DApp thông báo rằng giao dịch được tài trợ và gửi đi.
Thực hiện các giao dịch do Sui tài trợ: Quan điểm của nhà phát triển
Để thực hiện các giao dịch được tài trợ, các nhà phát triển tương tác với API Sui hoặc API Giao dịch được tài trợ, sử dụng sui-sign-sponsored-transaction
chức năng Lambda. Dưới đây là một cái nhìn thoáng qua về mã phía máy khách tạo điều kiện cho quá trình này:
const response = await fetch('http://localhost:5000/blockchain/sui-sign-sponsored-transaction', {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
sender: wallet.address,
module: libName,
action,
arguments: data,
}),
});
const sponsorSignedTransaction = await response.json();
const transactionBlock = TransactionBlock.from(sponsorSignedTransaction?.transactionBlockBytes);
const senderSignedTransaction = await wallet.signTransactionBlock({
transactionBlock,
});
const executeResponse = await provider.executeTransactionBlock({
transactionBlock: sponsorSignedTransaction?.transactionBlockBytes,
signature: [sponsorSignedTransaction?.signatureBytes, senderSignedTransaction.signature],
options: { showEffects: true },
requestType: 'WaitForLocalExecution',
});
Mã phía khách hàng này hoạt động như một cầu nối giữa người dùng, nhà tài trợ và blockchain Sui, cho phép thực hiện liền mạch các giao dịch miễn phí gas.
Kết luận
Tính năng giao dịch được tài trợ của Sui thể hiện một sự thay đổi mô hình trong thế giới các ứng dụng phi tập trung, loại bỏ rào cản đáng kể đối với người dùng. Thông qua việc khám phá chức năng sáng tạo này, chúng tôi đã thu được những hiểu biết có giá trị đã định hình cách tiếp cận của chúng tôi để xây dựng DApps thân thiện với người dùng.
Hãy để lại câu hỏi của bạn ở đây.
- Move
Move is an executable bytecode language used to implement custom transactions and smart contracts.