datahaven/operator
Gonza Montiel 4bdb1d1821
fix: 🔧 align BabeDataGetter implementation for all runtimes (#152)
Based on [this
comment](https://github.com/datahaven-xyz/datahaven/pull/148#pullrequestreview-3195433668),
I took the SH
[implementation](3e5f774c64/runtime/solochain-evm/src/configs/mod.rs (L1124))
of the `BabeDataGetter` and aligned all three runtimes with this
implementation.
2025-09-08 21:02:27 +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 chore: ♻️ Update project dependencies (#147) 2025-09-04 00:17:11 +02:00
pallets test: init benchmark infra (#110) 2025-08-06 13:44:42 +02:00
precompiles feat: Add Moonbeam CallPermit precompile (#140) 2025-09-07 15:00:37 +02:00
primitives test: init benchmark infra (#110) 2025-08-06 13:44:42 +02:00
runtime fix: 🔧 align BabeDataGetter implementation for all runtimes (#152) 2025-09-08 21:02:27 +02:00
scripts feat: Implement Moonbeam-style OpenGov governance (#131) 2025-09-02 22:46:35 +02:00
test Fix: 🏗️ Message encoding / decoding (#113) 2025-07-16 07:38:58 +00: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 feat: Add Moonbeam CallPermit precompile (#140) 2025-09-07 15:00:37 +02:00
Cargo.toml feat: Add Moonbeam CallPermit precompile (#140) 2025-09-07 15:00:37 +02:00
Dockerfile refactor: 🐳 Improve docker caching (again) (#86) 2025-05-27 16:14:15 +00: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 test: New CLI functions (#84) 2025-05-22 20:02:12 +00: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