Flashblocks

Flashblocks는 트랜잭션 확정(confirmation) 정보를 블록이 생성될 때까지 기다리지 않고, 빠르게 받아볼 수 있는 기능이에요. 이를 통해 실시간성이 중요한 앱에서 활용할 수 있습니다.

Flashblocks란?

일반적으로 트랜잭션을 전송한 뒤에는 해당 트랜잭션이 블록에 포함될 때까지 기다려야해요. GIWA의 블록 생성주기에 따라 이 시간은 최대 1초가 될 수 있습니다. (단, 네트워크 혼잡 시 더 길어질 수 있어요.)

Flashblocks는 이 과정에서 블록이 완전히 생성될 때까지 기다리지 않고, preconfirmation 이라는 즉각적인 피드백 (최대 200ms)을 줌으로써 사용자가 트랜잭션을 보낸 직후 아주 짧은 시간 안에 결과를 확인할 수 있도록 도와줘요.

즉, 블록 자체를 더 빨리 만드는 기능이 아니라 블록 생성 전에 트랜잭션 상태를 더 빨리 알려주는 기능입니다.

이러한 특성 때문에 다음과 같은 앱에서 활용할 수 있어요.

  • 트랜잭션 전송 및 반영을 즉각적으로 보여주고 싶은 지갑 및 웹서비스

  • 빠른 결제 경험을 제공해주고 싶은 페이먼트 서비스

  • 반응성이 중요한 게임 및 실시간 서비스

Flashblocks 사용하기

Flashblocks RPC는 일반적인 Ethereum JSON-RPC 인터페이스와 동일하게 동작해요. Flashblocks RPC를 사용하기 위해서는 해당 RPC 노드가 Flashblocks mode를 지원해야하며, 이를 Flashblocks-aware RPC 라고 합니다.

Flashblocks-aware RPC

GIWA에서는 개발 및 테스트 용도를 위해 무료로 제공하는 Flashblocks-aware RPC가 있어요.

Network
Endpoint

GIWA Mainnet

🚧 GIWA Mainnet 은 현재 준비 중이에요.

지원하는 RPC Methods

eth_call

pending 태그를 통해, 최신 flashblock 상태를 기준으로 스마트 컨트랙트 호출을 실행해요.

Request

Response

eth_estimateGas

pending 태그를 통해, 최신 flashblock 상태를 기준으로 가스 사용량을 추정해요.

Request

Response

eth_getBalance

pending 태그를 통해, 최신 flashblock 상태를 기준으로 잔고를 반환해요.

Request

Response

eth_getBlockByNumber

pending 태그를 통해, 최신 flashblock 상태를 기준으로 블록 정보를 반환해요.

Request

Response

eth_getLogs

pending 태그를 통해, 최신 flashblock 상태를 기준으로 로그를 반환해요.

Request

Response

eth_getTransactionCount

pending 태그를 통해, 최신 flashblock 상태를 기준으로 해당 주소의 nonce를 반환해요.

Request

Response

eth_getTransactionByHash

Flashblock에 포함된 특정 해시의 트랜잭션 정보를 반환해요.

Request

Response

eth_getTransactionReceipt

Flashblock에 포함된 트랜잭션 receipt 정보를 반환해요.

Request

Response

eth_simulateV1

최신 flashblock 상태를 기준으로 트랜잭션을 시뮬레이션해요.

Request

Response

더 알아보기

OP 스택 개발자 문서를 확인해보세요.

Last updated