[Feature Request]: Multiple celestia accounts can submit blobs via 1 DA Node
Implementation ideas
In order to save costs, users want to host many execution environments on top of 1 DA Node (can be a bridge node) To achieve this, node should have the notion of submitting blobs on behalf of many celestia accounts
Ref:
- https://github.com/celestiaorg/celestia-app/issues/3259
- https://github.com/celestiaorg/celestia-app/issues/3246
Part of https://github.com/celestiaorg/celestia-node/discussions/3022
state.SubmitPayForBlobWithOptions takes a state.PayForBlobOptions struct which has a field KeyName that specifies the name of the key that the CoreAccessor should use when submitting that specific blob.
The signer can be constructed dynamically once the key by the given name is successfully loaded from the keystore as a work-around for the signer not being able to support multiple keys in the meantime.
state.SubmitPayForBlobWithOptions should be exposed via BlobModule as blob.SubmitWithOptions and should propagate the request down to the node in a similar way to blob.Submit.