본문으로 건너뛰기
0%

Arbitrum 웹훅 생성 방법

Alchemy team headshot

작성자 Alchemy

2022년 8월 11일에 게시됨3분 읽기

Alchemy는 이제 Ethereum을 위한 optimistic rollup 기반 layer-2 스케일링 솔루션Arbitrum을 위한 웹훅을 지원합니다. Arbitrum 웹훅을 사용하면 중요한 web3 알림을 쉽게 설정하고 시작할 수 있습니다.

이 글에서는 Arbitrum에서 웹훅을 생성하고 실행하는 방법을 보여주고, Arbitrum 웹훅으로 추적할 수 있는 이벤트를 살펴보며, 여러 사용 사례를 공유합니다.

웹훅이란 무엇인가?

웹훅은 애플리케이션에 실시간 정보를 제공하는 데 사용되는 용어입니다. 웹훅은 web callback 또는 HTTP push API라고도 불립니다.

웹훅을 사용하면 데이터를 빠르고 자주 수신할 수 있으며, 특정 이벤트에 대한 알림을 받기 위해 사용자들이 자주 활용합니다. 웹훅은 제공자와 소비자 모두에게 실시간 데이터를 전달하는 기능을 가지고 있습니다.

웹훅을 사용할 때 유일한 단점은 처음 설정하는 과정입니다. 웹훅은 이벤트가 발생하면 URL을 통해 알림을 전송하는 방식으로 작동합니다. 다행히 Alchemy를 사용하면 Arbitrum 개발자가 웹훅을 빠르고 쉽게 만들 수 있습니다.

웹훅으로 추적할 수 있는 Arbitrum 이벤트는 무엇인가?

Arbitrum 웹훅을 위한 Alchemy Notify를 사용하면 개발자는 채굴된 트랜잭션(mined transaction), 드롭된 트랜잭션(dropped transaction), 주소 활동(address activity) 알림이라는 세 가지 주요 유형의 알림을 생성할 수 있습니다.

1. 채굴된 트랜잭션

채굴된 트랜잭션은 API를 통해 전송된 트랜잭션이 성공적으로 채굴되었음을 알리는 데 사용됩니다. 토큰 수신, 민팅 완료, 토큰 전송과 같이 트랜잭션이 처리되었을 때 고객에게 알리고 싶은 경우 유용합니다.

2. 드롭된 트랜잭션

드롭된 트랜잭션은 API 키를 통해 전송된 트랜잭션이 실패하거나 mempool에서 드롭되었을 때 애플리케이션 사용자에게 알리는 데 사용됩니다. 트랜잭션 불안(transaction anxiety)은 사용자가 자신의 트랜잭션의 현재 상태를 알지 못할 때 발생합니다.

Arbitrum 웹훅을 사용하면 dApp 개발자는 트랜잭션이 드롭되었음을 사용자에게 알리고, 트랜잭션을 재시도할 수 있도록 할 수 있습니다.

3. 주소 활동

주소 활동(Address Activity)은 ETH, ERC20, ERC721와 같은 토큰을 추적하는 데 사용됩니다. 이는 원하는 만큼 많은 Ethereum 주소에 대해 사용되는 전송 이벤트입니다. 이 웹훅을 사용하면 특정 주소가 토큰을 보내거나 받을 때마다 실시간 변경 사항을 확인할 수 있습니다.

주소 전송 유형

  1. 토큰 전송(Token transfers) - ERC20, ERC721, ERC1155 전송에 대한 로그를 표시합니다.
  2. 외부 전송(External transfers) - from 주소가 사용자가 생성한, 즉 외부 주소인 최상위 레벨 트랜잭션에 사용되는 전송입니다. 외부 주소는 프라이빗 키를 가지고 있으며 사용자가 접근합니다.
  3. 내부 전송(Internal transfers) - 내부 스마트 컨트랙트 주소인 _fromAddress_에서 발생하는 전송입니다(예: 스마트 컨트랙트가 다른 스마트 컨트랙트를 호출하거나, 스마트 컨트랙트가 다른 외부 주소를 호출하는 경우).
  4. 가스 가격(Gas prices) - 현재 가스 가격을 확인하고 가스 가격이 임계값 이상 또는 이하로 변할 때 알림을 받습니다.

