Files
hub-monorepo/protobufs
Cassandra Heart e5a8611498 feat: support bulk message RPC (#2313)
## Why is this change needed?

Reconciliation of messages historically from off-hub sources is achieved
via `submitMessage`, which incurs a performance penalty when many of
these calls are made in rapid succession. This change introduces a new
`submitBulkMessages` RPC which allows many of the to-be reconciled
messages to be submitted at once and handle via the more efficient rust
`mergeMany` underlying call.

## 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)
- [x] 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.

<!-- start pr-codex -->

---

## PR-Codex overview
This PR adds a new gRPC method `SubmitBulkMessages` for submitting
multiple messages at once and updates related proto files and service
implementations.

### Detailed summary
- Added `SubmitBulkMessages` gRPC method
- Defined new message types: `SubmitBulkMessagesRequest`,
`MessageError`, `BulkMessageResponse`, `SubmitBulkMessagesResponse`
- Updated service implementations and proto files
- Implemented server-side logic for `SubmitBulkMessages`
- Added encoding and decoding functions for new message types

> The following files were skipped due to too many changes:
`packages/hub-web/src/generated/request_response.ts`,
`packages/hub-nodejs/src/generated/request_response.ts`,
`packages/core/src/protobufs/generated/request_response.ts`

>  Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`

<!-- end pr-codex -->
2024-09-17 01:14:14 -05:00
..

@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/core
  • packages/hub-nodejs
  • packages/hub-web

Generate Bindings

Coming soon

Docs

Docs for the protobufs is under ../apps/hubble/www/docs/docs