mirror of
https://github.com/farcasterxyz/hub-monorepo.git
synced 2026-01-25 04:57:57 -05:00
## Motivation This endpoint was added to get an approximate list of all peers on the network ## Change Summary - Added new Proto definitions for endpoint - New accessor method for current peers - New RPC endpoint for current peers `/v1/peerList` ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [ ] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [x] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context Response looks like the following: ``` { "contacts": [ { "gossipAddress": { "address": "84.247.175.196", "family": 4, "port": 2282, "dnsName": "" }, "rpcAddress": { "address": "84.247.175.196", "family": 4, "port": 2283, "dnsName": "" }, "excludedHashes": [], "count": 10694067, "hubVersion": "2023.12.27", "network": "FARCASTER_NETWORK_MAINNET", "appVersion": "1.9.2", "timestamp": 1705796040744 }, ... ``` <!-- start pr-codex --> --- ## PR-Codex overview This PR adds a new `currentPeers` API endpoint and related changes to support fetching current peer contacts in the Hub network. ### Detailed summary - Added `currentPeers` RPC endpoint - Implemented API endpoint for getting a list of current sync peers - Updated documentation for the new API endpoint - Added protobuf message for `ContactInfoResponse` - Updated HTTP server to handle `currentPeers` API call - Updated TypeScript files to include `ContactInfoResponse` and related functions > The following files were skipped due to too many changes: `packages/core/src/protobufs/generated/request_response.ts`, `packages/hub-nodejs/src/generated/rpc.ts`, `packages/hub-web/src/generated/rpc.ts`, `packages/hub-web/src/generated/gossip.ts`, `packages/hub-nodejs/src/generated/gossip.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->
@farcaster/protobufs
Specifications for API's and data formats used in Hubble, including both Farcaster protocol types and Hubble specific types.
| Schema | Type Description | Docs |
|---|---|---|
| Message | Types for Farcaster deltas | docs |
| OnChainEvent | Types for Farcaster onchain events | docs |
| HubEvent | Types for hub events | docs |
| RPC | Types for gRPC APIs exposed by Hubs | docs |
| Gossip | Types for gossiping data between Hubs | |
| HubState | Types for for maintaining internal state |
Getting Started
Compiling Protobufs
If you make changes to the protobufs, you will need to run yarn protoc in the following directories to compile and generate the JS files
packages/corepackages/hub-nodejspackages/hub-web
Generate Bindings
Coming soon
Docs
Docs for the protobufs is under ../apps/hubble/www/docs/docs