Arbitrum 웹훅 예시

Arbitrum 웹훅을 사용하는 사용 사례는 다양합니다. 아래는 몇 가지 예시입니다:

  • 트랜잭션 상태 업데이트를 위한 Arbitrum 지갑 알림
  • 새로운 Arbitrum NFT를 받았을 때의 NFT 에어드랍 업데이트
  • Arbitrum 고래(whale)가 토큰을 이동할 때마다 알림을 보내는 Discord 봇
  • 특정 컬렉션의 Arbitrum NFT가 발생할 때마다 트윗하는 Twitter 봇

Arbitrum 웹훅은 개발자가 사용자에게 트랜잭션 상태를 지속적으로 알릴 수 있는 데 필요한 도구를 제공합니다.

Arbitrum에서 웹훅을 설정하는 방법

Alchemy를 사용하면 이벤트를 추적하기 위한 웹훅을 매우 쉽게 만들 수 있습니다. 실제로 애플리케이션에 새 URL을 추가하는 것만큼 간단합니다.

Alchemy Notify를 활성화하는 주요 방법은 두 가지입니다: 대시보드에서 하는 방법과 프로그래밍 방식으로 하는 방법입니다.

아래에서는 Alchemy의 대시보드를 사용하여 웹훅을 설정하는 단계를 보여줍니다.

1단계 - 무료 Alchemy 계정 생성

웹훅을 만들려면 아직 계정이 없다면 무료 Alchemy 계정을 생성하세요.

2단계 - Alchemy 대시보드에서 웹훅 생성

Alchemy 대시보드 왼쪽 상단에서 "Ethereum + L2" 에코시스템에 있는지 확인하세요.

"Notify" 탭으로 이동한 후 "Address Activity" 섹션에서 "Create Webhook" 버튼을 클릭하세요.

3단계 - 알림을 추가하기 위해 Arbitrum과 Mainnet 선택

다음으로, 웹훅을 생성하기 위해 다음 필드를 입력하세요:

  • "Chain"을 "Arbitrum"으로 선택합니다.
  • "Network"를 "Mainnet"으로 선택합니다.

그런 다음, 앱에서 복사한 웹훅 URL과 추적하려는 주소를 붙여넣습니다.

웹훅을 테스트하고 생성하는 데 필요한 정보를 보여주는 Address Activity 화면
웹훅을 테스트하고 생성하는 데 필요한 정보를 보여주는 Address Activity 화면

4단계 - Arbitrum 웹훅 URL 추가

여기서는 고유한 웹훅 URL을 추가합니다. 이는 요청을 받고 싶은 링크(서버, Slack 등)가 될 수 있습니다.

참고: 웹훅 페이로드가 항상 서드파티 통합과 호환되는 것은 아닙니다.

5단계 - Arbitrum 웹훅 테스트

생성을 확정하기 전에 Alchemy 웹훅이 요청을 성공적으로 전송하는지 테스트하려면, 웹훅 URL 옆에 있는 "Test Webhook"을 클릭하세요.

이미 웹훅을 생성했지만 다시 테스트하고 싶다면, 웹훅 옆의 세 개의 점을 클릭하고 "Send Test Notification"을 선택하세요.

6단계 - "create webhook" 클릭

여기서 응답이 정상적으로 전달되는지 확인해야 합니다. Webhook Signature and Security를 통해 웹훅을 더욱 안전하게 만들고 싶다면, 고유한 웹훅 서명 키를 사용하여 HMAC SHA-256 해시 코드를 생성할 수 있습니다. 이를 통해 웹훅이 Alchemy에서 발생했는지 확인할 수 있습니다.

웹훅을 프로그래밍 방식으로 설정하는 방법에 대해 더 알아보려면, 문서의 Notify API 페이지를 참조하세요.

Background gradient

블록체인 매직을 만드세요

Alchemy는 가장 강력한 Web3 개발자 제품 및 도구를 리소스, 커뮤니티, 그리고 전설적인 지원과 결합합니다.