Avail Overview
Avail (opens in a new tab) aims to provide a trust-minimized and secure base layer focused on data availability. This base layer serves as the foundation for next-generation, trust-minimized applications and blockchains.
Avail is a blockchain-based platform focused on creating a general-purpose data availability layer, addressing key challenges such as scalability, governance, and decentralization. By enabling technologies like Validiums and Sovereign Rollups, Avail allows for off-chain data availability, which significantly reduces costs and enhances efficiency.
Key Features
- Data Blob Indexing: Avail simplifies data indexing by tying all transaction data to an application ID.
- Erasure Encoding: Adds redundancy to the data, making it harder for nodes to suppress information.
- KZG Polynomial Commitments: Ensures that the data has a footprint in the Avail block header.
- Decentralized Network of Validators: Avail aims to support up to 1,000 external validators to reduce centralization risks.
- Validity Proofs: Allows light clients to guarantee state correctness and data availability immediately after finalizing.
Use Avail in Madara
When launching a Madara node, you can specify : --da-layer avail
.
This will use Avail to publish the state_diff instead of Ethereum.
When launching the node da config file is expected at <madara-path>/da-config.json
(Madara path being defaulted to $HOME/.madara
or can be specified with --madata-path <madara-path>
)
Launch with local node
You can choose to launch with a local full node by following this documentation (opens in a new tab). The expected config file should look like this:
da-config.json
{
"ws_provider": "ws://127.0.0.1:9945",
"app_id": 0,
"validate_codegen": true,
"seed": "//Alice" // Put a seed with some AVL tokens to publish the data
}
Launch with Avail Network
You can launch directly using the up and running Network The expected config file should look like this:
da-config.json
{
"ws_provider": "wss://kate.avail.tools/ws",
"app_id": 0,
"validate_codegen": true,
"seed": "//Alice" // Put a seed with some AVL tokens to publish the data
}