libp2p / libp2p/go-libp2p

Add a bootstrap service

Open
#410 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind/enhancement
Dominant language
Go
Stars
6.9k
Forks
1.3k
Avg merge
13d 21h
Merged PRs (30d)
1

Description

@florianlenz has written a bootstrap service (https://github.com/florianlenz/go-libp2p-bootstrap) but it needs a bit more review. Once that happens, we should incorporate it into the host itself so that services can *call* into the bootstrapper if they need peers.

My primary motivation is the DHT. Currently, if we have no peers, the DHT simply *fails* to put values. Ideally, it would call into the bootstrap service then try again.

Action items:

* [ ] Review the bootstrap service/interfaces.
* [ ] Figure out how to attach it to the `Host`.

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 by reviewing the external bootstrap service and its interfaces at https://github.com/florianlenz/go-libp2p-bootstrap, then inspect how the Host exposes services and how the DHT handles having no peers. Done means the bootstrapper is attached to the Host and services such as the DHT can call it before retrying peer-dependent work.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.