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 support for grpc-web proxy for better browser clients integration #4105

Open
zvolin opened this issue Dec 10, 2024 · 0 comments
Open

Add support for grpc-web proxy for better browser clients integration #4105

zvolin opened this issue Dec 10, 2024 · 0 comments
Labels
enhancement New feature or request external

Comments

@zvolin
Copy link

zvolin commented Dec 10, 2024

Summary

I'm working on a wasm support for celestia-app grpc client. The core idea is to use a grpc-web client and a grpc-web proxy, which will translate requests from browser to regular grpc requests. Everything seems to work using the go grpcwebproxy server as a bridge between a browser and celestia-app.

This issue proposes integrating a grpc-web proxy directly into the celestia-app node.

Problem Definition

While running celestia-node or submitting transactions using bare grpc connection to celestia-app, a user must select a validator node it trusts. Browser clients will instead need to select the grpc-web proxy that they trust, and they may not be able to control which validator is selected under the hood by grpc-web proxy server. Integrating the proxy directly in celestia-app node would allow browser clients to connect to validators directly and keep a single trust point instead of relying on centralized 3rd party hosted proxies.

Proposal

Expose a new grpc-web proxy endpoint in celestia-app (may be optional, no hard opinion about defaults) that will proxy traffic to grpc endpoint. The proxy server I used for testing in lumina is written in Go so maybe it can be used as a module.

@zvolin zvolin added the enhancement New feature or request label Dec 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request external
Projects
None yet
Development

No branches or pull requests

1 participant