Overview

Event Stream 서비스 소개

Event Stream이 무엇인가요?

Event Stream 서비스는 블록체인에서 발생하는 다양한 이벤트를 실시간으로 수집하고 분석하기 위해 webhook과 websocket을 사용하는 기능입니다. 이 서비스를 통해 사용자들은 블록체인 네트워크의 데이터를 실시간으로 모니터링하고, 특정 이벤트가 발생할 때 알림을 받거나 자동화된 작업을 수행할 수 있습니다.

다음은 Event Stream 서비스를 이해하는 데 도움이 되는 몇 가지 주요 기능 및 이점입니다:

  • Webhook을 통한 데이터 수신: Webhook은 HTTP 요청을 기반으로 특정 이벤트가 발생할 때 지정된 URL로 데이터를 전송합니다. 이를 통해 사용자는 블록체인에서 특정 이벤트가 발생했을 때 자동으로 알림을 받거나 데이터를 처리할 수 있습니다. 예를 들어, 특정 스마트 계약이 실행될 때마다 알림을 받거나, 특정 트랜잭션이 완료되었을 때 데이터베이스를 업데이트할 수 있습니다.
  • Websocket을 통한 실시간 데이터 수신: Websocket은 지속적인 연결을 유지하여 실시간으로 데이터를 전송합니다. 이를 통해 사용자는 블록체인의 모든 이벤트를 실시간으로 모니터링하고, 데이터 스트림을 통해 즉시 반응할 수 있습니다. 예를 들어, 실시간으로 트랜잭션 데이터를 분석하거나, 새로운 블록이 생성될 때마다 알림을 받을 수 있습니다.
  • 편리하고 다양한 이벤트 타입 제공: Event Stream 서비스는 다양한 이벤트 유형을 제공합니다. 단순 블록 생성 뿐만 아니라 트랜잭션 이벤트, 토큰 전송 이벤트 등 여러 종류의 이벤트를 포함합니다. 이를 통해 사용자는 원하는 이벤트 유형을 선택하여 해당 이벤트가 발생할 때 알림을 받을 수 있습니다.
  • signing key를 통한 보안성 제공: 각 webhook 응답에 포함된 signing key를 통해 보안을 강화합니다. 이를 통해 사용자는 받은 응답이 서비스에서 온 것이 맞는지 검증할 수 있어 데이터 조작이나 무단 액세스의 위험을 줄일 수 있습니다. 또한, 이 보안 기능은 이벤트 데이터의 신뢰성과 무결성을 유지하는 데 도움을 줍니다.
  • Webhook 재시도 정책: Webhook 서비스는 정해진 시도 간격과 최대 시도 횟수에 따라 데이터 전송을 재시도합니다. 만약 정해진 횟수만큼 재시도 후에도 데이터 전송에 실패한다면 해당 데이터는 누락될 수 있습니다. 이는 데이터 전송의 신뢰성을 유지하기 위한 중요한 정책으로, 사용자는 이러한 특성을 고려하여 시스템을 설계해야 합니다.

이러한 기능과 이점을 통해 Event Stream 서비스는 블록체인 기반 애플리케이션과 서비스의 실시간 데이터 수집, 모니터링, 분석을 지원하며, 자동화된 작업과 신속한 대응을 가능하게 합니다. 또한, 보안에 중점을 둠으로써 데이터의 안전성을 보장하고, 신뢰할 수 있는 서비스를 제공합니다.


Webhook이란 무엇인가요?

Webhook이란 온체인 이벤트 발생을 실시간으로 전달받을 수 있 개발 도구입니다. 블록체인 트랜잭션은 비동기 방식으로 동작하기 때문에, Webhook과 같은 Notification 또는 구독 기능은 DApp 개발에 필수 요소라고 할 수 있습니다. 개발자가 모니터링 하고자 하는 온체인 이벤트를 정의한 뒤 이를 Webhook으로 등록하면, 해당 조건에 맞는 이벤트 발생 시 Webhook 등록 시 지정한 Listener Endpoint로 해당 이벤트 상세 정보를 전달받을 수 있습니다. 조건을 세분화 한 여러 Webhook을 등록할 수 있으며, 이를 활용하여 DApp 구현시 실시간 반응형 UI 또는 사용자 알림 기능을 구현할 수 있습니다.

