EventType은 Event Stream을 이용하기 위해 설정하는 Event의 값을 의미합니다. Webhook과 Websocket에서 공통적으로 사용할 수 있으며 설정한 EventType에 따라 유저가 받을 수 있는 값이 달라집니다. Nodit에서 지원하는 EventType은 다음과 같습니다.
Event Type | Description |
---|---|
ADDRESS_ACTIVITY | 사용자가 지정한 주소 배열에 포함된 계정들의 활동을 모니터링합니다. 이 이벤트는 해당 계정들이 트랜잭션의 발신자(from) 또는 수신자(to)로 포함되어 있는 경우, 즉 트랜잭션, 토큰 전송(ERC20), 또는 NFT 전송(ERC721, ERC1155)이 발생할 때마다 알림을 제공합니다. 이 서비스는 사용자가 다수의 주소에 대한 활동을 실시간으로 파악할 수 있게 해 주어, 자산의 이동과 거래를 효과적으로 추적할 수 있도록 돕습니다. |
MINED_TRANSACTION | 특정 주소가 발송한 트랜잭션이 블록체인 네트워크에 의해 성공적으로 채굴되고 최종적으로 확인되었을 때, 그 트랜잭션의 영수증(receipt) 정보를 알림으로 제공합니다. 이 이벤트는 트랜잭션이 성공적으로 처리된 경우, 그리고 실패한 경우 모두 알림을 받을 수 있습니다. 사용자는 이를 통해 자신이 발송한 트랜잭션의 최종 상태를 실시간으로 파악할 수 있으며, 트랜잭션의 성공 또는 실패 여부를 확인할 수 있습니다. |
SUCCESSFUL_TRANSACTION | 특정 주소가 발송한 트랜잭션이 성공적으로 처리되었을 때 알림을 제공합니다. 이 이벤트는 트랜잭션이 블록체인 네트워크에 의해 완전히 확인되고 유효한 것으로 판정될 때 발생합니다. 사용자는 이를 통해 자신의 트랜잭션이 예상대로 실행되어 결과적으로 원하는 작업이 성공적으로 완료되었음을 확인할 수 있습니다. |
FAILED_TRANSACTION | 특정 주소가 발송한 트랜잭션이 실패했을 때 알림을 제공합니다. 이 이벤트는 트랜잭션이 블록체인 네트워크에 의해 거부되거나, 실행 중 오류가 발생하여 완료되지 못했을 경우 발생합니다. 이를 통해 사용자는 트랜잭션 실패의 원인을 신속하게 파악하고, 필요한 조치를 취할 수 있습니다. 실패 이윤이 가스 부족, 계약 조건 불충족 등 다양한 기술적 문제로 인해 발생할 수 있으며, 이 이벤트는 블록체인 상의 트랜잭션 관리와 오류 추적을 보다 효과적으로 수행할 수 있게 도와줍니다. |
TOKEN_TRANSFER | 토큰(ERC20) 전송 또는 NFT(ERC721, ERC1155) 전송이 발생할 경우 알림을 제공합니다. 사용자는 특정 컨트랙트 주소를 지정하여 해당 컨트랙트에서 발생하는 토큰 이동을 모니터링할 수 있습니다. 또한, ERC721과 ERC1155 표준에 따른 NFT의 경우, 특정 토큰 ID를 조건으로 설정하여 해당 ID의 토큰 전송만을 추적하는 것이 가능합니다. |
BELOW_THRESHOLD_BALANCE | 지정된 계정의 잔고가 사용자가 설정한 특정 수치 이하로 떨어질 경우 알림을 제공합니다. 이 이벤트는 특히 재정 관리와 자산 보호에 중요한 역할을 합니다. 사용자는 이 기능을 통해 자신의 계정이 최소 잔고 아래로 떨어지지 않도록 예방 조치를 취할 수 있으며, 필요한 경우 적시에 추가 자금을 이체하거나 다른 금융 조치를 취할 수 있습니다. |
BLOCK_PERIOD | 네트워크에서 생성되는 블록의 주기에 따라 알림을 제공합니다. 사용자는 원하는 블록 주기(예: 매 블록, N개의 블록마다)를 설정하여 해당 주기에 맞춰 블록 정보를 받을 수 있습니다. 이 이벤트는 특정 수의 블록이 확인된 후에 정보를 제공함으로써, 더욱 안정적이고 확정된 데이터를 제공합니다. |
BLOCK_LIST_CALLER | 특정 주소 목록(block list)에 포함된 주소들이 대상 주소(target address)로 토큰을 전송할 때 알림을 제공합니다. 이 이벤트 타입은 주로 사전에 정의된 블록 리스트에 있는 주소들의 활동을 모니터링하고 싶을 때 활용됩니다. 예를 들어, 블랙리스트에 올라간 주소들이 특정 계정으로 자금을 이체하려고 시도할 때 즉시 경고를 받을 수 있습니다. 이를 통해 불법적이거나 의심스러운 자금 이동을 사전에 감지할 수 있는 유용한 도구입니다. |
ALLOW_LIST_CALLER | 허용 리스트(allow list)에 포함된 주소들이 대상 주소로 토큰을 전송할 때 알림을 제공합니다. 이 리스트에는 신뢰할 수 있는 주소들이 포함되어 있으며, 해당 주소들로부터의 자금 이동은 안전하거나 예상된 활동으로 간주됩니다. 이 이벤트 타입은 허용된 주소들의 활동을 추적하고, 허용 리스트에 포함된 주소로부터의 자금 이체를 확증하고자 할 때 사용됩니다. |
ADDRESS_ACTIVITY
eventType
값을 ADDRESS_ACTIVITY로 설정하는 경우, 사용 가능한 condition 객체 필드는 아래와 같습니다. Value에 등록된 모든 주소들과 관련된 트랜잭션이 발생하는 경우 WebSocket을 통해 이벤트가 전송됩니다.
Key | Type | Required | Description | Example Value |
---|---|---|---|---|
addresses | Array of String | true | 이벤트를 모니터링 하고자 하는 주소들의 목록입니다. | ["0x6887246668a3b87F54DeB3b94Ba47a6f63F32985", "0x56Eddb7aa87536c09CCc2793473599fD21A8b17F"] |
MINED_TRANSACTION, SUCCESSFUL_TRANSACTION, FAILED_TRANSACTION
eventType
값을 TRANSACTION 관련 타입으로 설정하는 경우, 사용 가능한 condition 객체 필드는 아래와 같습니다.
Key | Type | Required | Description | Example Value |
---|---|---|---|---|
txHash | String | true | 트랜잭션을 실행하고 반환받은 Hash를 이용하 해당 트랜잭션이 포함된 블록이 마이닝되면 알림을 수신할 수 있습니다. | "0x13df215746d8f5046028f1d0cdd7539d891d3956f86de65e211c0a9a01b0f345" |
eventType
값을 MINED_TRANSACTION, SUCCESSFUL_TRANSACTION, FAILED_TRANSACTION 관련 타입으로 설정하는 경우, 사용 가능한 condition 객체 필드는 아래와 같습니다.
Key | Type | Required | Description | Example Value |
---|---|---|---|---|
addresses | Array of String | true | 트랜잭션 이벤트를 모니터링 하고자 하는 주소들의 목록입니다. 각 address가 from에 포함된 트랜잭션이 발생하는 경우 알림을 수신할 수 있습니다. | ["0xc90d3Ac75D1D36dF0b0a229E73D8409FB7F3c4ab", "0x56Eddb7aa87536c09CCc2793473599fD21A8b17F"] |
TOKEN_TRANSFER
eventType
값을 TOKEN_TRANSFER 로 설정하는 경우, 사용 가능한 condition 객체 필드는 아래와 같습니다.
Key | Type | Required | Description | Example Value |
---|---|---|---|---|
tokens | Array of object | true | 전송 이벤트를 모니터링 하고자 하는 토큰 정보 객체 | |
tokens[i].contractAddress | String | true | 모니터링 하고자 하는 ERC20 또는 ERC721 토큰의 컨트랙트 주소 | "0xdac17f958d2ee523a2206206994597c13d831ec7" |
tokens[i].tokenId | String | false | 해당 ERC721 컨트랙트의 특정 토큰에 대한 전송 이벤트만 모니터링 하고자 하는 경우 토큰 ID를 지정하기 위한 필드 | "153" |
BELOW_THRESHOLD_BALANCE
eventType
값을 BELOW_THRESHOLD_BALANCE로 설정하는 경우, 사용 가능한 condition 객체 필드는 아래와 같습니다.
Key | Type | Required | Description | Example Value |
---|---|---|---|---|
address | String | true | 잔고 알림을 받고자 하는 대상 주소 | "0x1f9090aaE28b8a3dCeaDf281B0F12828e676c326" |
belowThresholdBalance | String | true | 모니터링 하고자 하는 잔고의 임계값. 해당 임계값 밑으로 잔고가 떨어지는 경우, 알림을 받을 수 있습니다. | "2200000000000000000" |
알림의 주기는 어떻게 되나요?
1분 마다 해당 주소의 잔고를 조회하며 입력한 THRESHOLD 보다 잔고가 낮을 경우, 알림을 전송합니다. 만약 조회 시점마다 실제 잔고가 belowThresholdBalance에 입력한 값보다 낮은 경우, 알림을 계속해서 받을 수 있습니다.
BLOCK_PERIOD
eventType
값을 BLOCK_PERIOD 로 설정하는 경우, 사용 가능한 condition 객체 필드는 아래와 같습니다.
Key | Type | Required | Description | Example Value |
---|---|---|---|---|
period | Integer | true | 이벤트 알림을 받을 블록 주기 설정의 값. 1로 설정하는 경우 매 블록이 생성될 때마다 알림을 받을 수 있습니다. | 3 |
BLOCK_LIST_CALLER, ALLOW_LIST_CALLER
eventType
값을 BLOCK_LIST_CALLER로 설정하는 경우, 사용 가능한 condition 객체 필드는 아래와 같습니다.
Key | Type | Required | Description | Example Value |
---|---|---|---|---|
address | String | true | 토큰 전송 이벤트를 모니터링 하고자 하는 대상 주소 | 0x05de7185d0a89c40ef6a4b684296debfd2e7bd0d |
blockListCallers | Array of String | true | 대상 주소로 토큰 전송이 발생하는 경우 알림을 받고자 하는 주소의 목록 | [0xd1eac1d485dac83bce93fe4d3d168d9eb7036cf6] |