Selector Hàm Solidity

Tạo selector hàm Solidity từ chữ ký. Chuyển đổi tên hàm sang selector 4 byte và chữ ký event sang Topic0. Tra cứu selector phổ biến ngay lập tức.

Nhập chữ ký hàm không có khoảng trắng (vd: transfer(address,uint256))

Giới Thiệu Selector Hàm Solidity

Công cụ Selector Hàm Solidity giúp các nhà phát triển làm việc với selector hàm hợp đồng thông minh Ethereum và chữ ký sự kiện. Selector hàm là 4 byte đầu tiên của hash Keccak256 của chữ ký hàm và được sử dụng để xác định hàm nào sẽ gọi trong hợp đồng thông minh. Chữ ký sự kiện (Topic0) là hash Keccak256 đầy đủ 32 byte của chữ ký sự kiện. Công cụ này tạo selector từ chữ ký và tra cứu selector phổ biến trong cơ sở dữ liệu tích hợp.

Selector hàm là gì?

Selector hàm là một mã định danh 4 byte được sử dụng trong Ethereum để chỉ định hàm nào sẽ gọi trong hợp đồng thông minh. Nó được tính toán là 4 byte đầu tiên của hash Keccak256 của chữ ký hàm. Ví dụ, chữ ký hàm 'transfer(address,uint256)' tạo ra selector '0xa9059cbb'.

Selector hàm được tính toán như thế nào?

Selector hàm được tính toán bằng cách:
1. Tạo chữ ký hàm (vd: 'transfer(address,uint256)')
2. Tính toán hash Keccak256 của chữ ký
3. Lấy 4 byte đầu tiên (8 ký tự hex) của hash
4. Thêm tiền tố '0x' để tạo selector

Chữ ký sự kiện (Topic0) là gì?

Chữ ký sự kiện, còn được gọi là Topic0, là hash Keccak256 đầy đủ 32 byte của chữ ký sự kiện. Không giống như selector hàm chỉ sử dụng 4 byte, chữ ký sự kiện sử dụng toàn bộ hash. Điều này được sử dụng để xác định các sự kiện trong log giao dịch. Ví dụ, 'Transfer(address,address,uint256)' tạo ra một Topic0 duy nhất 32 byte.

Tại sao cần tra cứu selector hàm?

Khi phân tích hợp đồng thông minh hoặc giao dịch, bạn thường gặp các selector hàm thô (như 0xa9059cbb) mà không biết chúng đại diện cho hàm nào. Tra cứu selector giúp bạn hiểu hàm nào đang được gọi. Điều này đặc biệt hữu ích cho debug, audit hoặc hiểu các hợp đồng không quen thuộc.

Sự khác biệt giữa selector hàm và sự kiện là gì?

Selector hàm là 4 byte (8 ký tự hex) và xác định lời gọi hàm, trong khi chữ ký sự kiện là 32 byte (64 ký tự hex) và xác định sự kiện trong log. Selector hàm được sử dụng trong dữ liệu đầu vào giao dịch, trong khi chữ ký sự kiện xuất hiện dưới dạng Topic0 trong log giao dịch.

Tính Năng Chính

  • Tạo selector hàm (4 byte) từ chữ ký
  • Tạo chữ ký sự kiện (Topic0, 32 byte)
  • Hiển thị hash Keccak256 đầy đủ
  • Tra cứu selector hàm phổ biến trong cơ sở dữ liệu tích hợp
  • Xác thực định dạng chữ ký và selector
  • Tải ví dụ ngẫu nhiên để thử nghiệm
  • Liên kết đến cơ sở dữ liệu chữ ký bên ngoài (4byte.directory, Openchain)
  • Bao gồm hơn 30 selector phổ biến của ERC20, DeFi và quản trị
  • Tính toán phía client để bảo mật