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
Dependency in
runtime/Cargo.toml
- See
partner-pallets.html, section "Adding dependency".
Implementing
Config in runtime/src/lib.rs
- Define constants/traits and
WeightInfo.
Including in
construct_runtime!
- Unique pallet index, no conflicts.
Genesis (if needed)
- Initialization in
node/src/chain_spec.rs.
Runtime API / RPC (optional)
- Add
runtime-api and server RPC in node/src/rpc.rs.
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.