▶︎ How to use Webhook?


Websocket이란 무엇인가요?

Websocket이란 실시간 양방향 통신을 지원하는 프로토콜 입니다. Websocket은 이벤트가 발생할 때 해당 이벤트에 대한 정보를 HTTP 요청으로 전달하는 Webhook과 달리 지속적으로 네트워크와 연결을 유지하고 있어 실시간으로 변경하는 데이터를 주고 받을 때 유리합니다. 개발자가 모니터링 하고자 하는 온체인 이벤트를 정의한 뒤 이를 Websocket으로 등록하면, 해당 조건에 맞는 이벤트를 실시간으로 전달받을 수 있습니다. 조건을 세분화 한 여러 Websocket을 등록할 수 있으며, 이를 활용하여 DApp 구현시 실시간 반응형 UI 또는 사용자 알림 기능을 구현할 수 있습니다.

▶︎ How to use Websocket?


Usecases

다음은 Event Stream 서비스를 활용하여 다양한 애플리케이션을 구현할 수 있는 몇 가지 예시입니다. 구독 가능한 이벤트 타입을 확인하고, 다양한 활용 방안을 찾아보세요.

  • 트랜잭션 처리 확인: 사용자가 제출한 트랜잭션이 성공 혹은 실패로 처리되면, 해당 트랜잭션의 Receipt를 통해 원하는 동작을 수행할 수 있습니다. 실패한 트랜잭션이 발생할 경우, retry 로직을 구현하여 트랜잭션을 재시도하거나, 사용자에게 적절한 알림을 보낼 수 있습니다.
  • 지갑 잔고 모니터링: 사용자의 지갑 잔고가 일정 수준 이하로 떨어지면, 알림을 받아 사용자에게 토큰 구매를 요청할 수 있습니다. 이 기능은 지갑의 잔고를 실시간으로 모니터링하고, 사용자에게 적절한 조치를 취할 수 있게 합니다.
  • 이벤트 기반 알림: 사용자의 지갑 주소나 특정 스마트 컨트랙트 주소에서 이벤트(자산 전송, 트랜잭션 전송 등)가 발생하면, 사용자에게 알림을 보내거나, 필요한 후처리 작업을 수행할 수 있습니다.
  • 블록 생성 모니터링: 블록이 생성될 때마다 알림을 받음으로써, 특정 블록체인 네트워크가 안정적으로 동작하고 있는지 모니터링할 수 있습니다. 이를 통해 네트워크의 안정성을 확인하고, 이상 징후를 조기에 감지할 수 있습니다.

Event Stream 지원 체인

NetworkSupporting
Ethereum Mainnet
Ethereum Testnet (sepolia)
Ethereum Testnet (holesky)
Polygon Mainnet
Polygon Testnet (amoy)
Arbitrum Mainnet
Arbitrum Testnet (sepolia)
Optimism Mainnet
Optimism Testnet (sepolia)
Aptos Mainnet
Aptos Testent

Event Type

Event Stream 서비스는 블록체인에서 발생하는 다양한 이벤트를 실시간으로 추적하고 알림을 받을 수 있는 기능을 제공합니다. 트랜잭션의 성공 또는 실패, 특정 토큰의 전송, 특정 주소의 활동 등의 이벤트가 포함됩니다. Webhook과 Websocket에서 모두 동일한 이벤트를 사용할 수 있으며, 자세한 이벤트 타입 목록과 설명은 아래 링크에서 확인할 수 있습니다.

▶︎ EventType 알아보기