메인 콘텐츠로 건너뛰기
Subblocks를 스트리밍하는 체인은 200 ms마다 부분 블록을 게시하므로, 앱은 트랜잭션이 포함된 블록이 봉인(seal)되기 훨씬 전에 트랜잭션 결과를 표시할 수 있습니다. 이 가이드에서는 표준 Ethereum JSON-RPC와 viem 및 ethers 라이브러리를 통해 이러한 사전 확인(pre-confirmed) 상태를 읽는 방법을 설명합니다. 대부분의 앱은 엔드포인트를 변경하고 pending 블록 태그를 사용하기만 하면 됩니다.
  • 프로덕션 환경에서는 원하는 제공업체의 subblocks 지원 RPC 엔드포인트를 앱에 지정하세요. 사용 중인 제공업체가 아직 subblocks를 지원하지 않는다면 Discord에서 알려 주세요. 해당 제공업체와 협력하여 지원이 추가되도록 하겠습니다.
  • subblocks를 지원하는 자체 node를 실행하려면 체인의 스트림을 가리키는 --flashblocks-url=<websocket-url>과 함께 op-reth를 시작하세요. 그러면 node는 subblock 상태를 기반으로 pending을 제공합니다. OP Mainnet 및 OP Sepolia 스트림 URL은 네트워크 정보 페이지에 나와 있습니다.
이 가이드는 대부분의 앱에서 필요로 하는 방식인 RPC 엔드포인트를 통한 사전 확인 상태 읽기를 다룹니다. 대신 WebSocket 스트림을 직접 사용하는 경우, 네 개의 페이로드 필드가 0으로 채워지므로 이를 처리해야 합니다. 자세한 내용은 Subblocks 공지를 참조하세요. Lagoon 체인에서는 스트림이 블록의 실행 후(post-execution) 트랜잭션도 트랜잭션 목록 밖에 담아 전달합니다. 자세한 내용은 실행 후 트랜잭션을 참조하세요.

지원되는 RPC 메서드

subblock 상태는 이미 사용 중인 것과 동일한 Ethereum JSON-RPC 호출로 읽을 수 있습니다. 차이점은 일부 호출에서 “pending” 태그를 사용하여 마지막으로 최종 확정된 블록 대신 사전 확인 상태를 명시적으로 조회한다는 것입니다.
  • eth_getBlockByNumber: pending 태그를 사용하여 최신 subblock 스냅샷을 가져옵니다.
  • eth_call: pending 태그를 사용하여 가장 최근의 사전 확인 상태를 대상으로 호출을 실행합니다.
  • eth_getBalance / eth_getTransactionCount: pending 태그를 사용하여 블록 구간 내에서 변화하는 잔액 또는 트랜잭션 수를 각각 가져옵니다.
    eth_getTransactionReceipt, eth_getTransactionByHash, eth_simulateV1과 같은 다른 메서드는 pending 태그 없이도 사전 확인된 트랜잭션의 데이터를 반환합니다. 지원되는 메서드와 pending 상태 동작은 Subblocks 사양을 참조하세요.

라이브러리

다음 라이브러리를 사용하려면 subblocks를 지원하는 RPC 엔드포인트가 필요합니다.

Viem

Ethers

다음 단계