AVS Logic Implementation
Every AVS must implement both execution and validation logic.
Last updated
Every AVS must implement both execution and validation logic.
Last updated
We recommend to use the repository as a boilerplate for your AVS. It provides an example implementation that helps clarify how the network functions and allows you to get up and running.
The AVS logic implementation consists of two main components:
Each component runs as a separate service: handles execution, while is responsible for validation.
The Task Performer must create a , which can be validated by Attester Nodes. This proof could be the result of a calculation, a ZK proof, the CID of a JSON on IPFS, etc. Task Validation implementation should be able to use this proof to attest to the task properly.
In order to publish the task, the Task Performer must send a JSON-RPC request to an arbitrary node on the network, which propagates to its peers. See the in the Task_Performer
module to learn how to send such requests.
Attester nodes are responsible for running the Validation Service, which contains the task validation logic. This is similar to how the Consensus Client communicates with the Execution Client in Ethereum.
The Validation Service must implement the /task/validate
endpoint.
When an Attester receives a proof of task from the Performer, it uses the Validation Service API endpoint to verify the task.