{"id":13746495,"url":"https://github.com/availproject/avail","last_synced_at":"2026-03-06T02:39:14.350Z","repository":{"id":36964699,"uuid":"438278218","full_name":"availproject/avail","owner":"availproject","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-05T11:42:17.000Z","size":43887,"stargazers_count":790,"open_issues_count":15,"forks_count":563,"subscribers_count":57,"default_branch":"main","last_synced_at":"2025-05-05T12:43:25.505Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/availproject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-12-14T14:12:20.000Z","updated_at":"2025-05-05T10:54:00.000Z","dependencies_parsed_at":"2023-12-26T07:27:57.641Z","dependency_job_id":"85c53543-c0c8-4478-8754-4f56600a9491","html_url":"https://github.com/availproject/avail","commit_stats":null,"previous_names":["maticnetwork/avail"],"tags_count":88,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/availproject%2Favail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/availproject%2Favail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/availproject%2Favail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/availproject%2Favail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/availproject","download_url":"https://codeload.github.com/availproject/avail/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253209262,"owners_count":21871622,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T06:00:54.557Z","updated_at":"2026-03-06T02:39:14.342Z","avatar_url":"https://github.com/availproject.png","language":"Rust","funding_links":[],"categories":["Smart Contract Platforms","Networks / Blockchains","Uncategorized"],"sub_categories":["Uncategorized"],"readme":"\u003cdiv align=\"Center\"\u003e\n\u003ch1\u003eAvail Node\u003c/h1\u003e\n\u003ch3\u003eOfficial Client for the Avail blockchain\u003c/h3\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n[![Build status](https://github.com/availproject/avail/actions/workflows/default.yml/badge.svg)](https://github.com/availproject/avail/actions/workflows/default.yml)\n\n\n![demo](./.github/img/terminal.jpg)\n\n## Interact with the chain\nThe following software development kits (SDKs) are available:\n- [avail-js](https://github.com/availproject/avail-js)\n- [avail-rust](https://github.com/availproject/avail-rust)\n- [avail-go](https://github.com/availproject/avail-go-sdk)\n\n## Verifying Avail Node Binary Signatures\nOur release binaries are GPG signed for security. To verify a download:\n\n1. Import our public key. Make sure you change the version to the correct version:\n`curl -s https://github.com/availproject/avail/releases/download/vX.Y.Z/gpg-public-key.asc | gpg --import`\n2. Verify the binary's signature:\n`gpg --verify DOWNLOADED_BINARY.tar.gz.sig DOWNLOADED_BINARY.tar.gz`\n3. Verify the checksum file:\n`gpg --verify YOUR_DOWNLOADED_FILE.tar.gz.sha256.sig YOUR_DOWNLOADED_FILE.tar.gz.sha256`\n4. Verify the checksum:\n`sha256sum -c YOUR_DOWNLOADED_FILE.tar.gz.sha256`\n\nA successful verification will display:\n\"Good signature from 'Your Project Release Key `key's email address`'\"\n\nYou have now verified that the binary is signed by Avail and that its checksum is correct.\n\n## Running Avail Node\n### Manually\n\n\u003e To manually run the Avail Node, you'll need to have the following dependencies installed:\n\u003e - [Rust](https://www.rust-lang.org/learn/get-started)\n\u003e - [Substrate dependencies](https://docs.substrate.io/install/)\n\n\nAfter ensuring you have the dependencies installed, you can run the Avail Node using the following command:\n```bash\nmkdir -p output\ncargo run --locked --release -- --chain mainnet -d ./output\n```\nThis command compiles and runs the Avail Node connected to the Mainnet Network.\n\n```\n2025-03-05 11:39:57 Avail Node    \n2025-03-05 11:39:57 ✌️  version 2.3.0-6c6b8912fd3    \n2025-03-05 11:39:57 ❤️  by Avail Project \u003cinfo@availproject.org\u003e, 2017-2025    \n2025-03-05 11:39:57 📋 Chain specification: Avail Development Network    \n2025-03-05 11:39:57 🏷  Node name: spotty-ducks-6306    \n2025-03-05 11:39:57 👤 Role: AUTHORITY    \n2025-03-05 11:39:57 💾 Database: ParityDb at /tmp/substratebYqXut/chains/avail_development_network/paritydb/full    \n2025-03-05 11:39:58 [0] 💸 generated 1 npos voters, 1 from validators and 0 nominators    \n2025-03-05 11:39:58 [0] 💸 generated 1 npos targets    \n2025-03-05 11:39:59 🔨 Initializing Genesis block/state (state: 0x9da9…1c2f, header-hash: 0x61c9…7794)    \n2025-03-05 11:39:59 👴 Loading GRANDPA authority set from genesis on what appears to be first startup.    \n2025-03-05 11:39:59 👶 Creating empty BABE epoch changes on what appears to be first startup.    \n2025-03-05 11:39:59 🏷  Local node identity is: 12D3KooWDCNjiaVbFL4BGYkbkxHwqJjhDNAxvBuxNdCAB4HDuYjA    \n2025-03-05 11:39:59 Prometheus metrics extended with avail metrics    \n2025-03-05 11:39:59 💻 Operating system: linux    \n2025-03-05 11:39:59 💻 CPU architecture: x86_64    \n2025-03-05 11:39:59 💻 Target environment: gnu    \n2025-03-05 11:39:59 💻 CPU: 13th Gen Intel(R) Core(TM) i7-13700K    \n2025-03-05 11:39:59 💻 CPU cores: 16    \n2025-03-05 11:39:59 💻 Memory: 31865MB    \n2025-03-05 11:39:59 💻 Kernel: 6.12.11-200.fc41.x86_64    \n2025-03-05 11:39:59 💻 Linux distribution: Fedora Linux 41 (Workstation Edition)    \n2025-03-05 11:39:59 💻 Virtual machine: no    \n2025-03-05 11:39:59 📦 Highest known block at #0    \n2025-03-05 11:39:59 〽️ Prometheus exporter started at 127.0.0.1:9615    \n2025-03-05 11:39:59 Running JSON-RPC server: addr=127.0.0.1:9944, allowed origins=[\"*\"]    \n2025-03-05 11:39:59 🏁 CPU score: 1.36 GiBs    \n2025-03-05 11:39:59 🏁 Memory score: 22.37 GiBs    \n2025-03-05 11:39:59 🏁 Disk score (seq. writes): 6.14 GiBs    \n2025-03-05 11:39:59 🏁 Disk score (rand. writes): 2.85 GiBs    \n2025-03-05 11:39:59 👶 Starting BABE Authorship worker    \n2025-03-05 11:39:59 👾 Transaction State RPC is disabled.    \n2025-03-05 11:40:00 🙌 Starting consensus session on top of parent 0x61c9895168e742c62022ead30858a478820596c5be64c127bd8ea1bc97787794    \n2025-03-05 11:40:00 🎁 Prepared block for proposing at 1 (2 ms) [hash: 0x9dc9d52f64711be9e75b382877daf7ea6dbd5cb86e0db0819de49c58fafe0470; parent_hash: 0x61c9…7794; extrinsics (2): [0x1adc…1873, 0x92cd…f218]    \n2025-03-05 11:40:00 🔖 Pre-sealed block for proposal at 1. Hash now 0x34eab3565337a7370d4320aac02f7e3a3c14a440585bf029f871845f116a8810, previously 0x9dc9d52f64711be9e75b382877daf7ea6dbd5cb86e0db0819de49c58fafe0470.    \n2025-03-05 11:40:00 👶 New epoch 0 launching at block 0x34ea…8810 (block slot 87058560 \u003e= start slot 87058560).    \n2025-03-05 11:40:00 👶 Next epoch starts at slot 87059280    \n2025-03-05 11:40:00 ✨ Imported #1 (0x34ea…8810)    \n2025-03-05 11:40:04 💤 Idle (0 peers), best: #1 (0x34ea…8810), finalized #0 (0x61c9…7794), ⬇ 0 ⬆ 0   \n```\n\n### Supported Chains\n#### Development\nA development chain is typically used for testing and development purposes.\n```bash\ncargo run --locked --release -- --dev\n```\n\n#### Testnet Turing\n```bash\ncargo run --locked --release -- --chain turing\n```\n\n#### Mainnet\n```bash\ncargo run --locked --release -- --chain mainnet\n```\n\n### Docker/Podman\nTo run the Avail Node using Docker (Podman works as well), follow these steps:\n\n```bash\n# Build the Docker image for the Avail Node:\ndocker build -t availnode -f ./dockerfiles/avail-node.Dockerfile .\n\n# Create an output directory. Here the node's data will be stored.\nmkdir output\n\n# Run the Avail Node container:\ndocker run --rm -p 30333:30333 -p 9944:9944 -v ./output:/output availnode\n# For SELinux\ndocker run --rm -p 30333:30333 -p 9944:9944 -v ./output:/output:z availnode\n```\n\n#### Running Dev Chain\nThe following instructions describe how to run a development chain using Docker (Podman works as well). A development chain is typically used for testing and development purposes.\n\n```bash\n# Build the Docker image for the Avail Node:\ndocker build -t availnode -f ./dockerfiles/avail-node.Dockerfile .\n\n# Create an output directory. Here the node's data will be stored.\nmkdir output\n\n# Run the Avail Node container:\ndocker run --rm -p 30333:30333 -p 9944:9944 -v ./output:/output availnode --dev --rpc-methods=unsafe --unsafe-rpc-external --rpc-cors=all\n# For SELinux\ndocker run --rm -p 30333:30333 -p 9944:9944 -v ./output:/output:z availnode --dev --rpc-methods=unsafe --unsafe-rpc-external --rpc-cors=all\n```\n\n## RPCs and Custom Flags\n\n### Kate RPC\nTo enable Kate RPC you need to pass `--enable-kate-rpc` flag when executing the binary.\n`--dev` implies `--enable-kate-rpc`.\n\n```bash\n./avail-node --enable-kate-rpc\n```\n\n### All Custom Flags\n```txt\n--enable-kate-rpc\n    Enable Kate RPC\n\n--kate-max-cells-size \u003cKATE_MAX_CELLS_SIZE\u003e\n    The maximum number of cells that can be requested in one go.\n    \n    Max size cannot exceed 10_000\n    \n    [default: 64]\n```\n\n## Run Benchmarks\n### Kate RPC\n```bash\n./avail-node --dev\ndeno run -A ./examples/deno/benchmarks/query_proof.ts \u0026\u0026 deno run -A ./examples/deno/benchmarks/query_rows.ts \u0026\u0026 deno run -A ./examples/deno/benchmarks/query_block_length.ts \u0026\u0026 deno run -A ./examples/deno/benchmarks/query_data_proof.ts\n```\n\n### Header Builder\n```bash\n# Option 1: for time measurement \ncargo bench --bench header_kate_commitment_cri\n# Option 2: for time measurement \ncargo bench --bench header_kate_commitment_divan\n# Option 1: for instructions, cache and main memory hits\ncargo bench --bench header_kate_commitment_iai_callgrind\n# Option 2: for instructions, cache and main memory hits\ncargo bench --bench header_kate_commitment_iai\n```\n\n## Additional Documentation\nFor additional documentation check our [wiki page](https://github.com/availproject/avail/wiki).\nThere you can learn how to:\n- Run Avail Node together with Avail Light Clients\n- Build Avail Node for different Linux flavours\n- Find out what node synchronization options are available\n- Running Avail Benchmarks\n\n## License\n\nThis project contains source files under multiple open source licenses.\n\n- Most of the code is licensed under the Apache License 2.0.\n- Some files that derive from Substrate may be under the GNU General Public License v3.0.\n\nSee the `LICENSE-APACHE2` and `LICENSE-GPL3` files in the repository root for full text. For license details on specific files, check the license header at the top of each source file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favailproject%2Favail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favailproject%2Favail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favailproject%2Favail/lists"}