Khi bạn đang xây dựng một ứng dụng gửi giao dịch tới Dusk L1, việc nhận được phản hồi thành công từ node trông có vẻ là khoảnh khắc hiển nhiên để thông báo cho người dùng rằng thao tác đã hoạt động.
Tôi đã tự đọc nó theo cách đó, cho đến khi tìm hiểu kỹ hơn vòng đời giao dịch của Dusk. Mã `202 Accepted` từ endpoint lan truyền (propagation) chỉ có nghĩa là node đã chấp nhận giao dịch để định tuyến. Nó không có nghĩa là giao dịch đã đến được một block, thực thi thành công hay trở thành dữ liệu cuối cùng (final).
Điều này biến phần tích hợp trông có vẻ đơn giản “gửi giao dịch” thành một thứ gì đó gần với việc theo dõi trạng thái. Khi một giao dịch thực thi, Dusk sẽ hiển thị một trường `err`, trong đó `null` có nghĩa là quá trình thực thi thành công. Thậm chí như vậy, một block đã được chấp nhận vẫn có thể bị hoàn tác (reverted). Tính cuối cùng (finality) chỉ đến khi block chuyển sang trạng thái `finalized`.
Tôi nghĩ điều đó giúp phân loại lại công việc của người xây dựng theo một cách hữu ích.
Bạn không chỉ đơn giản là nối một nút tới một endpoint và chờ phản hồi HTTP thành công. Bạn đang quyết định trạng thái mạng nào mà ứng dụng của bạn thực sự sẵn sàng chuyển thành “hoàn tất” cho người dùng đang sử dụng nó.
Đã được gửi (Submitted) là một trạng thái.
Thực thi thành công (Executed successfully) là một trạng thái khác.
Final là trạng thái khép lại vòng lặp.
@Dusk $DUSK #dusk
Tôi đã tự đọc nó theo cách đó, cho đến khi tìm hiểu kỹ hơn vòng đời giao dịch của Dusk. Mã `202 Accepted` từ endpoint lan truyền (propagation) chỉ có nghĩa là node đã chấp nhận giao dịch để định tuyến. Nó không có nghĩa là giao dịch đã đến được một block, thực thi thành công hay trở thành dữ liệu cuối cùng (final).
Điều này biến phần tích hợp trông có vẻ đơn giản “gửi giao dịch” thành một thứ gì đó gần với việc theo dõi trạng thái. Khi một giao dịch thực thi, Dusk sẽ hiển thị một trường `err`, trong đó `null` có nghĩa là quá trình thực thi thành công. Thậm chí như vậy, một block đã được chấp nhận vẫn có thể bị hoàn tác (reverted). Tính cuối cùng (finality) chỉ đến khi block chuyển sang trạng thái `finalized`.
Tôi nghĩ điều đó giúp phân loại lại công việc của người xây dựng theo một cách hữu ích.
Bạn không chỉ đơn giản là nối một nút tới một endpoint và chờ phản hồi HTTP thành công. Bạn đang quyết định trạng thái mạng nào mà ứng dụng của bạn thực sự sẵn sàng chuyển thành “hoàn tất” cho người dùng đang sử dụng nó.
Đã được gửi (Submitted) là một trạng thái.
Thực thi thành công (Executed successfully) là một trạng thái khác.
Final là trạng thái khép lại vòng lặp.
@Dusk $DUSK #dusk


