Welcome to the Avail Project Developer Documentation, your go-to resource for all things related to data availability and modular blockchain development. Designed with a focus on community collaboration, this repository aims to provide the most accurate, comprehensive, and up-to-date information for anyone interested in learning about, contributing to, or maintaining projects within the Avail ecosystem.
Avail provides a secure, trust-minimized base layer designed for high data availability, forming the cornerstone of next-generation, scalable applications. Its core features include:
- Data Blob Indexing: Streamlines data indexing by associating transaction data with specific application IDs.
- Erasure Encoding: Enhances data resilience, making it more challenging for nodes to withhold information.
- KZG Polynomial Commitments: Guarantees data presence in the block header.
- Decentralized Network of Validators: Targets a network of up to 1,000 external validators to minimize centralization risks.
- Validity Proofs: Enables light clients to instantly confirm state correctness and data availability upon finalization.
Leveraging Data Availability Sampling, Avail's light client network ensures robust data availability. With an increasing number of light clients, Avail supports larger blocks, thereby unlocking substantial scaling capabilities for blockchain technologies.
Start learning about Avail here.
Below is a curated list of GitHub repositories part of the Avail Project.
Get Started
Repository Name & Link | Description |
---|---|
Reference Document | Comprehensive document outlining the rationale, design decisions, and theoretical foundations. |
Avail Node | Repository for the Avail node implementation, built using Substrate. |
Light Client | Light client designed for verifying data availability proofs on Avail. |
Explorer | Implementation repository for the Avail explorer, built using PolkadotJS Apps. |
Tests | Repository for end-to-end tests designed to validate Avail's functionalities. |
All Repos
Category | Repository Name | Description |
---|---|---|
Core Components | Avail | Main DA Node for the Avail project. |
Avail Core | Core components for Avail's DA layer. | |
Light Client | Avail Light | Light client for Avail. |
Avail Light Bootstrap | Bootstrap for Avail Light client. | |
Avail Light Relay | Relay for Avail Light client. | |
Light Client Web | Web version of Avail's light client. | |
Avail Light Client Flutter App | Flutter app for Avail's light client. | |
Avail LC Android Lib | Android library for Avail Light Client. | |
Applications | Avail Apps | Repository for applications built on Avail. |
Avail JS | JavaScript library for Avail; Fork of PolkadotJS | |
Avail Staking Dashboard | Dashboard for staking on Avail. | |
Metamask Snap Avail | Metamask Snap plugin for Avail. | |
Substrate | Go Substrate RPC Client | RPC client for Substrate integration. |
Substrate | Fork of Substrate for Avail. | |
Explorations | Avail Uncharted | Experimental features and research. |
Validium Node | Polygon zkEVM Node implementation for Validium on Avail. | |
Validium Contracts | Polygon zkEVM Contracts for Validium on Avail. | |
Validium Bridge Service | Bridge service for Polygon zkEVM Validium on Avail. | |
Op EVM | OpEVM implementation on Avail. | |
Op EVM Contracts | OpEVM contracts on Avail. | |
Avail OP Stack Adapter | DA Adapter for OP Stack. | |
Avail Sovereign DA Adapter | DA adapter for Sovereign SDK. | |
Sovereign SDK | SDK for Sovereign Rollups on Avail. | |
Nomad Config | Configuration for Nomad in the Avail ecosystem. | |
Nomad Agents | Agents for Nomad in the Avail ecosystem. | |
ZkNFT | Zero-Knowledge NFTs on Avail. | |
Tooling | CLI | CLI tool for Avail. |
AvailUp | Standalone script for easy Avail network setup via CLI. | |
Avail Indexer | Indexer for the Avail network. | |
Documents | RFCs | Repository for Avail Request for Comments and proposals. |
Incident Reports | Repository for incident reports in the Avail ecosystem. |
Files & Folders
Name | Purpose |
---|---|
LICENSE |
Contains the license information for the project. |
README.md |
The main introduction file for the Avail Docs repository. |
babel.config.js |
Configuration file for Babel, a JavaScript compiler. |
build/ |
Contains static content generated for deployment. |
docusaurus.config.js |
Configuration file for website layout and other Docusaurus settings. |
docs/ |
Contains the Markdown files that make up the content of the documentation. |
node_modules/ |
Contains all the npm packages and dependencies. |
package.json |
Specifies dependencies and scripts for the project. |
sidebars.js |
Used to modify the sidebar navigation. |
src/ |
Contains source files for the project. |
static/ |
Contains static assets like images, CSS, and fonts. |
yarn.lock |
Yarn lock file to keep track of all package versions. |
The Avail Developer Documentation is built using Docusaurus, making it easy to serve and host its static files.
The Avail Docs are deployed across two distinct environments: staging and prod, each configured to run on different branches of the repository.
-
Staging: Operating from the
develop
branch and hosted on Digital Ocean, this environment acts as a testing ground for new changes. It facilitates quality assurance and verification before updates are pushed to Production. The staging site is available here. -
Production (Prod): Running from the
main
branch, this live environment is hosted on GitHub Pages. It is manually deployed by the Avail Docs team and is accessible to end-users. Updates are made only after successful validation in the Staging environment.
The documentation utilizes Algolia's DocSearch to provide a powerful and user-friendly search experience. DocSearch is specifically designed to improve navigation in documentation websites, making it easier for users to find the information they need.
Please check out the Contributing Guide for a detailed primer on how to contribute to the Avail documentation.
This project follows the all-contributors specification. Contributions of any kind welcome!
Special thanks to these contributors:
staking4all 📖 |
The Avail Project Developer Documentation is licensed under the MIT License free software license.