Go to file
Aniket Prajapati 83e2fc9d12 typescript tests 2023-01-04 19:16:43 +05:30
bench-utils use Option 2023-01-04 17:43:23 +05:30
benches removed lite-client use get_signature_status 2023-01-02 19:08:59 +05:30
src websocket pubsub 2023-01-04 18:51:00 +05:30
tests typescript tests 2023-01-04 19:16:43 +05:30
.gitignore typescript tests 2023-01-04 19:16:43 +05:30
Cargo.lock blockhash 2023-01-04 16:28:25 +05:30
Cargo.toml blockhash 2023-01-04 16:28:25 +05:30
LICENSE Create LICENSE 2022-12-17 16:06:56 +05:30
README.md Update README.md 2022-12-17 16:07:58 +05:30
jest.config.js typescript tests 2023-01-04 19:16:43 +05:30
metrics.csv wip 2023-01-03 15:20:09 +05:30
package.json typescript tests 2023-01-04 19:16:43 +05:30
tsconfig.json typescript tests 2023-01-04 19:16:43 +05:30
yarn.lock typescript tests 2023-01-04 19:16:43 +05:30

README.md

Lite RPC

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

  1. Subscribe to new blocks using blockSubscribe
  2. Subscribing to signatures with pool of rpc servers. (Under development)
  3. Listining 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

$ cargo bench

Find a new file named metrics.csv in the project root.

Copyright (c) 2022 Blockworks Foundation

Licensed under the MIT LICENSE