블록체인 서비스를 쉽게 개발하는 방법 — Webhook (웹훅) 기능

Emily
Hexlant
Published in
4 min readSep 3, 2020

휴대폰 메시지를 확인하기 위해 수시로 휴대폰을 확인하시나요?
아니면 메시지가 왔다는 ‘알림’이 왔을 때 확인하시나요?

아마도 메시지를 확인하기 위해 수시로 휴대폰을 확인해야 한다면 굉장히 비효율적이고 많은 시간을 낭비할 거에요. 이런 비효율을 예방하고자 개발자들은 ‘Webhook (웹훅)’ 기능을 사용합니다.

웹훅은 API에서 이벤트가 발생했을 때 사용자의 서버로 알림을 보내주는 기능입니다.

사용자가 엔드포인트 영역에 어떤 이벤트가 발생했는지 Polling 하여 서버를 호출하는 방식이 API라면 웹훅은 그 반대 개념입니다. 웹훅을 통해 사용자는 어떤 URL로 알림을 받을 지, 어떤 내용의 알림을 받을 지 설정할 수 있습니다. 따라서 사용자는 지속적인 Polling 작업 없이 웹훅을 통해 발생한 이벤트 중 중요 이벤트에 대해서만 선택적으로 수신할 수 있습니다.

API와 webhook의 차이 (출처 : 헥슬란트)

옥텟 콘솔에서 제공하는 웹훅 기능

옥텟 콘솔에는 ‘웹훅’을 설정할 수 있는 기능이 포함되어 있습니다.
웹훅을 설정하면 ‘입금' ‘출금’ 등에 대한 이벤트 내용을 받을 수 있습니다.

1. 웹훅 설정하기

웹훅을 만들기 위해 다음의 정보를 입력합니다.

이름 웹훅을 관리하기 위한 이름
URL 이벤트 알림을 받을 URL
옵션 알림을 받을 이벤트 사항

2. 웹훅 관리하기

웹훅 설정에서 생성된 웹훅을 확인하고 활성화/ 비활성화 및 삭제를 통해
관리 할 수 있습니다.

3. 발생하는 이벤트 구조

웹훅 알림은 POST Method를 사용하여 JSON 형식으로 전달됩니다.
전달되는 이벤트 모델의 기본 구조는 다음과 같습니다.

ID 헥슬란트 서버에 입력된 데이터 고유의 값
Coin Sybmol 코인명
From Address
보내는 주소
To Address
받는 주소
Amount 수량
TxID 코인 / 토큰 거래내역
Data 해당 트랜잭션에 입력된 추가 데이터 ex) EOS의 메모
Blockheight 블록 높이
dwDate 데이터 생성일
dwModifiedDate 데이터 수정일

4. 알림 예제

사용자가 ‘입금'에 대한 웹훅을 등록한 경우 다음과 같은 알림이 전달됩니다.

{
id: 5148,
coinSymbol: 'ETH',
fromAddress: '0xA1BC7c38ecca69428bE0E79c7b37246159207183',
toAddress: '0x4E7C6D3F8d44990ecc62d951aFdB103118ca274c',
amount: '0.02000000000000000000',
txid: '0x8255b047c8aa7aa1ec83cee2a569e48046352290a699064a23db3a9fecc8007e',
data: null,
blockHeight: 0,
dwDate: '2020-08-24T05:27:50.000Z',
dwModifiedDate: '2020-08-24T05:27:50.000Z'
}

어렵게만 느껴졌던 블록체인 서비스 개발
옥텟의 친숙한 개발 인터페이스를 통해 블록체인 개발을 시작해보세요.

Hexlant : https://www.hexlant.com/
Octet :
https://octet.hexlant.com/
octet.team@hexlant.com

--

--