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_stdand has astdfeature. - 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
uncheckedpaths, 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_versionwhen changing logic
Deployment and Environments¶
- Dev: local network (
--dev). - Testnet:
taler-dev-raw.json, multi-node setup. - Prod:
productionprofile, authority keys, telemetry.
Support¶
- Questions — in repository issues/discussions. Critical vulnerabilities — through private channel.