Skip to content

vacp2p/logos-capability-discovery-poc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logos Capability Discovery POC

This is a work in progress for the Logos Capability Discovery POC in go

It follows the structure described in the Logos Capability Discovery RFC.

🧩 Run and Test

1. Initialize the module (only once)

If you haven’t already initialized the module:

go mod init github.com/vacp2p/logos-capability-discovery-poc
go mod tidy

2. Run tests

All functionality for the Logos Capability Discovery POC is implemented and tested inside the ldc package.

To run the full test suite with verbose output:

go test ./lcd -v

Go to lcd/conf.go to change the parameters Run this test to simulate and check results for a large network:

cd lcd
go test -run TestLargeScale_ConfigurableNetwork -v

🧹 Linting

To run Go lint checks using golangci-lint run:

golangci-lint run

This runs all enabled linters and reports issues across the entire codebase.

📘 Want to try the interactive node playground?

See PLAYGROUND.md for a simple guide on running a Registrar, Advertiser, and Discoverer, connecting them, and discovering services.

Assumptions

  • For now we consider every node has just 1 multiaddress to reach
  • Each peer associated with a single service

Acknowledgments

This work builds upon prior research and implementations in the areas of peer-to-peer networking and distributed hash tables. We acknowledge and thank the authors and contributors of the following works:

[0] Kademlia: A Peer-to-Peer Information System Based on the XOR Metric — the foundational paper introducing the Kademlia DHT protocol.

[1] DISC-NG: Robust Service Discovery in the Ethereum Global Network — available at IEEE Xplore.

[2] libp2p Kademlia DHT Specification.

[3] Go Implementation of libp2p Kademlia DHT.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages