Taler Blockchain Node Docs
project
Main docs
Project Overview - Architecture, Runtime Composition, Consensus
Node Deployment - Installation, assembly, launch, operation
Partner Pallet Integration - Adding external pallets
Detailed docs
Comprehensive Analysis of Staking Pallet - In-depth analysis of mod.rs and impls.rs
Detailed Function Analysis - Thorough description of key functions
Architectural Diagram - Visualization of structure and data flows
Technical Documentation
Rust setup Installing Rust and dependencies
Overview
Key Features
Architecture
Substrate Node: Full node with CLI, RPC, chain-spec
Custom Runtime: The "taler" runtime with a set of pallets
Modified Staking: Custom staking pallet with vivid functionality
Consensus: BABE + GRANDPA for block production and finalization
Economic Model
Standard Staking: Basic staking with fixed percentages
Vivid Staking: Additional percentages for long-term locking
Issuance Limits: Control over token issuance
Flexible Rewards: Flexible rewards system with various recipients
Technical Specifications
SS58 Prefix: 10960 for addresses
Storage Optimization: Efficient storage algorithms
Election Provider: NPoS validator elections
Runtime API: External interfaces for integration
Quick Start
1. Install Dependencies
#docs/rust-setup.md for detailed instructions
rustup default stable
rustup update
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup default stable
rustup update
rustup target add wasm32-unknown-unknown --toolchain nightly
2. Build the Project
cargo build --release
3. Launch Dev Network
./target/release/taler-node --dev -lruntime=debug
4. Connection to Polkadot.js Apps
Main Components
Staking Pallet
Standard Staking: Basic staking with fixed percentages
Vivid Staking: Additional percentages for months of locking
Validator Management: Managing validators
Nominator System: Nominator system
Reward Distribution: Reward distribution
Session Management
Era Planning: Planning eras
Session Rotation: Session rotation
Validator Selection: Selecting validators
Election Provider: Election provider
Runtime API
Staking Interface: Staking interface
Election Provider: Election provider
Session Manager: Session manager
External APIs: External APIs
Development
Adding New Palettes
See Partner pallet integration for detailed instructions.
Modifying Staking
See detailed analysis of the Staking pallet for understanding the architecture.
Testing
# Running tests
cargo test
# Benchmarking
cargo run --release --features runtime-benchmarks -- benchmark pallet --pallet pallet_staking --extrinsic '*' --steps 20 --repeat 10
cargo test
# Benchmarking
cargo run --release --features runtime-benchmarks -- benchmark pallet --pallet pallet_staking --extrinsic '*' --steps 20 --repeat 10
Support
For questions and suggestions, please create issues in the repository or contact the development team.