EAS 모듈
Maroo 생태계 내 Ethereum Attestation Service의 원활한 통합.
x/eas 모듈은 Cosmos SDK 레이어와 EVM 기반의 EAS(Ethereum Attestation Service) 컨트랙트 사이의 가교 역할을 합니다. 이를 통해 개발자와 시스템 컴포넌트는 별도의 EVM RPC 제공자 없이도 Maroo의 표준 gRPC 및 CLI 인터페이스를 통해 증명(Attestation), 스키마, 인덱싱 데이터를 직접 조회할 수 있습니다. 이 모듈은 온체인 증명을 기반으로 하는 Maroo의 신원(Identity) 및 규정 준수(Compliance) 시스템(KYC, KYB, AI 에이전트 검증 등)에 필수적입니다.
주요 기능
크로스 레이어 조회
Cosmos SDK gRPC 및 CLI 도구를 통해 EVM 스마트 컨트랙트 상태(증명)에 접근합니다.
네이티브 인덱서 지원
EAS Indexer 컨트랙트 조회를 기본 지원하여 수신자별 증명 목록을 검색할 수 있습니다.
표준화된 디코딩
Solidity ABI로 인코딩된 증명 데이터를 구조화된 Go 타입으로 자동 디코딩합니다.
아키텍처
graph TD User[Developer/Client] -->|gRPC/CLI| SDK[Cosmos SDK x/eas] SDK -->|EvmKeeper| EVM[EVM Layer] EVM -->|Call| EAS[EAS Contract] EVM -->|Call| IDX[Indexer Contract] EAS -->|Return Data| SDK SDK -->|JSON/Proto| User
x/eas 모듈은 읽기 전용 프록시 역할을 하며, SDK 쿼리를 EVM 컨트랙트 호출로 변환합니다.
작동 방식
x/eas 모듈은 증명(Attestation) 상태를 Cosmos SDK 스토어에 저장하지 않습니다. 대신,
이러한 아키텍처는 데이터 중복이나 동기화 지연 없이 Cosmos SDK 레이어가 항상 EVM 컨트랙트의 실시간 상태를 반영하도록 보장합니다. 이는 사실상 EAS 프로토콜을 네이티브 Cosmos 모듈처럼 노출시키는 효과를 가집니다.
EvmKeeper를 사용하여 EVM 레이어에 배포된 EAS 및 Indexer 스마트 컨트랙트에 직접 뷰(View) 호출을 수행합니다. 쿼리(예: GetAttestation)가 수신되면, 모듈은 파라미터를 Solidity ABI 형식으로 패킹하고, 설정된 컨트랙트 주소로 호출을 실행한 뒤, 반환된 바이트를 구조화된 Protobuf 응답으로 언패킹합니다.이러한 아키텍처는 데이터 중복이나 동기화 지연 없이 Cosmos SDK 레이어가 항상 EVM 컨트랙트의 실시간 상태를 반영하도록 보장합니다. 이는 사실상 EAS 프로토콜을 네이티브 Cosmos 모듈처럼 노출시키는 효과를 가집니다.
참고: 이 모듈은 읽기 전용입니다. 증명을 생성하려면 EAS 컨트랙트로 표준 EVM 트랜잭션을 전송해야 합니다.