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.
If you haven’t already initialized the module:
go mod init github.com/vacp2p/logos-capability-discovery-poc
go mod tidyAll 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 -vGo 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 -vTo run Go lint checks using golangci-lint run:
golangci-lint runThis runs all enabled linters and reports issues across the entire codebase.
See PLAYGROUND.md for a simple guide on running a Registrar, Advertiser, and Discoverer, connecting them, and discovering services.
- For now we consider every node has just 1 multiaddress to reach
- Each peer associated with a single service
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.