availproject/avail
Fork: 539 Star: 776 (更新于 2024-11-30 10:24:21)
license: 暂无
Language: Rust .
最后发布版本: v2.2.5.1 ( 2024-10-16 14:24:40)
Avail Node
Official Client for the Avail blockchain
Running Avail Node
Manually
To manually run the Avail Node, you'll need to have the following dependencies installed:
After ensuring you have the dependencies installed, you can run the Avail Node using the following command:
mkdir -p output
cargo run --locked --release -- --chain mainnet -d ./output
This command compiles and runs the Avail Node connected to the Mainnet Network.
2024-03-05 12:31:25 Avail Node
2024-03-05 12:31:25 ✌️ version 2.0.0-7d6ed7f7141
2024-03-05 12:31:25 ❤️ by Avail Team, 2017-2024
2024-03-05 12:31:25 📋 Chain specification: Avail Development Network
2024-03-05 12:31:25 🏷 Node name: Alice
2024-03-05 12:31:25 👤 Role: AUTHORITY
2024-03-05 12:31:25 💾 Database: ParityDb at /tmp/substrateecX1Gm/chains/avail_development_network/paritydb/full
2024-03-05 12:31:27 🔨 Initializing Genesis block/state (state: 0x7d28…a6c8, header-hash: 0x1074…234a)
2024-03-05 12:31:27 👴 Loading GRANDPA authority set from genesis on what appears to be first startup.
2024-03-05 12:31:28 👶 Creating empty BABE epoch changes on what appears to be first startup.
2024-03-05 12:31:28 🏷 Local node identity is: 12D3KooWQDpM9w2zcvUaJS89KVAEdXsDFcBrTtc8awHGusRwSCEr
2024-03-05 12:31:28 Prometheus metrics extended with avail metrics
2024-03-05 12:31:28 💻 Operating system: linux
2024-03-05 12:31:28 💻 CPU architecture: x86_64
2024-03-05 12:31:28 💻 Target environment: gnu
2024-03-05 12:31:28 💻 CPU: 13th Gen Intel(R) Core(TM) i7-13700K
2024-03-05 12:31:28 💻 CPU cores: 16
2024-03-05 12:31:28 💻 Memory: 31873MB
2024-03-05 12:31:28 💻 Kernel: 6.7.6-200.fc39.x86_64
2024-03-05 12:31:28 💻 Linux distribution: Fedora Linux 39 (Workstation Edition)
2024-03-05 12:31:28 💻 Virtual machine: no
2024-03-05 12:31:28 📦 Highest known block at #0
2024-03-05 12:31:28 〽️ Prometheus exporter started at 127.0.0.1:9615
2024-03-05 12:31:28 Running JSON-RPC server: addr=127.0.0.1:9944, allowed origins=["http://localhost:*", "http://127.0.0.1:*", "https://localhost:*", "https://127.0.0.1:*", "https://polkadot.js.org"]
2024-03-05 12:31:28 🏁 CPU score: 1.65 GiBs
2024-03-05 12:31:28 🏁 Memory score: 22.52 GiBs
2024-03-05 12:31:28 🏁 Disk score (seq. writes): 7.00 GiBs
2024-03-05 12:31:28 🏁 Disk score (rand. writes): 2.77 GiBs
2024-03-05 12:31:28 👶 Starting BABE Authorship worker
2024-03-05 12:31:33 💤 Idle (0 peers), best: #0 (0x1074…234), finalized #0 (0x1074…234a), ⬇ 0 ⬆ 0
2024-03-05 12:31:38 💤 Idle (0 peers), best: #0 (0x1074…234a), finalized #0 (0x1074…234a), ⬇ 0 ⬆ 0
Supported Chains
Development
A development chain is typically used for testing and development purposes.
cargo run --locked --release -- --dev
Testnet Turing
cargo run --locked --release -- --chain turing
Mainnet
cargo run --locked --release -- --chain mainnet
Docker
To run the Avail Node using Docker, follow these steps:
# Build the Docker image for the Avail Node:
docker build -t availnode -f ./dockerfiles/avail-node.Dockerfile .
# Create an output directory. Here the node's data will be stored.
mkdir output
# Run the Avail Node container:
docker run --rm -p 30333:30333 -p 9944:9944 -v ./output:/output availnode
# For SELinux
docker run --rm -p 30333:30333 -p 9944:9944 -v ./output:/output:z availnode
Running Dev Chain
There are instructions for running a development chain using Docker. A development chain is typically used for testing and development purposes.
# Build the Docker image for the Avail Node:
docker build -t availnode -f ./dockerfiles/avail-node.Dockerfile .
# Create an output directory. Here the node's data will be stored.
mkdir output
# Run the Avail Node container:
docker run --rm -p 30333:30333 -p 9944:9944 -v ./output:/output availnode --dev --rpc-methods=unsafe --unsafe-rpc-external --rpc-cors=all
# For SELinux
docker run --rm -p 30333:30333 -p 9944:9944 -v ./output:/output:z availnode --dev --rpc-methods=unsafe --unsafe-rpc-external --rpc-cors=all
Podman
To run the Avail Node using Docker, follow these steps:
# Build the Docker image for the Avail Node:
podman build -t availnode -f ./dockerfiles/avail-node.Dockerfile .
# Create an output directory. Here the node's data will be stored.
mkdir output
# Run the Avail Node container:
podman run --rm -p 30333:30333 -p 9944:9944 -v ./output:/output availnode
# For SELinux
podman run --rm -p 30333:30333 -p 9944:9944 -v ./output:/output:z availnode
Running Dev Chain
There are instructions for running a development chain using Podman. A development chain is typically used for testing and development purposes.
# Build the Docker image for the Avail Node:
podman build -t availnode -f ./dockerfiles/avail-node.Dockerfile .
# Create an output directory. Here the node's data will be stored.
mkdir output
# Run the Avail Node container:
podman run --rm -p 30333:30333 -p 9944:9944 -v ./output:/output availnode --dev --rpc-methods=unsafe --unsafe-rpc-external --rpc-cors=all
# For SELinux
podman run --rm -p 30333:30333 -p 9944:9944 -v ./output:/output:z availnode --dev --rpc-methods=unsafe --unsafe-rpc-external --rpc-cors=all
Kate RPC
To enable Kate RPC you need to pass --enable-kate-rpc
flag when executing the binary.
--dev
implies --enable-kate-rpc
.
./avail-node --enable-kate-rpc
All Custom Flags
--enable-kate-rpc
Enable Kate RPC
--kate-max-cells-size <KATE_MAX_CELLS_SIZE>
The maximum number of cells that can be requested in one go.
Max size cannot exceed 10_000
[default: 64]
Run Benchmarks
Kate RPC
./avail-node --dev
deno run -A ./examples/deno/benchmarks/query_proof.ts && deno run -A ./examples/deno/benchmarks/query_rows.ts && deno run -A ./examples/deno/benchmarks/query_block_length.ts && deno run -A ./examples/deno/benchmarks/query_data_proof.ts
Header Builder
# Option 1: for time measurement
cargo bench --bench header_kate_commitment_cri
# Option 2: for time measurement
cargo bench --bench header_kate_commitment_divan
# Option 1: for instructions, cache and main memory hits
cargo bench --bench header_kate_commitment_iai_callgrind
# Option 2: for instructions, cache and main memory hits
cargo bench --bench header_kate_commitment_iai
Additional Documentation
For additional documentation check our wiki page. There you can learn how to:
- Run Avail Node together with Avail Light Clients
- Build Avail Node for different Linux flavours
- Find out what node synchronization options are available
- Running Avail Benchmarks
Interact with the chain
You can find on this repository many example on how to interact with any avail chain.
- In the avail-js folder, you will find our wrapper for polkadot-js including multiple helpers.
- The example folder inside avail-js contains some examples using node-js and an example web app to setup the extension.
- In the avail-subxt folder, you will find our fork of subxt with some example that are moved to e2e folder.
- In the examples folders you will find examples for:
- Deno examples
- Go examples
最近版本更新:(数据更新于 2024-10-17 07:04:24)
2024-10-16 14:24:40 v2.2.5.1
2024-10-03 23:38:40 v2.2.5.1-rc1
2024-08-28 16:39:58 v2.2.5.0
2024-08-26 17:19:50 v2.2.5.0-rc3
2024-08-08 00:30:08 v2.2.5.0-rc1
2024-07-23 22:01:44 v2.2.4.2
2024-07-23 16:39:01 v2.2.4.1
2024-07-04 06:13:13 v2.2.4.1-rc1
2024-06-20 18:42:04 v2.2.4.0-rc1
2024-06-04 15:43:56 v2.2.3.0-rc1
availproject/avail同语言 Rust最近更新仓库
2024-12-22 08:48:41 lapce/lapce
2024-12-19 20:41:09 tw93/Pake
2024-12-19 19:31:32 dashpay/platform
2024-12-18 10:31:25 DioxusLabs/dioxus
2024-12-17 17:18:34 lanyeeee/jmcomic-downloader
2024-12-16 23:19:51 meilisearch/meilisearch