-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Solana Drone #387
Solana Drone #387
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking great! This is definitely what I had in mind for solana-drone. And nice seeing tokio in there!
@@ -36,7 +36,7 @@ fn main() { | |||
seed.copy_from_slice(&demo.mint.keypair().public_key_bytes()[..32]); | |||
let rnd = GenKeys::new(seed); | |||
let num_accounts = demo.num_accounts; | |||
let tokens_per_user = 1_000; | |||
let tokens_per_user = 500; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why change this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The mint needs to have some tokens left over to send in the airdrops. There are other ways to create a reserve, but this seemed like the easiest way to do it without changing the current account creation and num_accounts calculations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, cool. Sounds good.
src/bin/drone-demo.rs
Outdated
use tokio_codec::{BytesCodec, Decoder}; | ||
|
||
fn print_usage(program: &str, opts: Options) { | ||
let mut brief = format!("Usage: cat <transaction.log> | {} [options]\n\n", program); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
transaction.log?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Facepalm
src/drone.rs
Outdated
} | ||
|
||
pub fn check_request_count(&mut self) -> bool { | ||
if self.request_current <= self.request_cap { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That if-else is redundant. Can be reduced to:
self.request_current <= self.request_cap
src/bin/drone-demo.rs
Outdated
|
||
let mint_keypair = demo.mint.keypair(); | ||
|
||
let mut drone_addr: SocketAddr = "0.0.0.0:9900".parse().unwrap(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice code :)
src/bin/drone-demo.rs
Outdated
@@ -0,0 +1,161 @@ | |||
extern crate atty; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The name of this module can just be drone.rs
since it's the CLI for the drone module and not a demo of that module's functionality.
src/drone.rs
Outdated
#[derive(Serialize, Deserialize, Debug)] | ||
pub enum DroneRequest { | ||
GetAirdrop { | ||
request_type: DroneRequestType, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about requesting a number of tokens instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@CriesofCarrots, thoughts on this one?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I liked the preset batches because I thought it would make it easier to calculate how long the reserve would last on a public testnet, but I suppose the client demo code could do that instead. If the airdrop request size is variable, do you think it still makes sense to limit by number of requests per time slice?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd prefer the drone govern the number of tokens distributed per time slice. For TPS-benchmark-sized requests, we can either:
- Whitelist certain public keys
- Put those tokens in the genesis block
- Give the mint's key to humans that request it from our humans
src/drone.rs
Outdated
requests_addr.set_port(8003); | ||
let mut drone = Drone::new(keypair, addr, transactions_addr, requests_addr, None, None); | ||
drone.request_current = drone.request_current + 256; | ||
assert!(drone.request_current == 256); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
assert_eq
will give better error messages
src/drone.rs
Outdated
transactions_addr.set_port(8000); | ||
let mut requests_addr = addr.clone(); | ||
requests_addr.set_port(8003); | ||
let mut drone = Drone::new( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add a new_from_server_addr
helper that assumes transactions_addr
with be port + 0 and requests_addr
will be port + 3? Too many 8000/8003 magic numbers in these tests.
CI is using rustfmt from the latest Rust stable
|
How do you recommend client-demo interact with this? Do we need a |
Right now, I envision client-demo using src/drone.rs to create the requests directly and send them to the drone port. But I can see the potential value in a drone-client abstraction at some point in the future, when we build out a fully fledged client API. |
Git-merge makes this unnecessarily difficult to review. Can you |
a1f0ddd
to
b72caa9
Compare
@CriesofCarrots, CI is giving us trouble right now, so I ran this locally. I'm seeing a panic in
|
I am not seeing that failure with the test_send_airdrop on my local machine, although I am getting that error when I try to run the current leader.sh |
Well, my issue with leader.sh was unrelated (I needed to renew my leader.json file on my work network). |
…ing test_send_airdrop)
066af59
to
a639394
Compare
I ran this locally. Tests passing now. And 93% line coverage. 👍 |
only reroute if relayer connected (solana-labs#123) feat: add client tls config (solana-labs#121) remove extra val (solana-labs#129) fix clippy (solana-labs#130) copy all binaries to docker-output (solana-labs#131) Ledger tool halts at slot passed to create-snapshot (solana-labs#118) update program submodule (solana-labs#133) quick fix for tips and clearing old bundles (solana-labs#135) update submodule to new program (solana-labs#136) Improve stake-meta-generator usability (solana-labs#134) pinning submodule head (solana-labs#140) Use BundleAccountLocker when handling tip txs (solana-labs#147) Add metrics for relayer + block engine proxy (solana-labs#149) Build claim-mev in docker (solana-labs#141) Rework bundle receiving and add metrics (solana-labs#152) (solana-labs#154) update submodule + dev files (solana-labs#158) Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (solana-labs#159) update jito-programs submodule (solana-labs#160) Separate MEV tip related workflow (solana-labs#161) Add block builder fee protos (solana-labs#162) fix jito programs (solana-labs#163) update submodule so autosnapshot exits out of ledger tool early (solana-labs#164) Pipe through block builder fee (solana-labs#167) pull in new snapshot code (solana-labs#171) block builder bug (solana-labs#172) Pull in new slack autosnapshot submodule (solana-labs#174) sort stake meta json and use int math (solana-labs#176) add accountsdb conn submod (solana-labs#169) Update tip distribution parameters (solana-labs#177) new submodules (solana-labs#180) Add buildkite link for jito CI (solana-labs#183) Fixed broken links to repositories (solana-labs#184) Changed from ssh to https transfer for clone Seg/update submods (solana-labs#187) fix tests (solana-labs#190) rm geyser submod (solana-labs#192) rm dangling geyser references (solana-labs#193) fix syntax err (solana-labs#195) use deterministic req ids in batch calls (solana-labs#199) update jito-programs revert cargo update Cargo lock update with path fix fix cargo update autosnapshot with block lookback (solana-labs#201) [JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (solana-labs#203) Add logging for sol balance desired (solana-labs#205) * add logging * add logging * update msg * tweak vars update submodule (solana-labs#204) use efficient data structures when calling batch_simulate_bundles (solana-labs#206) [JIT-504] Add low balance check in uploading merkle roots (solana-labs#209) add config to simulate on top of working bank (solana-labs#211) rm frozen bank check simulate_bundle rpc bugfixes (solana-labs#214) rm frozen bank check in simulate_bundle rpc method [JIT-519] Store ClaimStatus address in merkle-root-json (solana-labs#210) * add files * switch to include bump update submodule (solana-labs#217) add amount filter (solana-labs#218) update autosnapshot (solana-labs#222) Print TX error in Bundles (solana-labs#223) add new args to support single relayer and block-engine endpoints (solana-labs#224) point to new jito-programs submod and invoke updated init tda instruction (solana-labs#228) fix clippy errors (solana-labs#230) fix validator start scripts (solana-labs#232) Point README to gitbook (solana-labs#237) use packaged cargo bin to build (solana-labs#239) Add validator identity pubkey to StakeMeta (solana-labs#226) The vote account associated with a validator is not a permanent link, so log the validator identity as well. bugfix: conditionally compile with debug flags (solana-labs#240) Seg/tip distributor master (solana-labs#242) * validate tree nodes * fix unit tests * pr feedback * bump jito-programs submod Simplify bootstrapping (solana-labs#241) * startup without precompile * update spacing * use release mode * spacing fix validation rm validation skip Account for block builder fee when generating excess tip balance (solana-labs#247) Improve docker caching delay constructing claim mev txs (solana-labs#253) fix stake meta tests from bb fee (solana-labs#254) fix tests Buffer bundles that exceed cost model (solana-labs#225) * buffer bundles that exceed cost model clear qos failed bundles buffer if not leader soon (solana-labs#260) update Cargo.lock to correct solana versions in jito-programs submodule (solana-labs#265) fix simulate_bundle client and better error handling (solana-labs#267) update submod (solana-labs#272) Preallocate Bundle Cost (solana-labs#238) fix Dockerfile (solana-labs#278) Fix Tests (solana-labs#279) Fix Tests (solana-labs#281) * fix tests update jito-programs submod (solana-labs#282) add reclaim rent workflow (solana-labs#283) update jito-programs submod fix clippy errs rm wrong assertion and swap out file write fn call (solana-labs#292) Remove security.md (solana-labs#293) demote frequent relayer_stage-stream_error to warn (solana-labs#275) account for case where TDA exists but not allocated (solana-labs#295) implement better retries for tip-distributor workflows (solana-labs#297) limit number of concurrent rpc calls (solana-labs#298) Discard Empty Packet Batches (solana-labs#299) Identity Hotswap (solana-labs#290) small fixes (solana-labs#305) Set backend config from admin rpc (solana-labs#304) Admin Shred Receiver Change (solana-labs#306) Seg/rm bundle UUID (solana-labs#309) Fix github workflow to recursively clone (solana-labs#327) Add recursive checkout for downstream-project-spl.yaml (solana-labs#341) Use cluster info functions for tpu (solana-labs#345) Use git rev-parse for git sha Remove blacklisted tx from message_hash_to_transaction (solana-labs#374) Updates bootstrap and start scripts needed for local dev. (solana-labs#384) Remove Deprecated Cli Args (solana-labs#387) Master Rebase improve simulate_bundle errors and response (solana-labs#404) derive Clone on accountoverrides (solana-labs#416) Add upsert to AccountOverrides (solana-labs#419) update jito-programs (solana-labs#430) [JIT-1661] Faster Autosnapshot (solana-labs#436) Reverts simulate_transaction result calls to upstream (solana-labs#446) Don't unlock accounts in TransactionBatches used during simulation (solana-labs#449) first pass at wiring up jito-plugin (solana-labs#428) [JIT-1713] Fix bundle's blockspace preallocation (solana-labs#489) [JIT-1708] Fix TOC TOU condition for relayer and block engine config (solana-labs#491) [JIT-1710] - Optimize Bundle Consumer Checks (solana-labs#490) Add Blockhash Metrics to Bundle Committer (solana-labs#500) add priority fee ix to mev-claim (solana-labs#520) Update Autosnapshot (solana-labs#548) Run MEV claims + reclaiming rent-exempt amounts in parallel. (solana-labs#582) Update CI (solana-labs#584) - Add recursive submodule checkouts. - Re-add solana-secondary step - More release fixes Fix release process Backports solana-labs#595: correctly initialize account overrides (solana-labs#596) Fix: Ensure set contact info to UDP port instead of QUIC (Backport solana-labs#601 to v1.18) (solana-labs#602) Buffer bundles that exceed processing time and make the allowed processing time longer (solana-labs#610)
only reroute if relayer connected (solana-labs#123) feat: add client tls config (solana-labs#121) remove extra val (solana-labs#129) fix clippy (solana-labs#130) copy all binaries to docker-output (solana-labs#131) Ledger tool halts at slot passed to create-snapshot (solana-labs#118) update program submodule (solana-labs#133) quick fix for tips and clearing old bundles (solana-labs#135) update submodule to new program (solana-labs#136) Improve stake-meta-generator usability (solana-labs#134) pinning submodule head (solana-labs#140) Use BundleAccountLocker when handling tip txs (solana-labs#147) Add metrics for relayer + block engine proxy (solana-labs#149) Build claim-mev in docker (solana-labs#141) Rework bundle receiving and add metrics (solana-labs#152) (solana-labs#154) update submodule + dev files (solana-labs#158) Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (solana-labs#159) update jito-programs submodule (solana-labs#160) Separate MEV tip related workflow (solana-labs#161) Add block builder fee protos (solana-labs#162) fix jito programs (solana-labs#163) update submodule so autosnapshot exits out of ledger tool early (solana-labs#164) Pipe through block builder fee (solana-labs#167) pull in new snapshot code (solana-labs#171) block builder bug (solana-labs#172) Pull in new slack autosnapshot submodule (solana-labs#174) sort stake meta json and use int math (solana-labs#176) add accountsdb conn submod (solana-labs#169) Update tip distribution parameters (solana-labs#177) new submodules (solana-labs#180) Add buildkite link for jito CI (solana-labs#183) Fixed broken links to repositories (solana-labs#184) Changed from ssh to https transfer for clone Seg/update submods (solana-labs#187) fix tests (solana-labs#190) rm geyser submod (solana-labs#192) rm dangling geyser references (solana-labs#193) fix syntax err (solana-labs#195) use deterministic req ids in batch calls (solana-labs#199) update jito-programs revert cargo update Cargo lock update with path fix fix cargo update autosnapshot with block lookback (solana-labs#201) [JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (solana-labs#203) Add logging for sol balance desired (solana-labs#205) * add logging * add logging * update msg * tweak vars update submodule (solana-labs#204) use efficient data structures when calling batch_simulate_bundles (solana-labs#206) [JIT-504] Add low balance check in uploading merkle roots (solana-labs#209) add config to simulate on top of working bank (solana-labs#211) rm frozen bank check simulate_bundle rpc bugfixes (solana-labs#214) rm frozen bank check in simulate_bundle rpc method [JIT-519] Store ClaimStatus address in merkle-root-json (solana-labs#210) * add files * switch to include bump update submodule (solana-labs#217) add amount filter (solana-labs#218) update autosnapshot (solana-labs#222) Print TX error in Bundles (solana-labs#223) add new args to support single relayer and block-engine endpoints (solana-labs#224) point to new jito-programs submod and invoke updated init tda instruction (solana-labs#228) fix clippy errors (solana-labs#230) fix validator start scripts (solana-labs#232) Point README to gitbook (solana-labs#237) use packaged cargo bin to build (solana-labs#239) Add validator identity pubkey to StakeMeta (solana-labs#226) The vote account associated with a validator is not a permanent link, so log the validator identity as well. bugfix: conditionally compile with debug flags (solana-labs#240) Seg/tip distributor master (solana-labs#242) * validate tree nodes * fix unit tests * pr feedback * bump jito-programs submod Simplify bootstrapping (solana-labs#241) * startup without precompile * update spacing * use release mode * spacing fix validation rm validation skip Account for block builder fee when generating excess tip balance (solana-labs#247) Improve docker caching delay constructing claim mev txs (solana-labs#253) fix stake meta tests from bb fee (solana-labs#254) fix tests Buffer bundles that exceed cost model (solana-labs#225) * buffer bundles that exceed cost model clear qos failed bundles buffer if not leader soon (solana-labs#260) update Cargo.lock to correct solana versions in jito-programs submodule (solana-labs#265) fix simulate_bundle client and better error handling (solana-labs#267) update submod (solana-labs#272) Preallocate Bundle Cost (solana-labs#238) fix Dockerfile (solana-labs#278) Fix Tests (solana-labs#279) Fix Tests (solana-labs#281) * fix tests update jito-programs submod (solana-labs#282) add reclaim rent workflow (solana-labs#283) update jito-programs submod fix clippy errs rm wrong assertion and swap out file write fn call (solana-labs#292) Remove security.md (solana-labs#293) demote frequent relayer_stage-stream_error to warn (solana-labs#275) account for case where TDA exists but not allocated (solana-labs#295) implement better retries for tip-distributor workflows (solana-labs#297) limit number of concurrent rpc calls (solana-labs#298) Discard Empty Packet Batches (solana-labs#299) Identity Hotswap (solana-labs#290) small fixes (solana-labs#305) Set backend config from admin rpc (solana-labs#304) Admin Shred Receiver Change (solana-labs#306) Seg/rm bundle UUID (solana-labs#309) Fix github workflow to recursively clone (solana-labs#327) Add recursive checkout for downstream-project-spl.yaml (solana-labs#341) Use cluster info functions for tpu (solana-labs#345) Use git rev-parse for git sha Remove blacklisted tx from message_hash_to_transaction (solana-labs#374) Updates bootstrap and start scripts needed for local dev. (solana-labs#384) Remove Deprecated Cli Args (solana-labs#387) Master Rebase improve simulate_bundle errors and response (solana-labs#404) derive Clone on accountoverrides (solana-labs#416) Add upsert to AccountOverrides (solana-labs#419) update jito-programs (solana-labs#430) [JIT-1661] Faster Autosnapshot (solana-labs#436) Reverts simulate_transaction result calls to upstream (solana-labs#446) Don't unlock accounts in TransactionBatches used during simulation (solana-labs#449) first pass at wiring up jito-plugin (solana-labs#428) [JIT-1713] Fix bundle's blockspace preallocation (solana-labs#489) [JIT-1708] Fix TOC TOU condition for relayer and block engine config (solana-labs#491) [JIT-1710] - Optimize Bundle Consumer Checks (solana-labs#490) Add Blockhash Metrics to Bundle Committer (solana-labs#500) add priority fee ix to mev-claim (solana-labs#520) Update Autosnapshot (solana-labs#548) Run MEV claims + reclaiming rent-exempt amounts in parallel. (solana-labs#582) Update CI (solana-labs#584) - Add recursive submodule checkouts. - Re-add solana-secondary step - More release fixes Fix release process Backports solana-labs#595: correctly initialize account overrides (solana-labs#596) Fix: Ensure set contact info to UDP port instead of QUIC (Backport solana-labs#601 to v1.18) (solana-labs#602) Buffer bundles that exceed processing time and make the allowed processing time longer (solana-labs#610)
only reroute if relayer connected (solana-labs#123) feat: add client tls config (solana-labs#121) remove extra val (solana-labs#129) fix clippy (solana-labs#130) copy all binaries to docker-output (solana-labs#131) Ledger tool halts at slot passed to create-snapshot (solana-labs#118) update program submodule (solana-labs#133) quick fix for tips and clearing old bundles (solana-labs#135) update submodule to new program (solana-labs#136) Improve stake-meta-generator usability (solana-labs#134) pinning submodule head (solana-labs#140) Use BundleAccountLocker when handling tip txs (solana-labs#147) Add metrics for relayer + block engine proxy (solana-labs#149) Build claim-mev in docker (solana-labs#141) Rework bundle receiving and add metrics (solana-labs#152) (solana-labs#154) update submodule + dev files (solana-labs#158) Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (solana-labs#159) update jito-programs submodule (solana-labs#160) Separate MEV tip related workflow (solana-labs#161) Add block builder fee protos (solana-labs#162) fix jito programs (solana-labs#163) update submodule so autosnapshot exits out of ledger tool early (solana-labs#164) Pipe through block builder fee (solana-labs#167) pull in new snapshot code (solana-labs#171) block builder bug (solana-labs#172) Pull in new slack autosnapshot submodule (solana-labs#174) sort stake meta json and use int math (solana-labs#176) add accountsdb conn submod (solana-labs#169) Update tip distribution parameters (solana-labs#177) new submodules (solana-labs#180) Add buildkite link for jito CI (solana-labs#183) Fixed broken links to repositories (solana-labs#184) Changed from ssh to https transfer for clone Seg/update submods (solana-labs#187) fix tests (solana-labs#190) rm geyser submod (solana-labs#192) rm dangling geyser references (solana-labs#193) fix syntax err (solana-labs#195) use deterministic req ids in batch calls (solana-labs#199) update jito-programs revert cargo update Cargo lock update with path fix fix cargo update autosnapshot with block lookback (solana-labs#201) [JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (solana-labs#203) Add logging for sol balance desired (solana-labs#205) * add logging * add logging * update msg * tweak vars update submodule (solana-labs#204) use efficient data structures when calling batch_simulate_bundles (solana-labs#206) [JIT-504] Add low balance check in uploading merkle roots (solana-labs#209) add config to simulate on top of working bank (solana-labs#211) rm frozen bank check simulate_bundle rpc bugfixes (solana-labs#214) rm frozen bank check in simulate_bundle rpc method [JIT-519] Store ClaimStatus address in merkle-root-json (solana-labs#210) * add files * switch to include bump update submodule (solana-labs#217) add amount filter (solana-labs#218) update autosnapshot (solana-labs#222) Print TX error in Bundles (solana-labs#223) add new args to support single relayer and block-engine endpoints (solana-labs#224) point to new jito-programs submod and invoke updated init tda instruction (solana-labs#228) fix clippy errors (solana-labs#230) fix validator start scripts (solana-labs#232) Point README to gitbook (solana-labs#237) use packaged cargo bin to build (solana-labs#239) Add validator identity pubkey to StakeMeta (solana-labs#226) The vote account associated with a validator is not a permanent link, so log the validator identity as well. bugfix: conditionally compile with debug flags (solana-labs#240) Seg/tip distributor master (solana-labs#242) * validate tree nodes * fix unit tests * pr feedback * bump jito-programs submod Simplify bootstrapping (solana-labs#241) * startup without precompile * update spacing * use release mode * spacing fix validation rm validation skip Account for block builder fee when generating excess tip balance (solana-labs#247) Improve docker caching delay constructing claim mev txs (solana-labs#253) fix stake meta tests from bb fee (solana-labs#254) fix tests Buffer bundles that exceed cost model (solana-labs#225) * buffer bundles that exceed cost model clear qos failed bundles buffer if not leader soon (solana-labs#260) update Cargo.lock to correct solana versions in jito-programs submodule (solana-labs#265) fix simulate_bundle client and better error handling (solana-labs#267) update submod (solana-labs#272) Preallocate Bundle Cost (solana-labs#238) fix Dockerfile (solana-labs#278) Fix Tests (solana-labs#279) Fix Tests (solana-labs#281) * fix tests update jito-programs submod (solana-labs#282) add reclaim rent workflow (solana-labs#283) update jito-programs submod fix clippy errs rm wrong assertion and swap out file write fn call (solana-labs#292) Remove security.md (solana-labs#293) demote frequent relayer_stage-stream_error to warn (solana-labs#275) account for case where TDA exists but not allocated (solana-labs#295) implement better retries for tip-distributor workflows (solana-labs#297) limit number of concurrent rpc calls (solana-labs#298) Discard Empty Packet Batches (solana-labs#299) Identity Hotswap (solana-labs#290) small fixes (solana-labs#305) Set backend config from admin rpc (solana-labs#304) Admin Shred Receiver Change (solana-labs#306) Seg/rm bundle UUID (solana-labs#309) Fix github workflow to recursively clone (solana-labs#327) Add recursive checkout for downstream-project-spl.yaml (solana-labs#341) Use cluster info functions for tpu (solana-labs#345) Use git rev-parse for git sha Remove blacklisted tx from message_hash_to_transaction (solana-labs#374) Updates bootstrap and start scripts needed for local dev. (solana-labs#384) Remove Deprecated Cli Args (solana-labs#387) Master Rebase improve simulate_bundle errors and response (solana-labs#404) derive Clone on accountoverrides (solana-labs#416) Add upsert to AccountOverrides (solana-labs#419) update jito-programs (solana-labs#430) [JIT-1661] Faster Autosnapshot (solana-labs#436) Reverts simulate_transaction result calls to upstream (solana-labs#446) Don't unlock accounts in TransactionBatches used during simulation (solana-labs#449) first pass at wiring up jito-plugin (solana-labs#428) [JIT-1713] Fix bundle's blockspace preallocation (solana-labs#489) [JIT-1708] Fix TOC TOU condition for relayer and block engine config (solana-labs#491) [JIT-1710] - Optimize Bundle Consumer Checks (solana-labs#490) Add Blockhash Metrics to Bundle Committer (solana-labs#500) add priority fee ix to mev-claim (solana-labs#520) Update Autosnapshot (solana-labs#548) Run MEV claims + reclaiming rent-exempt amounts in parallel. (solana-labs#582) Update CI (solana-labs#584) - Add recursive submodule checkouts. - Re-add solana-secondary step - More release fixes Fix release process Backports solana-labs#595: correctly initialize account overrides (solana-labs#596) Fix: Ensure set contact info to UDP port instead of QUIC (Backport solana-labs#601 to v1.18) (solana-labs#602) Buffer bundles that exceed processing time and make the allowed processing time longer (solana-labs#610) update jito-programs submodule
only reroute if relayer connected (solana-labs#123) feat: add client tls config (solana-labs#121) remove extra val (solana-labs#129) fix clippy (solana-labs#130) copy all binaries to docker-output (solana-labs#131) Ledger tool halts at slot passed to create-snapshot (solana-labs#118) update program submodule (solana-labs#133) quick fix for tips and clearing old bundles (solana-labs#135) update submodule to new program (solana-labs#136) Improve stake-meta-generator usability (solana-labs#134) pinning submodule head (solana-labs#140) Use BundleAccountLocker when handling tip txs (solana-labs#147) Add metrics for relayer + block engine proxy (solana-labs#149) Build claim-mev in docker (solana-labs#141) Rework bundle receiving and add metrics (solana-labs#152) (solana-labs#154) update submodule + dev files (solana-labs#158) Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (solana-labs#159) update jito-programs submodule (solana-labs#160) Separate MEV tip related workflow (solana-labs#161) Add block builder fee protos (solana-labs#162) fix jito programs (solana-labs#163) update submodule so autosnapshot exits out of ledger tool early (solana-labs#164) Pipe through block builder fee (solana-labs#167) pull in new snapshot code (solana-labs#171) block builder bug (solana-labs#172) Pull in new slack autosnapshot submodule (solana-labs#174) sort stake meta json and use int math (solana-labs#176) add accountsdb conn submod (solana-labs#169) Update tip distribution parameters (solana-labs#177) new submodules (solana-labs#180) Add buildkite link for jito CI (solana-labs#183) Fixed broken links to repositories (solana-labs#184) Changed from ssh to https transfer for clone Seg/update submods (solana-labs#187) fix tests (solana-labs#190) rm geyser submod (solana-labs#192) rm dangling geyser references (solana-labs#193) fix syntax err (solana-labs#195) use deterministic req ids in batch calls (solana-labs#199) update jito-programs revert cargo update Cargo lock update with path fix fix cargo update autosnapshot with block lookback (solana-labs#201) [JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (solana-labs#203) Add logging for sol balance desired (solana-labs#205) * add logging * add logging * update msg * tweak vars update submodule (solana-labs#204) use efficient data structures when calling batch_simulate_bundles (solana-labs#206) [JIT-504] Add low balance check in uploading merkle roots (solana-labs#209) add config to simulate on top of working bank (solana-labs#211) rm frozen bank check simulate_bundle rpc bugfixes (solana-labs#214) rm frozen bank check in simulate_bundle rpc method [JIT-519] Store ClaimStatus address in merkle-root-json (solana-labs#210) * add files * switch to include bump update submodule (solana-labs#217) add amount filter (solana-labs#218) update autosnapshot (solana-labs#222) Print TX error in Bundles (solana-labs#223) add new args to support single relayer and block-engine endpoints (solana-labs#224) point to new jito-programs submod and invoke updated init tda instruction (solana-labs#228) fix clippy errors (solana-labs#230) fix validator start scripts (solana-labs#232) Point README to gitbook (solana-labs#237) use packaged cargo bin to build (solana-labs#239) Add validator identity pubkey to StakeMeta (solana-labs#226) The vote account associated with a validator is not a permanent link, so log the validator identity as well. bugfix: conditionally compile with debug flags (solana-labs#240) Seg/tip distributor master (solana-labs#242) * validate tree nodes * fix unit tests * pr feedback * bump jito-programs submod Simplify bootstrapping (solana-labs#241) * startup without precompile * update spacing * use release mode * spacing fix validation rm validation skip Account for block builder fee when generating excess tip balance (solana-labs#247) Improve docker caching delay constructing claim mev txs (solana-labs#253) fix stake meta tests from bb fee (solana-labs#254) fix tests Buffer bundles that exceed cost model (solana-labs#225) * buffer bundles that exceed cost model clear qos failed bundles buffer if not leader soon (solana-labs#260) update Cargo.lock to correct solana versions in jito-programs submodule (solana-labs#265) fix simulate_bundle client and better error handling (solana-labs#267) update submod (solana-labs#272) Preallocate Bundle Cost (solana-labs#238) fix Dockerfile (solana-labs#278) Fix Tests (solana-labs#279) Fix Tests (solana-labs#281) * fix tests update jito-programs submod (solana-labs#282) add reclaim rent workflow (solana-labs#283) update jito-programs submod fix clippy errs rm wrong assertion and swap out file write fn call (solana-labs#292) Remove security.md (solana-labs#293) demote frequent relayer_stage-stream_error to warn (solana-labs#275) account for case where TDA exists but not allocated (solana-labs#295) implement better retries for tip-distributor workflows (solana-labs#297) limit number of concurrent rpc calls (solana-labs#298) Discard Empty Packet Batches (solana-labs#299) Identity Hotswap (solana-labs#290) small fixes (solana-labs#305) Set backend config from admin rpc (solana-labs#304) Admin Shred Receiver Change (solana-labs#306) Seg/rm bundle UUID (solana-labs#309) Fix github workflow to recursively clone (solana-labs#327) Add recursive checkout for downstream-project-spl.yaml (solana-labs#341) Use cluster info functions for tpu (solana-labs#345) Use git rev-parse for git sha Remove blacklisted tx from message_hash_to_transaction (solana-labs#374) Updates bootstrap and start scripts needed for local dev. (solana-labs#384) Remove Deprecated Cli Args (solana-labs#387) Master Rebase improve simulate_bundle errors and response (solana-labs#404) derive Clone on accountoverrides (solana-labs#416) Add upsert to AccountOverrides (solana-labs#419) update jito-programs (solana-labs#430) [JIT-1661] Faster Autosnapshot (solana-labs#436) Reverts simulate_transaction result calls to upstream (solana-labs#446) Don't unlock accounts in TransactionBatches used during simulation (solana-labs#449) first pass at wiring up jito-plugin (solana-labs#428) [JIT-1713] Fix bundle's blockspace preallocation (solana-labs#489) [JIT-1708] Fix TOC TOU condition for relayer and block engine config (solana-labs#491) [JIT-1710] - Optimize Bundle Consumer Checks (solana-labs#490) Add Blockhash Metrics to Bundle Committer (solana-labs#500) add priority fee ix to mev-claim (solana-labs#520) Update Autosnapshot (solana-labs#548) Run MEV claims + reclaiming rent-exempt amounts in parallel. (solana-labs#582) Update CI (solana-labs#584) - Add recursive submodule checkouts. - Re-add solana-secondary step - More release fixes Fix release process Backports solana-labs#595: correctly initialize account overrides (solana-labs#596) Fix: Ensure set contact info to UDP port instead of QUIC (Backport solana-labs#601 to v1.18) (solana-labs#602) Buffer bundles that exceed processing time and make the allowed processing time longer (solana-labs#610) update jito-programs submodule
only reroute if relayer connected (solana-labs#123) feat: add client tls config (solana-labs#121) remove extra val (solana-labs#129) fix clippy (solana-labs#130) copy all binaries to docker-output (solana-labs#131) Ledger tool halts at slot passed to create-snapshot (solana-labs#118) update program submodule (solana-labs#133) quick fix for tips and clearing old bundles (solana-labs#135) update submodule to new program (solana-labs#136) Improve stake-meta-generator usability (solana-labs#134) pinning submodule head (solana-labs#140) Use BundleAccountLocker when handling tip txs (solana-labs#147) Add metrics for relayer + block engine proxy (solana-labs#149) Build claim-mev in docker (solana-labs#141) Rework bundle receiving and add metrics (solana-labs#152) (solana-labs#154) update submodule + dev files (solana-labs#158) Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (solana-labs#159) update jito-programs submodule (solana-labs#160) Separate MEV tip related workflow (solana-labs#161) Add block builder fee protos (solana-labs#162) fix jito programs (solana-labs#163) update submodule so autosnapshot exits out of ledger tool early (solana-labs#164) Pipe through block builder fee (solana-labs#167) pull in new snapshot code (solana-labs#171) block builder bug (solana-labs#172) Pull in new slack autosnapshot submodule (solana-labs#174) sort stake meta json and use int math (solana-labs#176) add accountsdb conn submod (solana-labs#169) Update tip distribution parameters (solana-labs#177) new submodules (solana-labs#180) Add buildkite link for jito CI (solana-labs#183) Fixed broken links to repositories (solana-labs#184) Changed from ssh to https transfer for clone Seg/update submods (solana-labs#187) fix tests (solana-labs#190) rm geyser submod (solana-labs#192) rm dangling geyser references (solana-labs#193) fix syntax err (solana-labs#195) use deterministic req ids in batch calls (solana-labs#199) update jito-programs revert cargo update Cargo lock update with path fix fix cargo update autosnapshot with block lookback (solana-labs#201) [JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (solana-labs#203) Add logging for sol balance desired (solana-labs#205) * add logging * add logging * update msg * tweak vars update submodule (solana-labs#204) use efficient data structures when calling batch_simulate_bundles (solana-labs#206) [JIT-504] Add low balance check in uploading merkle roots (solana-labs#209) add config to simulate on top of working bank (solana-labs#211) rm frozen bank check simulate_bundle rpc bugfixes (solana-labs#214) rm frozen bank check in simulate_bundle rpc method [JIT-519] Store ClaimStatus address in merkle-root-json (solana-labs#210) * add files * switch to include bump update submodule (solana-labs#217) add amount filter (solana-labs#218) update autosnapshot (solana-labs#222) Print TX error in Bundles (solana-labs#223) add new args to support single relayer and block-engine endpoints (solana-labs#224) point to new jito-programs submod and invoke updated init tda instruction (solana-labs#228) fix clippy errors (solana-labs#230) fix validator start scripts (solana-labs#232) Point README to gitbook (solana-labs#237) use packaged cargo bin to build (solana-labs#239) Add validator identity pubkey to StakeMeta (solana-labs#226) The vote account associated with a validator is not a permanent link, so log the validator identity as well. bugfix: conditionally compile with debug flags (solana-labs#240) Seg/tip distributor master (solana-labs#242) * validate tree nodes * fix unit tests * pr feedback * bump jito-programs submod Simplify bootstrapping (solana-labs#241) * startup without precompile * update spacing * use release mode * spacing fix validation rm validation skip Account for block builder fee when generating excess tip balance (solana-labs#247) Improve docker caching delay constructing claim mev txs (solana-labs#253) fix stake meta tests from bb fee (solana-labs#254) fix tests Buffer bundles that exceed cost model (solana-labs#225) * buffer bundles that exceed cost model clear qos failed bundles buffer if not leader soon (solana-labs#260) update Cargo.lock to correct solana versions in jito-programs submodule (solana-labs#265) fix simulate_bundle client and better error handling (solana-labs#267) update submod (solana-labs#272) Preallocate Bundle Cost (solana-labs#238) fix Dockerfile (solana-labs#278) Fix Tests (solana-labs#279) Fix Tests (solana-labs#281) * fix tests update jito-programs submod (solana-labs#282) add reclaim rent workflow (solana-labs#283) update jito-programs submod fix clippy errs rm wrong assertion and swap out file write fn call (solana-labs#292) Remove security.md (solana-labs#293) demote frequent relayer_stage-stream_error to warn (solana-labs#275) account for case where TDA exists but not allocated (solana-labs#295) implement better retries for tip-distributor workflows (solana-labs#297) limit number of concurrent rpc calls (solana-labs#298) Discard Empty Packet Batches (solana-labs#299) Identity Hotswap (solana-labs#290) small fixes (solana-labs#305) Set backend config from admin rpc (solana-labs#304) Admin Shred Receiver Change (solana-labs#306) Seg/rm bundle UUID (solana-labs#309) Fix github workflow to recursively clone (solana-labs#327) Add recursive checkout for downstream-project-spl.yaml (solana-labs#341) Use cluster info functions for tpu (solana-labs#345) Use git rev-parse for git sha Remove blacklisted tx from message_hash_to_transaction (solana-labs#374) Updates bootstrap and start scripts needed for local dev. (solana-labs#384) Remove Deprecated Cli Args (solana-labs#387) Master Rebase improve simulate_bundle errors and response (solana-labs#404) derive Clone on accountoverrides (solana-labs#416) Add upsert to AccountOverrides (solana-labs#419) update jito-programs (solana-labs#430) [JIT-1661] Faster Autosnapshot (solana-labs#436) Reverts simulate_transaction result calls to upstream (solana-labs#446) Don't unlock accounts in TransactionBatches used during simulation (solana-labs#449) first pass at wiring up jito-plugin (solana-labs#428) [JIT-1713] Fix bundle's blockspace preallocation (solana-labs#489) [JIT-1708] Fix TOC TOU condition for relayer and block engine config (solana-labs#491) [JIT-1710] - Optimize Bundle Consumer Checks (solana-labs#490) Add Blockhash Metrics to Bundle Committer (solana-labs#500) add priority fee ix to mev-claim (solana-labs#520) Update Autosnapshot (solana-labs#548) Run MEV claims + reclaiming rent-exempt amounts in parallel. (solana-labs#582) Update CI (solana-labs#584) - Add recursive submodule checkouts. - Re-add solana-secondary step Add more release fixes (solana-labs#585) Fix more release urls (solana-labs#588) [JIT-1812] Fix blocking mutexs (solana-labs#495) [JIT-1711] Compare the unprocessed transaction storage BundleStorage against a constant instead of VecDeque::capacity() (solana-labs#587) Automatically rebase Jito-Solana on a periodic basis. Send message on slack during any failures or success. Fix periodic rebase solana-labs#594 Fixes the following bugs in the periodic rebase: Sends multiple messages on failure instead of one Cancels entire job if one branch fails Ignore buildkite curl errors for rebasing and try to keep curling until job times out (solana-labs#597) Sleep longer waiting for buildkite to start (solana-labs#598) correctly initialize account overrides (solana-labs#595) Fix: Ensure set contact info to UDP port instead of QUIC (solana-labs#603) Add fast replay branch to daily rebase (solana-labs#607) take a snapshot of all bundle accounts before sim (solana-labs#13) (solana-labs#615) update jito-programs submodule
only reroute if relayer connected (solana-labs#123) feat: add client tls config (solana-labs#121) remove extra val (solana-labs#129) fix clippy (solana-labs#130) copy all binaries to docker-output (solana-labs#131) Ledger tool halts at slot passed to create-snapshot (solana-labs#118) update program submodule (solana-labs#133) quick fix for tips and clearing old bundles (solana-labs#135) update submodule to new program (solana-labs#136) Improve stake-meta-generator usability (solana-labs#134) pinning submodule head (solana-labs#140) Use BundleAccountLocker when handling tip txs (solana-labs#147) Add metrics for relayer + block engine proxy (solana-labs#149) Build claim-mev in docker (solana-labs#141) Rework bundle receiving and add metrics (solana-labs#152) (solana-labs#154) update submodule + dev files (solana-labs#158) Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (solana-labs#159) update jito-programs submodule (solana-labs#160) Separate MEV tip related workflow (solana-labs#161) Add block builder fee protos (solana-labs#162) fix jito programs (solana-labs#163) update submodule so autosnapshot exits out of ledger tool early (solana-labs#164) Pipe through block builder fee (solana-labs#167) pull in new snapshot code (solana-labs#171) block builder bug (solana-labs#172) Pull in new slack autosnapshot submodule (solana-labs#174) sort stake meta json and use int math (solana-labs#176) add accountsdb conn submod (solana-labs#169) Update tip distribution parameters (solana-labs#177) new submodules (solana-labs#180) Add buildkite link for jito CI (solana-labs#183) Fixed broken links to repositories (solana-labs#184) Changed from ssh to https transfer for clone Seg/update submods (solana-labs#187) fix tests (solana-labs#190) rm geyser submod (solana-labs#192) rm dangling geyser references (solana-labs#193) fix syntax err (solana-labs#195) use deterministic req ids in batch calls (solana-labs#199) update jito-programs revert cargo update Cargo lock update with path fix fix cargo update autosnapshot with block lookback (solana-labs#201) [JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (solana-labs#203) Add logging for sol balance desired (solana-labs#205) * add logging * add logging * update msg * tweak vars update submodule (solana-labs#204) use efficient data structures when calling batch_simulate_bundles (solana-labs#206) [JIT-504] Add low balance check in uploading merkle roots (solana-labs#209) add config to simulate on top of working bank (solana-labs#211) rm frozen bank check simulate_bundle rpc bugfixes (solana-labs#214) rm frozen bank check in simulate_bundle rpc method [JIT-519] Store ClaimStatus address in merkle-root-json (solana-labs#210) * add files * switch to include bump update submodule (solana-labs#217) add amount filter (solana-labs#218) update autosnapshot (solana-labs#222) Print TX error in Bundles (solana-labs#223) add new args to support single relayer and block-engine endpoints (solana-labs#224) point to new jito-programs submod and invoke updated init tda instruction (solana-labs#228) fix clippy errors (solana-labs#230) fix validator start scripts (solana-labs#232) Point README to gitbook (solana-labs#237) use packaged cargo bin to build (solana-labs#239) Add validator identity pubkey to StakeMeta (solana-labs#226) The vote account associated with a validator is not a permanent link, so log the validator identity as well. bugfix: conditionally compile with debug flags (solana-labs#240) Seg/tip distributor master (solana-labs#242) * validate tree nodes * fix unit tests * pr feedback * bump jito-programs submod Simplify bootstrapping (solana-labs#241) * startup without precompile * update spacing * use release mode * spacing fix validation rm validation skip Account for block builder fee when generating excess tip balance (solana-labs#247) Improve docker caching delay constructing claim mev txs (solana-labs#253) fix stake meta tests from bb fee (solana-labs#254) fix tests Buffer bundles that exceed cost model (solana-labs#225) * buffer bundles that exceed cost model clear qos failed bundles buffer if not leader soon (solana-labs#260) update Cargo.lock to correct solana versions in jito-programs submodule (solana-labs#265) fix simulate_bundle client and better error handling (solana-labs#267) update submod (solana-labs#272) Preallocate Bundle Cost (solana-labs#238) fix Dockerfile (solana-labs#278) Fix Tests (solana-labs#279) Fix Tests (solana-labs#281) * fix tests update jito-programs submod (solana-labs#282) add reclaim rent workflow (solana-labs#283) update jito-programs submod fix clippy errs rm wrong assertion and swap out file write fn call (solana-labs#292) Remove security.md (solana-labs#293) demote frequent relayer_stage-stream_error to warn (solana-labs#275) account for case where TDA exists but not allocated (solana-labs#295) implement better retries for tip-distributor workflows (solana-labs#297) limit number of concurrent rpc calls (solana-labs#298) Discard Empty Packet Batches (solana-labs#299) Identity Hotswap (solana-labs#290) small fixes (solana-labs#305) Set backend config from admin rpc (solana-labs#304) Admin Shred Receiver Change (solana-labs#306) Seg/rm bundle UUID (solana-labs#309) Fix github workflow to recursively clone (solana-labs#327) Add recursive checkout for downstream-project-spl.yaml (solana-labs#341) Use cluster info functions for tpu (solana-labs#345) Use git rev-parse for git sha Remove blacklisted tx from message_hash_to_transaction (solana-labs#374) Updates bootstrap and start scripts needed for local dev. (solana-labs#384) Remove Deprecated Cli Args (solana-labs#387) Master Rebase improve simulate_bundle errors and response (solana-labs#404) derive Clone on accountoverrides (solana-labs#416) Add upsert to AccountOverrides (solana-labs#419) update jito-programs (solana-labs#430) [JIT-1661] Faster Autosnapshot (solana-labs#436) Reverts simulate_transaction result calls to upstream (solana-labs#446) Don't unlock accounts in TransactionBatches used during simulation (solana-labs#449) first pass at wiring up jito-plugin (solana-labs#428) [JIT-1713] Fix bundle's blockspace preallocation (solana-labs#489) [JIT-1708] Fix TOC TOU condition for relayer and block engine config (solana-labs#491) [JIT-1710] - Optimize Bundle Consumer Checks (solana-labs#490) Add Blockhash Metrics to Bundle Committer (solana-labs#500) add priority fee ix to mev-claim (solana-labs#520) Update Autosnapshot (solana-labs#548) Run MEV claims + reclaiming rent-exempt amounts in parallel. (solana-labs#582) Update CI (solana-labs#584) - Add recursive submodule checkouts. - Re-add solana-secondary step Add more release fixes (solana-labs#585) Fix more release urls (solana-labs#588) [JIT-1812] Fix blocking mutexs (solana-labs#495) [JIT-1711] Compare the unprocessed transaction storage BundleStorage against a constant instead of VecDeque::capacity() (solana-labs#587) Automatically rebase Jito-Solana on a periodic basis. Send message on slack during any failures or success. Fix periodic rebase solana-labs#594 Fixes the following bugs in the periodic rebase: Sends multiple messages on failure instead of one Cancels entire job if one branch fails Ignore buildkite curl errors for rebasing and try to keep curling until job times out (solana-labs#597) Sleep longer waiting for buildkite to start (solana-labs#598) correctly initialize account overrides (solana-labs#595) Fix: Ensure set contact info to UDP port instead of QUIC (solana-labs#603) Add fast replay branch to daily rebase (solana-labs#607) take a snapshot of all bundle accounts before sim (#13) (solana-labs#615) update jito-programs submodule
For now, this maintains the previous singlenode setup as-is, and leaves the previous client-demo intact. I put in a little structure toward a TPS demo through the drone as well, but no functionality yet.
There is also no rate limiting by IP, as yet. (There is some rudimentary structure in that direction, but probably not the best way to do it.)
It does impose request cap for a given time time slice; I put in some defaults, for when no options are specified. Would love to discuss what seems reasonable!
Fixes #342