Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: docs update #57

Merged
merged 7 commits into from
Sep 26, 2024
Merged
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,33 @@ Note: Ensure that the Avail light client URL is correctly configured for the mod

# How It Works

`Cosmos Chain`: Initiates the process by running the PreBlocker ABCI method.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
`Cosmos Chain`: Initiates the process by running the PreBlocker ABCI method.
`CADA(Cosmos Chain)`: Initiates the process by running the PreBlocker ABCI method.


`Request to Relayer`: Sends block range information to the relayer.

`Relayer`: Fetches the block data from the Cosmos Provider and posts it to the Avail Light Client.

`Avail Light Client`: Confirms whether the data is available.

`If Yes`: Broadcast the Avail height and status.

`If No`: Retry data submission.

`Validators`: Vote to confirm the data availability, updating the status to "Ready" or "Failure" based on results.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
`Validators`: Vote to confirm the data availability, updating the status to "Ready" or "Failure" based on results.
`Validators`: Vote to confirm the data availability, updating the blob status to "Success" or "Failure" based on results.


There are main components in the workflow:

## 1. Cada
The core functionality of the **Cada** module is integrated with and operates on the Cosmos blockchain.

In the Cada module:
- At each block interval, the `PreBlocker` ABCI method sends a request to the `Relayer`, specifying the range of block heights that are ready to be posted to the **Avail** Data Availability (DA) network.
![Data Submission](https://github.com/user-attachments/assets/4e17b98f-ca8c-4b4c-a79e-8c60f123cb2c)
![Data Submission](https://github.com/user-attachments/assets/fc4d23cc-f6bd-4210-8407-47a57adcc290)

- The chain is responsible for aggregating vote extensions from all validators and verifying whether the data has been made available on Avail.
- Since verification requires communicating with the light client, an asynchronous voting mechanism is needed. **Vote extensions** enable this asynchronous voting mechanism for verification purposes.

![Vote Extension](https://github.com/user-attachments/assets/c0edb8e7-20fd-468a-9109-4f31718e4467)
![Vote Extension](https://github.com/user-attachments/assets/ea5b10ab-fb64-4ed0-8761-44675a852a01)

## 2. Relayer
The **Relayer** facilitates communication between the Cosmos Chain, the Avail light client, and the Cosmos Provider.
Expand Down
Loading