Key Features

Real-time On-chain Notification
블록, 트랜잭션, 이벤트, 스마트 컨트랙트의 상태 변화 등 어플리케이션에서 필요한 온체인 이벤트를 실시간으로 구독 할 수 있습니다. 데이터 조회를 매번 요청하거나 Stream 채널을 유지하지 않고 비동기 API 호출을 통한 데이터 조회가 필요하다면 Webhook을 활용한 효과적인 모니터링이 가능합니다.

Endpoint Registration
정의한 이벤트가 발생하는 경우 관련 데이터를 수신할 Endpoint URL을 직접 지정할 수 있으며, 이를 통해 맞춤형 애플리케이션 워크플로우를 설계할 수 있습니다.

Filter Support
트랜잭션, 블록, 이벤트 등 다양한 필터를 활용하여 효과적으로 대상을 모니터링하고, 다양한 조건의 데이터를 각각 다른 Endpoint로 등록하여 수신하는 등의 응용을 통해 복잡한 비즈니스 로직을 쉽게 구현할 수 있습니다.


실시간 온체인 이벤트 Notification, Webhook

Nodit Webhook은 정의한 온체인 이벤트가 발생할 때, Webhook에 등록된 URL로 이벤트의 발생 정보를 전달함으로서 실시간 이벤트에 대한 반응형 어플리케이션을 구현할 수 있도록 돕는 개발도구입니다. 블록체인에서 새로운 트랜잭션이 발생하거나 스마트 컨트랙트 상태가 변경되는 등 중요한 이벤트가 발생할 때, 실시간으로 정보를 받아볼 수 있습니다.

Webhook은 특정 이벤트가 발생할 때 지정된 URL(사용자 Endpoint)로 HTTP POST 요청을 자동으로 전송합니다. 이 요청에는 이벤트의 유형, 관련 데이터, 기타 필요한 정보가 포함됩니다. Webhook의 기본 작동 흐름은 다음과 같습니다:

  • 이벤트 발생: 블록체인에서 새로운 트랜잭션, 블록 생성, 또는 스마트 컨트랙트 상호작용과 같은 이벤트가 발생합니다.
  • 트리거(Trigger): 해당 이벤트에 의해 Webhook이 트리거됩니다.
  • 데이터 전송: Webhook은 발생한 이벤트 데이터를 포함한 HTTP POST 요청을 사용자 지정 Endpoint로 자동 전송합니다.

Webhook Quickstart

구독할 이벤트를 정의하고 Webhook을 수신할 Endpoint를 등록하여 Webhook을 생성해볼까요? Webhook은 다음과 같이 Nodit 콘솔의 Webhook 메뉴를 통해 생성하거나 API를 통해 생성할 수 있습니다.


Nodit 콘솔을 통한 Webhook 생성 및 관리

Nodit 콘솔의 Webhook 메뉴에서 새로운 Webhook을 생성할 수 있습니다. Select Node 영역에 이벤트를 구독하고자 하는 대상 체인을 선택하고 Select Event Type영역에서 구독하고자 하는 이벤트 타입을 선택합니다. 이벤트가 발생하는 경우 관련 데이터를 수신하기 위한 Webhook URL을 입력한 뒤 [Test Webhook] 버튼을 클릭하여 해당 URL에서 정상적으로 메시지 수신이 가능한지 테스트할 수 있습니다. 이후 선택한 Event Type에 따라 필요한 데이터를 우측 Conditions 영역에서 설정함으로서 Webhook 생성을 완료할 수 있습니다.

Webhook 생성이 완료되면 Webhook 목록에서 생성된 Webhook을 확인할 수 있습니다. 또한 Webhook을 통한 이벤트 수신을 잠시 멈추거나 재개할 수 있으며, 불필요한 Webhook을 삭제할 수 있습니다.

⚠️

Aptos Webhook을 위한 콘솔 기능이 곧 지원될 예정입니다!

Aptos Webhook은 Beta 서비스 기간 중 API를 통한 생성, 조회, 삭제만을 지원합니다. 이에 따라 정식 서비스 이전까지는 콘솔 Webhook 생성 화면의 Select Node영역에서 Aptos 네트워크 선택이 제공되지 않거나, Webhook 목록에서 생성한 Aptos Webhook이 조회되지 않을 수 있습니다. 콘솔 사용성을 포함한 정식 Aptos Webhook은 25년 1분기 내 지원 예정이니 사용에 참고 부탁드립니다.


API를 활용한 Webhook 생성 및 관리

어플리케이션의 구현에 따라 실시간으로 Webhook을 생성하고 삭제해야 하는 경우, API를 활용한 관리가 가능합니다. Webhook API Reference를 참고하여 API를 호출하고 Webhook이 정상적으로 생성되었는지 확인해보세요.