증명(Attestation) 구조
Maroo에서 EAS 증명의 데이터 레이아웃.
Maroo의 증명(Attestation)은 Solidity에 정의된 표준 EAS 구조를 따릅니다. 여기에는 발급자, 수신자, 만료일 및 실제 인코딩된 데이터 페이로드에 대한 메타데이터가 포함됩니다. x/eas 모듈은 이 구조를 EVM ABI에서 사용 가능한 JSON/Protobuf 형식으로 디코딩합니다.
핵심 필드
- UID: 고유한 32바이트 식별자 해시.
- Schema: 데이터 형식을 정의하는 스키마의 UID.
- Recipient: 증명을 받는 주소.
- Attester: 증명을 발급하는 주소.
- Time: 생성 타임스탬프 (Unix).
- ExpirationTime: 만료 없음은 0, 그 외에는 Unix 타임스탬프.
- RevocationTime: 유효하면 0, 취소되었으면 타임스탬프.
- Data: 스키마와 일치하는 ABI 인코딩된 페이로드.
취소 가능성(Revocability)
증명에는
Revocable 불리언 플래그가 포함됩니다. 참(true)인 경우, 발급자는 나중에 증명을 취소하여 RevocationTime을 설정할 수 있습니다. 이는 철회될 수 있는 신원 자격 증명(예: 만료된 여권)에 중요합니다.데이터 인코딩
Data 필드는 16진수 문자열로 반환됩니다. 개발자는 표준 ABI 디코딩 라이브러리(ethers.js, viem, go-ethereum)를 사용하여 이 페이로드를 올바르게 디코딩하기 위해 스키마 문자열(예: uint256 score, bool isVerified)을 알고 있어야 합니다.