Hướng dẫn người dùng: Giao dịch và giao dịch thất bại
Bạn mới làm quen với tiền mã hóa và web3?
Hãy truy cập Kiến thức MetaMask để khám phá kiến thức một cách dễ hiểu, được thiết kế dành riêng cho những người mới làm quen với web3. Nó hoàn toàn miễn phí, có sẵn bằng nhiều ngôn ngữ, và có bao gồm những công cụ hữu ích ví dụ như những mô phỏng để giúp bạn tự tin sử dụng MetaMask.
Bài viết này giải thích và cung cấp đường dẫn liên kết đến các tài nguyên về chủ đề giao dịch và lý do giao dịch thất bại, và sau đó là đường dẫn liên kết đến các tình huống giao dịch thất bại phổ biến và cách giải quyết chúng:
- Phân tích một giao dịch blockchain
- Vấn đề thường gặp
- Các cách sửa chữa chính
- Tài nguyên bổ sung và các bước tiếp theo
- Câu hỏi Thường gặp
Phân tích một giao dịch blockchain
Khi nói về 'giao dịch' trên mạng blockchain công khai, chúng ta thường nói về các tương tác giữa hai địa chỉ; nói cách khác, là các token, có thể thay thế hoặc không, hoặc các tài sản tiền điện tử khác được 'gửi' từ địa chỉ này sang địa chỉ khác. Ngoài ra còn có các giao dịch được gọi là "giao dịch nội bộ", là các tương tác xảy ra giữa các hợp đồng thông minh và phần lớn nằm ngoài phạm vi của bài viết này.
Bạn cần thêm thông tin?
Để biết thêm về các mạng blockchain và cách chúng hoạt động nói chung, hãy xem bài viết giới thiệu của chúng tôi ở đây, và nếu bạn gặp khúc mắc với bất kỳ từ lạ nào, chúng tôi luôn có sẵn bảng chú giải thuật ngữ.
Xin được làm rõ, chẳng có gì thực sự được *gửi *đi đâu cả. Một mạng lưới blockchain cho phép hợp đồng thông minh như Ethereum có nhiều thành tố hoặc tính năng khác nhau. Một trong những thành tố đó là cái gọi là "máy tính" - Máy Ảo Ethereum, hay EVM - có khả năng điều hành các chương trình ('hợp đồng thông minh'). Tuy nhiên, 'xương sống' của hệ thống này là một sổ cái phân tán: hãy tưởng tượng một bảng tính một mặt chứa mọi địa chỉ ví Ethereum và mỗi địa chỉ có một cột cho từng loại tài sản tiền điện tử mà nó nắm giữ.
Hãy sử dụng ví dụ để minh họa. Giả sử Guillaume muốn gửi một giao dịch đến Dolores. Guillaume có 1,36 ETH trong tài khoản và anh ấy định gửi cho Dolores 0,5 ETH. Có vẻ đây sẽ là ngày đẹp trời cho Dolores, ngay cả khi thị trường giá xuống.
Guillaume mở ví MetaMask của mình lên, nhập địa chỉ của Dolores, thiết lập các thông số gas ở mức anh ấy cảm thấy thoải mái chi trả rồi nhấn 'gửi'.
Tại thời điểm này, giao dịch tiến vào trạng thái tạm giữ cục bộ, được gọi là *vùng nhớ cục bộ *hay mempool cục bộ. Sau đó, giao dịch sẽ được 'nhận' bởi nút gần nhất trong mạng; tùy thuộc vào cài đặt gas của Guillaume mà giao dịch của anh ấy có được ưu tiên hay không (Guillaume càng sẵn sàng chi trả cho mỗi đơn vị gas thì giao dịch của anh ấy càng được xử lý nhanh) và được truyền đến các nút khác trong mạng. Các nút sẽ thực hiện công việc xác minh rằng Guillaume có ETH để chi dùng và sau đó sẽ thực sự tiến hành 'giao dịch': **sổ cái sẽ được điều chỉnh; 0,5 sẽ được trừ từ số dư của Guillaume và 0,5 sẽ được ghi có vào số dư của Dolores. **
'Bút sa gà chết': ETH thực chất không di chuyển qua một mạng; nó không phải là một email được gửi từ máy tính của Guillaume đến hộp thư đến MetaMask của Dolores hay bất cứ thứ gì tương tự như vậy. Guillaume gửi một yêu cầu, được xác thực bằng các khóa riêng tư của anh ấy thông qua MetaMask, đến mạng để trừ tài khoản của anh ấy và ghi có vào tài khoản của Dolores, và sau khi quá trình xác minh được lập trình vào giao thức của mạng, giao dịch hoàn thành.