Open ghost opened 6 years ago
I will quickly add a few points I raised with @raulk over lunch in Glasgow.
What about just having a go-libp2p-interface package?
Technically, this already exists, in part, in the specs repo, they obviously need further detail and I think the should fill the role of the place to go to figure out what libp2p module to use for different use cases. I believe that placing the concrete go definition of those interfaces in a single repo on serves to separate them further from the code that is the reference implementation for that interface.
At the end of the day, eth maybe vendoring a lot of files but that is the trade-off for the modularity of libp2p which as another user of libp2p (ipfs-cluster), it is super useful knowing what is being used by each package and only having to bring in what is required.
(Raw notes from discussion 8-Oct-2018 @lgierth @raulk @mgoelzer @Kubuxu @vyzo +add yourself)
History
gx --deps
or (gx --tree
)What about pulling interfaces out into an interfaces package?
What about go modules?
Mono repo - would it help downstreams?
Could Ethereum Whisper exclude all non-dotgo files?
go build
so compile process cannot pull in anything that is not a .go*_test.go
Competing libraries on HN:
What about just having a go-libp2p-interface package?
Central location for how to use libp2p for different use case
What is eth's goal?
Short-term actions we could take