This CLI is made to stress-test the network.
It has the following commands:
This command is to generate N Groth16 proofs.
To run it, you can:
cargo run --release -- generate-proofs \
--number-of-proofs <NUMBER_OF_PROOFS> --proof-type groth16 \
--dir-to-save-proofs $(PWD)/scripts/test_files/task_sender/proofsWe also have a make target:
NUMBER_OF_PROOFS=15 make task_sender_generate_groth16_proofsThis command is to generate N wallets, and fund them in the BatcherPaymentService.
To run it, you can:
cargo run --release -- generate-and-fund-wallets \
--eth-rpc-url <RPC_URL> \
--network <NETWORK> \
--funding-wallet-private-key <FUNDING_WALLET_PRIVATE_KEY> \
--number-wallets <NUM_WALLETS> \
--amount-to-deposit <AMOUNT_TO_DEPOSIT> \
--amount-to-deposit-to-aligned <AMOUNT_TO_DEPOSIT_TO_ALIGNED> \
--private-keys-filepath <PATH_TO_PRIVATE_KEYS_FILE>NUM_WALLETS=<N> make task_sender_generate_and_fund_wallets_holesky_stageRun anvil with more prefunded accounts, using the following make target:
make anvil_start_with_more_prefunded_accountsThen run the following make target, with NUM_WALLETS being the amount of wallets you want to deposit funds to aligned payment service, up to 1000.
NUM_WALLETS=<N> make task_sender_generate_and_fund_wallets_devnetThis command sends BURST_SIZE proofs from each private key in PATH_TO_PRIVATE_KEYS_FILE every BURST_TIME_SECS seconds.
To vary the amount of senders, it is recommended to have a backup with all private keys, and add/remove keys from the file being used.
Note: The --random-address flag is optional and will use the address a salt to avoid the repetitions of batches.
cargo run --release -- send-infinite-proofs \
--private-keys-filepath <PATH_TO_PRIVATE_KEYS_FILE> \
--random-address \
--burst-size <BURST_SIZE> \
--burst-time-secs <BURST_TIME_SECS> \
--network <NETWORK> \
risc0 \
--proof-path ./scripts/test_files/risc_zero/fibonacci_proof_generator/risc_zero_fibonacci_2_2_0.proof \
--bin-path ./scripts/test_files/risc_zero/fibonacci_proof_generator/fibonacci_id_2_2_0.bin \
--pub-path ./scripts/test_files/risc_zero/fibonacci_proof_generator/risc_zero_fibonacci_2_2_0.pubcargo run --release -- send-infinite-proofs \
--private-keys-filepath <PATH_TO_PRIVATE_KEYS_FILE> \
--random-address \
--burst-size <BURST_SIZE> \
--burst-time-secs <BURST_TIME_SECS> \
--network <NETWORK> \
gnark-groth16 --proofs-dir ./scripts/test_files/gnark_groth16_bn254_scriptcargo run --release --manifest-path ./crates/task-sender/Cargo.toml -- send-infinite-proofs \
--private-keys-filepath <PATH_TO_PRIVATE_KEYS_FILE> \
--burst-size <BURST_SIZE> \
--burst-time-secs <BURST_TIME_SECS> \
--random-address \
sp1 \
--proof-path ./scripts/test_files/sp1/sp1_fibonacci_5_0_0.proof \
--elf-path ./scripts/test_files/sp1/sp1_fibonacci_5_0_0.elf \
--pub-path ./scripts/test_files/sp1/sp1_fibonacci_5_0_0.pubWe also have the following related make targets:
BURST_SIZE=<N> BURST_TIME_SECS=<N> make task_sender_send_infinite_proofs_devnetBURST_SIZE=<N> BURST_TIME_SECS=<N> make task_sender_send_infinite_proofs_holesky_stageThis command enables and hangs N connections with the Batcher.
To run it, you can:
cargo run --release --manifest-path ./crates/task-sender/Cargo.toml -- test-connections \
--num-senders <NUM_SENDERS>We also have the following related make targets:
NUM_SENDERS=<N> make task_sender_test_connections_devnetNUM_SENDERS=<N> make task_sender_test_connections_holesky_stage