Module reputation

Module reputation 

Source
Expand description

Peer reputation system for tracking and scoring peer behavior

This module provides a comprehensive reputation system that tracks peer behavior over time and calculates reputation scores based on various factors including:

  • Transfer success/failure rates
  • Response times and latency
  • Protocol violations
  • Uptime and reliability
  • Historical behavior patterns

§Examples

use ipfrs_network::reputation::{ReputationManager, ReputationConfig};
use libp2p::PeerId;

let config = ReputationConfig::default();
let mut manager = ReputationManager::new(config.clone());

// Track successful interaction
let peer_id = PeerId::random();
manager.record_successful_transfer(&peer_id, 1024);
manager.record_low_latency(&peer_id, 50);

// Get reputation score
if let Some(score) = manager.get_reputation(&peer_id) {
    println!("Peer reputation: {:.2}", score.overall_score(&config));
}

// Check if peer is trusted
assert!(manager.is_trusted(&peer_id));

Structs§

ReputationConfig
Configuration for the reputation system
ReputationManager
Reputation manager for tracking peer reputations
ReputationScore
Reputation score for a peer
ReputationStats
Statistics about reputation tracking

Enums§

ReputationEvent
Reputation event types