Update README.md

This commit is contained in:
Bryan Stitt 2022-03-04 20:59:11 -08:00 committed by GitHub
parent 50d082c944
commit 923c3803cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,8 +1,12 @@
# web3-proxy
quick and dirty proxy for ethereum nodes (or similar)
quick and dirty proxy for ethereum rpcs (or similar)
Signed transactions are sent to the configured private RPC (eden, flashbots, etc.). All other requests are sent to the configured primary RPC (alchemy, moralis, rivet, your own node, or one of many other providers).
```
% cargo run -- --help
cargo run -- --help
```
```
Finished dev [unoptimized + debuginfo] target(s) in 0.04s
Running `target/debug/eth-proxy --help`
Usage: eth-proxy --eth-primary-rpc <eth-primary-rpc> --eth-private-rpc <eth-private-rpc> [--listen-port <listen-port>]
@ -14,5 +18,24 @@ Options:
--eth-private-rpc the private Ethereum RPC server
--listen-port the port to listen on
--help display usage information
```
```
cargo run -- --eth-primary-rpc "https://your.favorite.provider"
```
```
curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' 127.0.0.1:8845/eth
```
## Todo
- [x] simple proxy
- [ ] proper logging
- [ ] load balance between multiple RPC servers
- [ ] support more than just ETH
- [ ] option to disable private rpc and send everything to primary
- [ ] health check nodes by block height
- [ ] measure latency to nodes
- [ ] Dockerfile