Definitions
The following sub-sections of the Oyster Serverless protocol frequently reference specific actors, modules, and variables. For ease of reference, these commonly used terms are defined below.
- Users: Users of the protocol who wish to execute computations in a serverless manner. These users can be individuals or other smart contracts.
- Request Chain: A blockchain where users submit requests for serverless jobs, such as Ethereum, NEAR, Polkadot, or Avalanche.
- Common Chain: A blockchain that manages the assignment and settlement of all jobs received from multiple request chains.
- Relay Contract: A contract on Request Chain that receives user requests (to be relayed to Common Chain) and execute callbacks with the relayed back responses.
- Subscription Relay Contract: A contract on the Request Chain that accepts user subscription requests, which are relayed periodically to the Common Chain, and executes callbacks with the responses received for each subscription instance.
- Jobs Contract: A contract deployed on the Common Chain where all jobs are submitted for assignment to execution nodes, and job responses are sent back.
- Escrow: An escrow is implemented in the Relay Contract to deposit funds from the user for the serverless job. Upon job completion, the deposits are released in accordance with protocol rules.
- Epoch: An Epoch represents the time interval utilized by the gateway selection algorithm for each request job on the Request Chain. Gateway stakes are frozen for the duration of the specified epoch.
- Execution Environment: It refers to the various enclave images used by Executors, tailored to different runtime environments, sandbox utilities, base operating systems, or system capabilities.