EIP-2700은 이더리움 JavaScript 제공자(Provider)가 이벤트를 발행하고 구독하는 표준 인터페이스를 정의합니다. 이 표준은 dApp과 지갑 간의 일관된 이벤트 통신을 보장합니다.
배경 및 목적
이더리움 생태계에서 다양한 지갑과 제공자가 서로 다른 이벤트 발행 방식을 사용하면서 호환성 문제가 발생했습니다. EIP-2700은 Node.js의 EventEmitter 패턴을 기반으로 표준 인터페이스를 제안합니다. 이를 통해 dApp 개발자는 특정 제공자에 종속되지 않고 이벤트를 처리할 수 있습니다.
핵심 인터페이스
EventEmitter 표준은 on, off, removeListener 등의 메서드를 포함합니다. 제공자는 accountsChanged, chainChanged, connect, disconnect 등의 이벤트를 표준 방식으로 발행해야 합니다. 이 인터페이스는 EIP-1193과 함께 사용되어 완전한 제공자 API를 구성합니다.
생태계 영향
MetaMask, WalletConnect 등 주요 지갑들이 이 표준을 채택하여 호환성을 높였습니다. 개발자들은 다양한 지갑에서 동일한 코드로 이벤트를 처리할 수 있게 되었습니다. 이 표준은 Web3.js, ethers.js 등 주요 라이브러리에도 반영되었습니다.
최종 표준화
EIP-2700은 Final 상태로 이더리움 생태계의 공식 인터페이스 표준이 되었습니다. 이 표준 덕분에 지갑과 dApp 간의 이벤트 기반 통신이 크게 개선되었습니다. 현재 대부분의 이더리움 개발 도구가 이 표준을 준수하고 있습니다.