b1343f9835 | ||
---|---|---|
.github/workflows | ||
bench | ||
benches | ||
migrations | ||
src | ||
tests | ||
.dockerignore | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
Dockerfile | ||
LICENSE | ||
README.md | ||
fly.toml | ||
jest.config.js | ||
package-lock.json | ||
package.json | ||
tsconfig.json | ||
yarn.lock |
README.md
Lite RPC For Solana Blockchain
Submitting a transaction to be executed on the solana blockchain,
requires the client to identify the next few leaders based on the
leader schedule, look up their peering information in gossip and
connect to them via the quic protocol. In order to simplify the
process so it can be triggered from a web browser, most applications
run full validators that forward the transactions according to the
protocol on behalf of the web browser. Running full solana validators
is incredibly resource intensive (>256GB RAM)
, the goal of this
project would be to create a specialized micro-service that allows
to deploy this logic quickly and allows horizontal scalability with
commodity vms.
Confirmation strategies
- Subscribe to new blocks using blockSubscribe
- Subscribing to signatures with pool of rpc servers. (Under development)
- Listening to gossip protocol. (Future roadmap)
Executing
make sure solana-validator
is running in the background with --rpc-pubsub-enable-block-subscription
run using
$ cargo run --release
to know about command line options
$ cargo run --release -- --help
Test and Bench
Make sure both solana-validator
and lite-rpc
is running
test
$ cargo test
bench
$ cd bench and cargo run --release
Find a new file named metrics.csv
in the project root.
Metrics and Postgres
LiteRpc implements a postgres service that can write to a postgres database tables as defined
in ./migrations
env variables
env | purpose |
---|---|
CA_PEM_B64 |
Base64 encoded ca.pem |
CLIENT_PKS_B64 |
Base64 encoded client.pks |
CLIENT_PKS_PASS |
Password to client.pks |
PG_CONFIG |
Postgres Connection Config |
License & Copyright
Copyright (c) 2022 Blockworks Foundation
Licensed under the MIT LICENSE