EIP-1066은 스마트 컨트랙트 함수 호출의 결과를 나타내는 표준화된 상태 코드 체계를 제안합니다. HTTP 상태 코드와 유사하게 컨트랙트 간 통신에서 일관된 의미를 가진 코드를 사용하려 했습니다.
제안 배경
스마트 컨트랙트는 성공/실패 외에 다양한 상태를 반환할 수 있지만 표준이 없어 각 프로젝트가 임의의 코드를 사용합니다. 이로 인해 컨트랙트 간 통신에서 상태 해석이 어렵습니다.
코드 체계
0x00~0xFF 범위의 상태 코드를 정의하며, 상위 니블은 카테고리(성공, 실패, 권한, 등록 등), 하위 니블은 구체적 이유를 나타냅니다. HTTP 상태 코드와 유사한 직관적 구조입니다.
활용 사례
토큰 전송, 접근 제어, 레지스트리 조작 등 다양한 컨트랙트 상호작용에서 표준화된 피드백을 제공합니다. EIP-1444와 결합하면 상태 코드를 사람이 읽을 수 있는 메시지로 변환할 수 있습니다.
정체 이유
커스텀 에러(Custom Errors, EIP-838, Solidity 0.8.4+)와 revert 메시지가 더 표현력이 좋고 가스 효율적인 대안으로 등장했습니다. 이에 따라 표준 상태 코드 체계에 대한 수요가 줄었습니다.