Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add BuilderApi multiplexer #15

Open
ltitanb opened this issue Jul 16, 2024 · 2 comments
Open

Add BuilderApi multiplexer #15

ltitanb opened this issue Jul 16, 2024 · 2 comments
Labels
pbs Pbs module / Builder API

Comments

@ltitanb
Copy link
Collaborator

ltitanb commented Jul 16, 2024

We should support use cases where users need to send some requests in the builder API to different sidecars based on the validator pubkey, which allows users to run a single beacon client (which generally support a single BuilderAPI endpoint).

In practice this should be a mapping of Array<BlsPublicKey> -> PbsModuleConfig in the main config file, so that users can customize eg. relays and different images to run.

@ltitanb ltitanb added enhancement pbs Pbs module / Builder API labels Jul 16, 2024
@aimxhaisse
Copy link
Contributor

Bunch of ideas for more advanced filtering:

  • by lido operator id (i.e: commit-boost would fetch keys from the Lido smart-contract) ; this is useful because Lido has as a whitelisted set of relayers to use,
  • by SSV operator id (i.e: commit-boost would fetch keys from the SSV smart-contract),
  • by withdrawal credentials (i.e: to have a specific customer target specific relays).

Tricky part of this is: how to keep the mapping updated, for instance, if a new key is added to a setup ; this implies to have a way to automatically reload the mapping in real-time (or periodically restart commit-boost and accept a lag).

@aimxhaisse
Copy link
Contributor

Example of such a "hypothetical" config:

      strategies:
        - name: default
          relays: ['holesky-titan', 'holesky-bloxroute', 'holesky-aestus', 'holesky-eden', 'holesky-ultrasound']
        - name: lido-holesky
          relays: ['holesky-flashbots']
          filters:
            lido_operators: [8]
        - name: lido-ssv
          relays: ['holesky-titan', 'holesky-flashbots', 'holesky-eden']
          filters:
            ssv_operators: [199]
        - name: primev
          relays: ['holesky-titan']
          delaying: False
          filters:
            public_keys:
              - 88f51c0193d5b3f0ff408ea82e57ba9d1c19206b6afa7a55fde4580f326cc055fb407fdf37bdb22bf6ddf533ec218e7d
              - 88f51e63fb82120c9a405b4cb03e45d922a91884fcaec3ef2426eecf25c70695dca8806731a082b746fe4673a28b2155
              - 88f56fa47d863ecc1050eaa9eae86bbc1987490d8b7a66cf9bf69727aea603b3ca90bdbb2d79de8411cea280838f6800
              - 88f598d3ff3a1c9659f795d851c79dafd6c3bac12f55f87221da3127059b4223bb0398ee599802351ab95134baa7b318
              - 88f5a12d7570bcaab54a3b6e477cabfad247158c70a8eb286974ce6e01f2b68f785092ddcea185510f16dc8a29c64e5b
              - 88f5a38897fe6c0f423ea19c3d28460e104e8d73de4220581f7842ab34907f4bf7109c3a1e1c6cf9f85a915c70cea5be

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pbs Pbs module / Builder API
Projects
None yet
Development

No branches or pull requests

2 participants