Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revisit Kademlia settings #185

Open
ryardley opened this issue Nov 25, 2024 · 1 comment
Open

Revisit Kademlia settings #185

ryardley opened this issue Nov 25, 2024 · 1 comment
Labels
chore Ciphernode Related to the ciphernode package

Comments

@ryardley
Copy link
Contributor

          _:bulb: Codebase verification_

Kademlia implementation needs additional configuration for production use

The current Kademlia implementation uses basic configuration with:

  • Default memory store without custom configuration
  • No explicit bootstrap nodes
  • No custom K-bucket or replication parameters
  • Basic event handling that only logs events

For a production environment, you should:

  • Configure bootstrap nodes for initial peer discovery
  • Set appropriate K-bucket size and replication factor
  • Implement proper error handling for Kademlia events
  • Consider using a persistent store instead of MemoryStore for better reliability
🔗 Analysis chain

Verify Kademlia configuration requirements

The addition of Kademlia for peer discovery is a significant change. Ensure all necessary features and dependencies are included for proper Kademlia DHT functionality.

Let's verify the Kademlia configuration:

Consider documenting the Kademlia configuration approach, especially regarding:

  • Bootstrap nodes setup
  • K-bucket size configuration
  • Replication parameters
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for Kademlia configuration and bootstrap nodes
rg -l 'KademliaConfig|kad::Config'

# Look for DHT-related code
rg -l 'dht::Behaviour|KademliaBehaviour'

Length of output: 123


Script:

#!/bin/bash
# Let's examine the Kademlia configuration in network_peer.rs
rg -A 10 'Kademlia|kad::' packages/ciphernode/net/src/network_peer.rs

# Check for any Kademlia protocol settings or bootstrap nodes
rg -A 5 'bootstrap|k_bucket|replication' packages/ciphernode/net/src/network_peer.rs

# Look for any Kademlia-related tests or examples
fd -e rs -e toml . | xargs rg 'kad::' -A 5

Length of output: 2063

Originally posted by @coderabbitai[bot] in #184 (comment)

@ryardley
Copy link
Contributor Author

This was a coderabbit suggestion that was too big for a PR. It is low priority at this stage but auditing these settings might be useful

@ryardley ryardley added chore Ciphernode Related to the ciphernode package labels Dec 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Ciphernode Related to the ciphernode package
Projects
None yet
Development

No branches or pull requests

1 participant