datahaven/operator
2025-09-18 00:43:47 +02:00
..
.cargo refactor: 🐳 Improve docker caching (again) (#86) 2025-05-27 16:14:15 +00:00
benchmarking test: init benchmark infra (#110) 2025-08-06 13:44:42 +02:00
node fix: allow to start the indexer even without any provider set (#170) 2025-09-17 17:09:12 +02:00
pallets test: init benchmark infra (#110) 2025-08-06 13:44:42 +02:00
precompiles feat: Add ERC20 Balances precompile (#150) 2025-09-12 08:57:44 +00:00
primitives test: init benchmark infra (#110) 2025-08-06 13:44:42 +02:00
runtime fix: Update testing ChainForkVersions (#167) 2025-09-16 23:27:38 +02:00
scripts refactor: cleanup obsolete test folder (#166) 2025-09-17 14:21:55 +02:00
.dockerignore refactor: 🐳 Improve docker caching (again) (#86) 2025-05-27 16:14:15 +00:00
.gitignore test: Native token transfer e2e tests (#120) 2025-08-22 18:27:14 +02:00
Cargo.lock misc: update SH deps to v0.0.2-alpha tag (#171) 2025-09-17 17:14:50 +02:00
Cargo.toml feat: Implement gh workflow to publish a draft client release (#172) 2025-09-18 00:43:47 +02:00
Dockerfile fix: Update Rust toolchain and Docker build dependencies (#156) 2025-09-11 09:56:14 +02:00
LICENSE build: 🏗️ DataHaven operator setup (#6) 2025-03-17 17:57:14 +01:00
README.md test: init benchmark infra (#110) 2025-08-06 13:44:42 +02:00
rust-toolchain.toml fix: Update Rust toolchain and Docker build dependencies (#156) 2025-09-11 09:56:14 +02:00

DataHaven 🫎

Based on polkadot-sdk-solochain-template

Benchmarking

DataHaven uses runtime benchmarking to generate accurate weight calculations for all pallets. The benchmarking process is automated using frame-omni-bencher.

Requirements

Make sure you have the lastest rust version

  • frame-omni-bencher - Install with: cargo install frame-omni-bencher --profile=production (or cargo install --git https://github.com/paritytech/polkadot-sdk frame-omni-bencher --profile=production --locked)

Running Benchmarks

Execute the benchmarking script from the project root:

# Benchmark all pallets for testnet runtime (default)
./scripts/run-benchmarks.sh

# Benchmark specific runtime
./scripts/run-benchmarks.sh mainnet

# Custom steps and repetitions
./scripts/run-benchmarks.sh testnet 100 50

The script will:

  1. Automatically discover all available pallets
  2. Build the runtime WASM with runtime-benchmarks feature
  3. Generate weight files in runtime/{runtime}/src/weights/
  4. Provide a summary of successful and failed benchmarks

Script Parameters

  • runtime: Runtime to benchmark (testnet, stagenet, mainnet). Default: testnet
  • steps: Number of steps for benchmarking. Default: 50
  • repeat: Number of repetitions. Default: 20

Zombienet testing

First, install zombienet.

To spawn a local solo chain with four validators and BABE finality, run:

zombienet -p native spawn test/config/zombie-datahaven-local.toml