Minh họa chủ đề nguyên bản: Sơ đồ chủ đề nguyên bản của ChainView BTC866 · ChainView BTC866 Editorial · CC BY 4.0
Ba trạng thái riêng
Lỗi trước phát sóng, giao dịch đang chờ và giao dịch đã vào khối nhưng thực thi thất bại là ba tình trạng khác nhau. Thông báo của ứng dụng có thể không đủ để biết mạng thực tế đã xử lý đến đâu.
Revert và gas
Một revert đã được ghi nhận có thể vẫn tiêu gas dù các thay đổi trạng thái của lần thực thi bị hoàn lại. Cần xem ngữ nghĩa chuỗi và loại thao tác, không đồng nhất phí bị trừ với chuyển token thành công.
Đọc receipt cùng tham số
Đọc receipt, status, gas dùng, hợp đồng và tham số gọi. Nếu có lỗi giải mã, so với tài liệu chính thức; mô phỏng có thể dùng trạng thái trước đó nên không bảo đảm kết quả khi giao dịch vào khối.
Mô phỏng ở thời điểm khác
Ví dụ số dư hoặc điều kiện hợp đồng đổi sau mô phỏng có thể khiến thực thi thất bại. Tăng gas tùy tiện không giải quyết quyền còn thiếu hay tham số sai; cần xác định nguyên nhân trước khi sửa.
Sửa nguyên nhân có chứng cứ
Sửa từng nguyên nhân đã xác nhận. Nếu giao diện hết thời gian chờ, kiểm tra hash và receipt trước khi gửi lại tài sản để không biến sự cố hiển thị thành thanh toán trùng khó khôi phục.
Tách bước chẩn đoán
Bắt đầu kiểm tra bằng mạng và hash rồi tách trạng thái ứng dụng khỏi receipt công khai. Explorer không phải lúc nào giải thích giống nhau lời gọi nội bộ hay lỗi hợp đồng mới. Nếu chưa giải mã được, dùng ABI từ nguồn chính thức thay vì dán bí mật vào trình gỡ lỗi xa lạ. Mục tiêu là tìm nguyên nhân có bằng chứng; lặp nhiều lần một lời gọi đắt với tham số gần nhau chỉ tăng phí mà chưa chắc thêm chẩn đoán. Cũng kiểm tra xem thao tác gốc có nhiều bước, vì phê duyệt thành công không có nghĩa bước chuyển tiếp đã chạy. Lưu các hash riêng để người hỗ trợ không nhầm kết quả của hai bước. Gas limit là mức trần, khác gas đã dùng và mức phí trên đơn vị. Phân biệt ba dữ liệu này để hiểu hóa đơn thực, thay vì coi mọi lỗi thiếu tiền đều do hợp đồng hay mạng ngừng hoạt động.



