Hub Federation (hub-side) #6

Closed
opened 2021-06-15 21:47:38 +02:00 by lyoshenka · 4 comments
lyoshenka commented 2021-06-15 21:47:38 +02:00 (Migrated from github.com)

The goal of hub federation is to allow clients to find out about hubs they don't know about.

  • hub stores it's list of known peers (other hubs) on disk. list starts empty if no hubs are known
  • on startup, load saved peers from disk
  • add grpc endpoint that adds a peer to the list of known peers (and stores it to disk). if the peer is new, the hub also announces itself to the peer so the peer knows about it
  • on startup, hub should announce itself to all known peers
  • add config to disable federation. if set, the peer-adding rpc does nothing and the hub does not announce itself to other peers. but the starting list of seed hubs still lets it know about other hubs.
  • figure out how connecting to other hubs and staying connected works.

do not allow non-LBRY-Inc hubs to peer with us until claim proofs are re-enabled (#2183). this prolly means having federation disabled on hubs by default.

questions

  • does any of the python code need to be brought to Go? (e.g. peer manager, udp announcement)
  • should hubs prune their peer list? how do they detect peers that are offline, peers that are fake, etc?
  • should hubs validate peers somehow?
The goal of hub federation is to allow clients to find out about hubs they don't know about. - [x] hub stores it's list of known peers (other hubs) on disk. list starts empty if no hubs are known - [x] on startup, load saved peers from disk - [x] add grpc endpoint that adds a peer to the list of known peers (and stores it to disk). if the peer is new, the hub also announces itself to the peer so the peer knows about it - [x] on startup, hub should announce itself to all known peers - [x] add config to disable federation. if set, the peer-adding rpc does nothing and the hub does not announce itself to other peers. but the starting list of seed hubs still lets it know about other hubs. - [x] figure out how connecting to other hubs and staying connected works. **do not allow non-LBRY-Inc hubs to peer with us until claim proofs are re-enabled (#2183)**. this prolly means having federation disabled on hubs by default. ## questions - does any of the python code need to be brought to Go? (e.g. peer manager, udp announcement) - should hubs prune their peer list? how do they detect peers that are offline, peers that are fake, etc? - should hubs validate peers somehow?
lyoshenka commented 2021-07-19 20:47:40 +02:00 (Migrated from github.com)

Victor will have the first two checkboxes done before standup on Wednesday

Victor will have the first two checkboxes done before standup on Wednesday
lyoshenka commented 2021-07-19 20:48:35 +02:00 (Migrated from github.com)

The last day to do anything on this is July 30th. After that we're merging whatever's done and switching issues.

The last day to do **anything** on this is July 30th. After that we're merging whatever's done and switching issues.
lyoshenka commented 2021-07-26 22:08:53 +02:00 (Migrated from github.com)

victor didn't do much on this and now he's working with jack to finish the leveldb/reorg work

victor didn't do much on this and now he's working with jack to finish the leveldb/reorg work
jeffreypicard commented 2021-11-25 00:37:32 +01:00 (Migrated from github.com)
https://github.com/lbryio/herald.go/pull/24
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: LBRYCommunity/herald.go#6
No description provided.