Tech/EIPs/#2696
EIP 2696카테고리 · 인터페이스유형 · 표준 트랙상태 · 최종

JavaScript `request` method RPC transport

EIP-2696은 이더리움 지갑 프로바이더와 dApp 간의 JavaScript RPC 통신을 위한 표준 request 메서드 인터페이스를 정의하는 Final EIP입니다. EIP-1193과 함께 현대 이더리움 dApp의 지갑 연결 표준을 구성합니다.

표준 인터페이스

EIP-2696은 window.ethereum.request() 메서드의 구체적인 동작과 타입을 정의합니다. 모든 RPC 요청은 단일 request(args) 비동기 함수를 통해 처리되며, 성공 시 결과 값을, 실패 시 표준화된 에러 객체를 반환합니다.

EIP-1193과의 관계

EIP-1193은 이더리움 프로바이더 JavaScript API 전체를 정의하며, EIP-2696은 그중 request 메서드의 RPC 전송 레이어에 초점을 맞춥니다. 두 표준은 상호 보완적으로 현대 dApp-지갑 통신 스택을 구성합니다.

에러 처리

표준화된 에러 코드와 메시지 형식을 정의하여, dApp이 사용자 거부, 네트워크 오류, 잘못된 파라미터 등의 오류를 일관되게 처리할 수 있게 합니다. 이는 더 나은 사용자 경험과 안정적인 dApp 개발을 가능하게 합니다.

생태계 채택

MetaMask, WalletConnect, Coinbase Wallet 등 주요 지갑 프로바이더들이 EIP-2696 및 EIP-1193 표준을 구현하고 있습니다. ethers.js, web3.js, viem 등 주요 라이브러리들도 이 표준을 기반으로 구축되어 있습니다.

표준화의 중요성

EIP-2696 이전에는 각 지갑 프로바이더가 서로 다른 인터페이스를 제공하여 dApp 개발자들이 각각 별도로 지원해야 했습니다. 이 표준화로 "Write Once, Run Anywhere" 형태의 dApp 개발이 가능해졌습니다.

공식 EIP 문서open_in_new