Skip to content

Partner Onboarding

This document describes how partners can integrate their own FRAME pallets and/or business logic into the taler runtime, pass quality checks and prepare for release.

Prerequisites

  • The pallet repository supports no_std and has a std feature.
  • Weights and benchmarking are implemented or ready for generation.
  • License is compatible (Apache-2.0/Permissive).

Integration Steps

1) Dependency in runtime/Cargo.toml - See partner-pallets.md, section "Adding dependency". 2) Implementing Config in runtime/src/lib.rs - Define constants/traits and WeightInfo. 3) Including in construct_runtime! - Unique pallet index, no conflicts. 4) Genesis (if needed) - Initialization in node/src/chain_spec.rs. 5) Runtime API / RPC (optional) - Add runtime-api and server RPC in node/src/rpc.rs. 6) Migrations - Implement OnRuntimeUpgrade, include in runtime migrations aggregator.

Quality Requirements

  • Tests: unit/integration (cargo test), negative scenarios, storage invariants.
  • Weights: current for target profile; benchmarks are repeatable.
  • Security: no unsafe unchecked paths, Origin/Permissions validation.
  • Documentation: brief pallet README and list of extrinsics with events/errors.

Review Process

  • PR to main repository with checklist:
  • Build cargo build --release
  • Tests cargo test
  • Benchmarks/weights updated
  • Migrations, if required
  • Updated spec_version when changing logic

Deployment and Environments

  • Dev: local network (--dev).
  • Testnet: taler-dev-raw.json, multi-node setup.
  • Prod: production profile, authority keys, telemetry.

Support

  • Questions — in repository issues/discussions. Critical vulnerabilities — through private channel.