libp2p / libp2p/go-libp2p-daemon

DHT validator / selector

Open
#81 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
95
Forks
41
PR merge metrics
No merged PRs in 30d

Description

I am writing the interop tests for the DHT between js and go and I am having an issue with the keys.

Using `js-ipfs` and `go-ipfs` daemon, we are able to put / get any type of keys, while it doesn't seem to be the case with `go-libp2p`. In this context, I think that we should be able to set custom validators/selectors as we are able to do when using the DHT module. Moreover, regarding testing the interop between `get` and `put` will be more complex since we would have to use a valid namespace such as `ipns` and put a valid record.

Example in go tests for custom validators/selectors: [libp2p/go-libp2p-kad-dht/dht_test.go#L51](https://github.com/libp2p/go-libp2p-kad-dht/blob/master/dht_test.go#L51)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the custom validator and selector example in go-libp2p-kad-dht/dht_test.go, then compare it with the daemon's DHT get and put behavior described in the issue. The work is done when custom validators and selectors can be configured for the daemon and the js-ipfs/go-ipfs interoperability tests can exercise valid DHT records.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, javascript
Domain
distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.