EIP-1898은 JSON-RPC의 defaultBlock 파라미터에 블록 해시를 이용한 블록 지정 방식을 추가하는 최종(Final) 표준입니다. 블록 번호 대신 해시로 특정 블록을 명확하게 참조할 수 있게 합니다.
제안 배경
기존 JSON-RPC API는 블록을 "latest", "earliest", "pending" 또는 블록 번호로만 지정할 수 있었습니다. 블록 재편성(reorg) 상황에서 특정 블록을 해시로 정확히 지정할 필요가 있었습니다.
변경 사항
`eth_getBalance`, `eth_call` 등 defaultBlock 파라미터를 받는 메서드에 `{ blockHash: "0x..." }` 형식의 블록 지정 방식을 추가합니다. 선택적으로 `requireCanonical` 플래그를 지원합니다.
실용적 이점
블록 재편성이 발생하더라도 특정 해시의 블록에 대한 상태를 정확하게 조회할 수 있습니다. 이는 아카이브 노드 쿼리 및 감사 목적에 매우 유용합니다.
채택 현황
최종 표준으로 승인되어 주요 이더리움 클라이언트(Geth, Nethermind 등)에 구현되었습니다. JSON-RPC API의 표현력을 높인 실용적인 개선으로 평가받습니다.
호환성
기존 API와 하위 호환성을 유지하면서 새로운 기능을 추가한 점이 특징입니다. 클라이언트는 blockHash 파라미터를 지원하지 않을 경우 오류를 반환하도록 명시되어 있습니다.