gb-rpc-proxy
v1.0.0
Published
A simple CLI tool to proxy RPC requests and bypass CORS issues
Downloads
10
Readme
gb-rpc-proxy
A simple CLI tool to proxy RPC requests and bypass CORS issues during development.
🎯 Purpose
When developing web applications that interact with blockchain RPC endpoints, you often encounter CORS (Cross-Origin Resource Sharing) issues. This tool acts as a local proxy server that:
- Accepts RPC requests from your frontend application
- Forwards them to the actual RPC endpoint
- Returns the response back to your application
- Handles CORS headers automatically
📦 Installation
Global Installation (Recommended)
npm install -g gb-rpc-proxyLocal Installation
npm install gb-rpc-proxy🚀 Usage
Basic Usage
gb-rpc https://ev-reth-eden-testnet.binarybuilders.services:8545This will start the proxy on http://localhost:8080/rpc
Custom Port
gb-rpc https://your-rpc-endpoint.com:8545 --port 3000
# or
gb-rpc https://your-rpc-endpoint.com:8545 -p 3000WebSocket URLs
gb-rpc wss://eth-mainnet.ws.alchemy.com/v2/YOUR-API-KEYHelp
gb-rpc --help🔧 Usage in Your Application
Once the proxy is running, update your frontend code to use the local proxy URL:
Before (with CORS issues):
const provider = new ethers.JsonRpcProvider(
'https://ev-reth-eden-testnet.binarybuilders.services:8545'
);After (using the proxy):
const provider = new ethers.JsonRpcProvider(
'http://localhost:8080/rpc'
);📋 Endpoints
POST /rpc- Main RPC proxy endpointGET /- Health check endpoint
Health Check Response
{
"status": "ok",
"proxy": "gb-rpc-proxy",
"target": "https://your-rpc-endpoint.com:8545",
"version": "1.0.0"
}🛠️ Development
Clone and Install
git clone <repository-url>
cd simple-rpc-proxy
npm installRun Locally
node cli.js https://your-rpc-endpoint.com:8545Test Locally
npm link
gb-rpc https://your-rpc-endpoint.com:8545📝 Publishing to npm
# Login to npm (first time only)
npm login
# Publish the package
npm publish🔒 Security Notes
- Development Only: This tool is intended for local development. Do not expose it to the internet.
- API Keys: Be careful when using RPC URLs with API keys. They will be visible in the proxy logs.
- CORS: The proxy allows all origins (
*) for maximum compatibility during development.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
MIT
👨💻 Author
Gabriel Barros
🙏 Acknowledgments
Built to simplify blockchain development by removing CORS headaches during local development.
