페이지를 넘기고 있습니다.
다음 장을 불러오고 있습니다…
잠깐… 나만의 읽기 환경을 만들어 보세요.
글꼴과 테마는 화면 설정에서 설정하세요. 눈의 편안함도 중요합니다.
다음 장을 불러오고 있습니다…
An Application Binary Interface describes how software encodes contract calls and decodes results, events, and errors.
브라우저의 읽어주기 지원을 확인하는 중…
이 읽기 자료는 현재 영어로 제공됩니다. 인터페이스에는 선택한 언어가 적용됩니다.
영어 원문 읽기 →An Ethereum wallet cannot transmit a human-readable instruction such as transfer directly to a contract. It uses the contract's ABI to encode the function and its arguments into transaction data. Under Solidity's standard encoding, the first four bytes identify the function: they come from the Keccak-256 hash of its canonical name and parameter types. Encoded arguments follow. Return types are excluded from this selector. Overloaded functions therefore need their complete input signatures, not just a shared name.
An ABI commonly arrives as JSON describing functions, constructors, events, and errors. Libraries use those descriptions to build calls and interpret returned data or logs. The encoding is not self-describing: without the expected schema, bytes alone do not reliably tell a reader which values were intended. A readable function name also does not establish what the implementation actually does. Treat a decoded request as an interface description, then examine the address, arguments, and relevant code before drawing conclusions about its effects.
For an upgradeable proxy, the address holding state can stay constant while the code receiving delegated calls changes. ERC-1967 standardizes storage locations for the implementation, beacon, and administrator so tools can discover that relationship. An ABI copied from an old implementation may no longer describe the current one. Record the chain, contract address, implementation address, and block used for an investigation. Because selectors have only four bytes, collisions are possible; matching a selector to a familiar name is supporting evidence rather than proof of contract identity.