Mã hóa / Giải mã ABI
Mã hóa và giải mã dữ liệu gọi hàm của smart contract Ethereum. Chuyển đổi chữ ký ABI thành calldata và giải mã dữ liệu đầu vào giao dịch.
Mã hóa / Giải mã ABI là gì?
Công cụ Mã hóa/Giải mã ABI (Application Binary Interface) miễn phí để mã hóa và giải mã dữ liệu gọi hàm của smart contract Ethereum. Nó chuyển đổi chữ ký hàm và tham số dễ đọc thành calldata dạng hex có thể gửi đến smart contract, và ngược lại.
Công cụ này rất quan trọng cho các lập trình viên blockchain làm việc với smart contract, debug giao dịch, hoặc xây dựng dApps trên Ethereum và các chuỗi tương thích EVM.
ABI trong Ethereum là gì?
ABI (Application Binary Interface) là đặc tả định nghĩa cách tương tác với smart contract Ethereum. Nó mô tả các hàm có sẵn trong contract, tham số và kiểu dữ liệu trả về. ABI encoder chuyển đổi lời gọi hàm thành bytecode mà EVM có thể thực thi.
Calldata là gì?
Calldata là dữ liệu đã mã hóa được gửi cùng giao dịch đến smart contract. Nó bao gồm function selector 4 byte (8 ký tự hex đầu tiên sau 0x) theo sau là các tham số đã mã hóa ABI. Ví dụ, gọi transfer(address,uint256) tạo calldata như 0xa9059cbb000000...
Làm thế nào để mã hóa một lời gọi hàm?
Nhập chữ ký hàm (vd: transfer(address,uint256)) và tham số dưới dạng mảng JSON. Công cụ sẽ tạo calldata hoàn chỉnh bao gồm function selector và tham số đã mã hóa. Calldata này có thể dùng trong giao dịch web3 hoặc để debug.
Làm thế nào để giải mã dữ liệu đầu vào giao dịch?
Dán dữ liệu đầu vào giao dịch (calldata) từ bất kỳ giao dịch EVM nào. Nếu bạn biết chữ ký hàm, cung cấp nó để giải mã chi tiết tham số. Nếu không, công cụ sẽ hiển thị function selector và dữ liệu thô. Điều này hữu ích để phân tích giao dịch trên block explorer.
Hỗ trợ những blockchain nào?
Công cụ này hoạt động với tất cả blockchain tương thích EVM bao gồm Ethereum, BSC, Polygon, Arbitrum, Optimism, Avalanche và bất kỳ chuỗi nào khác sử dụng Ethereum Virtual Machine và tuân theo chuẩn mã hóa ABI.
Các Trường Hợp Sử Dụng Phổ Biến
- Mã hóa giao dịch chuyển token ERC20 để tương tác với contract
- Giải mã dữ liệu đầu vào giao dịch từ Etherscan hoặc block explorer
- Kiểm tra lời gọi hàm smart contract trước khi triển khai
- Debug giao dịch thất bại bằng cách phân tích calldata
- Xây dựng giao dịch tùy chỉnh cho ví multisig
- Phân tích tương tác giao thức DeFi (hoán đổi Uniswap, v.v.)