Transaction Result
Transaction sau khi được submit lên Blockchain thành công sẽ được trả về một Transaction Hash, ta có thể lưu giữ Transaction Hash để kiểm tra tình trạng của Transaction.
Một khi Blockchain đã ghi nhận Transaction và trả về Hash thì không thể nào có chuyện mất Transaction. Một Transaction sau khi được ghi nhận sẽ ở trạng thái Pending và đợi chờ được xử lý, sau đó sẽ có kết quả thành công hay thất bại (cho dẫu thành công hay thất bại, transaction đều được ghi nhận trong Ethereum Blockchain)
Listen to Transaction Result
Để lắng nghe kết quả của Transaction ta có 2 giải pháp:
Lắng nghe bằng Web3 ở DApp
Từ phía DApp ta có thể sử dụng Web3 để lắng nghe một Transaction, tuy nhiên có những hạn chế như sau:
Tiêu hao tài nguyên, pin rất nhiều: Để lắng nghe kết quả, Web3 sync liên tục với Node và Blockchain xử lý Transaction liên tục với số lượng rất nhiều, hậu quả là tiêu thụ tài nguyên, pin của thiết bị nhanh.
Quá trình nghe có thể bị tạm dừng đối với Smart Phone: Người dùng có thể thoát ra màn hình chính làm quá trình lắng nghe trong app gián đoạn, hậu quả là khi có kết quả thì không thể xử lý và thông báo lên.
Một số dịch vụ cung cấp Node không hỗ trợ filter: Ví dụ như Infura không hỗ trợ filter cho quá trình lắng nghe
Lắng nghe bên phía Backend
Để khắc phục các nhược điểm của việc lắng nghe kết quả bên phía DApp, ta có thể triển khai bên phía Backend.
Ta có thể xây dựng một Backend để lắng nghe kết quả của Transaction giùm cho bên phía DApp và sau đó dùng Push Notification để thông báo kết quả cho bên phía DApp.
Last updated
Was this helpful?