FluffyLabs / FluffyLabs/typeberry

Implement target/max peer management with scoring system

Open
#534 0 comments 0 reactions 0 assignees View on GitHub
M-networking
Dominant language
TypeScript
Stars
10
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Feature Request

Add support for managing peer connections with configurable target and maximum limits, along with a peer scoring system.

### Requirements

- **Discovery Process**: Attempt to discover as many peers as possible
- **Target Connections**: Connect to the `target` best peers based on their scores
- **Peer Scoring**: Track previously connected peers and maintain scores based on:
- Helpfulness (quality of data provided)
- Reliability (connection stability, response times)
- **Flexible Target**: Allow going over the `target` peer count when beneficial
- **Hard Maximum**: Enforce a `max` limit where:
- Stop accepting any new connections when reached
- Actively disconnect peers with the lowest scores to maintain the limit

### Context

This feature was discussed in PR #452: https://github.com/FluffyLabs/typeberry/pull/452#discussion_r2259395416

Requested by: @tomusdrw

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.