📂 Concepts and Definitions

# Endpoint

Table of Contents

Airnode serves an API to a blockchain according to Oracle Integration Specifications (OIS). An API is composed of operations, which represent individual functionalities that an API offers. OIS maps each API operation to an endpoint, which can be thought of as an Airnode operation. The endpoints that an Airnode will serve over the request–response protocol are listed under triggers of config.json.

# endpointId

endpointId identifies specific endpoints that an Airnode serves, and is computed in JS (using ethers.js) as follows:

ethers.utils.keccak256(
  ethers.utils.defaultAbiCoder.encode(
    ['string', 'string'],
    [oisTitle, endpointName]
  )
);
1
2
3
4
5
6

An alternative method to create an endpointId is to use the Admin CLI to derive the endpoint ID.

Note that this means that an endpointId is not unique, and two Airnodes can serve equivalent endpoints using the same ID (in fact, this is the desired outcome).This is not an issue, as requests are made with a airnode (Airnode's address) and endpointId pair.

This convention of determining an endpointId is not enforced at the protocol-level. For example, one could choose to generate an endpointId randomly, and as long as requesters use the correct endpointId, this will not be an issue.

# Authorizers

Airnodes can assign a list of authorizers to their endpoints. See the section Authorizer for more information.

Last Updated: 8/9/2022, 2:28:25 PM