FuelLabs / fuel-core

Rust full node implementation of the Fuel v2 protocol.
Other
57.96k stars 2.79k forks source link

Interface for client backend #1128

Closed bvrooman closed 1 month ago

bvrooman commented 1 year ago

The Client must be configurable to interface with any backend. The Client communicates with the backends using a backend client. To maximize modularity, we want to introduce an interface (a Rust trait or traits) that define the possible operations (queries, mutations, subscriptions) that the backend supports.

Backend clients will implement this interface, and the Client can choose whichever backend client it desires to use at compile time:

Blocked by:

Acceptance Criteria:

xgreenx commented 1 month ago

All requirements to the database in GraphQL service already use Rust traits, so it is done