The first protocol implemented for Airnode is request–response. An Airnode serving the request–response protocol listens for requests, makes the API call specified by the request, and finally makes the response transaction back on chain.
This sections briefly describes the structure of the request response protocol contracts. You can find more information in the source files on github.
The request–response protocol is implemented as a single permissionless contract that all Airnodes interact with, which is named AirnodeRrpV0.sol. This base contract has the following inheritance tree that compartmentalizes the aspects of the protocol.
However, this contract is shared for all requesters and Airnodes on a particular chain. This means that neither Airnode operators nor requesters need to deploy this contract themselves. Instead, API3 will deploy this contract once per chain and you simply connect your Airnode or requester contract to that deployed contract. See the Airnode Contract Addresses for reference.
The @api3/airnode-admin package is a CLI tool used to interact with AirnodeRrpV0.sol and perform administrative actions.