Getting Started
Taler Blockchain Node Project Documentation
Core Documentation
Project Overview - Architecture, runtime composition, consensus
Node Deployment - Installation, build, launch, operations
Partner Pallet Integration - Adding external pallets
Detailed Staking Pallet Analysis
Complete Staking Pallet Analysis - Comprehensive analysis of mod.rs and impls.rs
Detailed Function Analysis - Detailed description of key functions
Architecture Diagram - Visualization of structure and data flows
Technical Documentation
Rust Setup - Rust installation and dependencies
Overview
Key Features
Architecture
Substrate Node: Full-featured node with CLI, RPC, chain-spec
Custom Runtime: "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: Token emission control
Flexible Rewards: Flexible reward system with different recipients
Technical Features
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
# See rust-setup.html for detailed instructions rustup default stable rustup update rustup target add wasm32-unknown-unknown --toolchain nightly
2. Build the Project
cargo build --release
3. Start Dev Network
./target/release/taler-node --dev -lruntime=debug
4. Connect to Polkadot.js Apps
Open Polkadot.js Apps and connect to ws://localhost:9944
Project Structure
Core Components
Staking Pallet
Standard Staking: Basic staking with fixed percentages
Vivid Staking: Additional percentages for months of locking
Validator Management: Validator management
Nominator System: Nominator system
Reward Distribution: Reward distribution
Session Management
Era Planning: Era planning
Session Rotation: Session rotation
Validator Selection: Validator selection
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 Pallets
See Partner Pallet Integration for detailed instructions.
Staking Modifications
See Detailed Staking Pallet Analysis for understanding the architecture.
Testing
# Run tests cargo test # Benchmarking cargo run --release --features runtime-benchmarks -- benchmark pallet --pallet pallet_staking --extrinsic '*' --steps 20 --repeat 10
Support
For questions and suggestions, create issues in the repository or contact the development team.
License
The project uses Apache 2.0 license. See LICENSE for details.