Skip to content
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

feat: store seed command in stress test CLI #657

Open
wants to merge 42 commits into
base: next
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
a7d4130
test: add stress binary
TomasArrachea Jan 15, 2025
a2cdcd8
test: set 16 batches per block and 16 txs per batch
TomasArrachea Jan 15, 2025
afec921
Merge branch 'next' into tomasarrachea-stress-test
TomasArrachea Jan 16, 2025
387d95d
test: use only block builder instead of block producer
TomasArrachea Jan 16, 2025
4395203
test: parallelize account grinding
TomasArrachea Jan 16, 2025
dc3b1a2
test: add sync request test
TomasArrachea Jan 17, 2025
63916b8
feat: add cli to load store
TomasArrachea Jan 17, 2025
5c39a4c
Merge branch 'next' into tomasarrachea-stress-test
TomasArrachea Jan 17, 2025
1536920
refactor: move code to helper functions
TomasArrachea Jan 20, 2025
bf64e2c
fix: use different init seed on each account
TomasArrachea Jan 20, 2025
5afac9f
fix: use genesis block as anchor
TomasArrachea Jan 20, 2025
f8fcf22
fix: undo StoreClient as pub
TomasArrachea Jan 20, 2025
b22ef0d
fix: remove miden-objects testing feature
TomasArrachea Jan 20, 2025
77d73b4
docs: add block-producer features documentation
TomasArrachea Jan 20, 2025
ee0987c
feat: add makefile target for miden-stress-test
TomasArrachea Jan 20, 2025
ccdf645
wip: add authenticated notes
TomasArrachea Jan 20, 2025
5aed8d9
chore: rename subcrate to miden-node-stress-test
TomasArrachea Jan 21, 2025
a6d4c1a
chore: alphabetize dependencies and drop patch version
TomasArrachea Jan 21, 2025
018078c
chore: update README
TomasArrachea Jan 21, 2025
46a976f
fix: rename num_accounts parameter
TomasArrachea Jan 21, 2025
2e2e164
Merge branch 'next' into tomasarrachea-stress-test
TomasArrachea Jan 21, 2025
f009a8a
feat: refactor into separate helper functions
TomasArrachea Jan 21, 2025
08478dc
Merge branch 'next' into tomasarrachea-stress-test
TomasArrachea Jan 21, 2025
348b1bb
feat: remove query for note inclusion proof
TomasArrachea Jan 21, 2025
dc7e265
fix: avoid blocking tokio runtime
TomasArrachea Jan 23, 2025
661c2cb
Merge branch 'next' into tomasarrachea-stress-test
TomasArrachea Jan 23, 2025
00e86df
fix: format
TomasArrachea Jan 23, 2025
046f690
feat: use unbounded channels
TomasArrachea Jan 23, 2025
e545d92
fix: add docs and move seed_store definition
TomasArrachea Jan 23, 2025
606feb1
fix: alphabetize dependencies and declare as dev
TomasArrachea Jan 23, 2025
886554d
fix: update makefile target
TomasArrachea Jan 23, 2025
4f63c1a
Merge branch 'next' into tomasarrachea-stress-test
SantiagoPittella Jan 28, 2025
0820ffd
review: update crate description
SantiagoPittella Jan 28, 2025
81b1d04
review: fix block-producer readme
SantiagoPittella Jan 28, 2025
d1ca045
review: make testing deps optional for block-producer
SantiagoPittella Jan 28, 2025
28f0632
review: add additional metrics
SantiagoPittella Jan 28, 2025
348b54c
feat: refactor binary using linear approach
SantiagoPittella Jan 31, 2025
19e1513
fix: move changelog entry to unreleased section
SantiagoPittella Jan 31, 2025
b7410f0
Merge branch 'next' into santiagopittella-stress-testing-copy
SantiagoPittella Jan 31, 2025
0a74fac
fix: remove total account space print
SantiagoPittella Jan 31, 2025
24b743e
fix: add workspace lint for stress test bin
SantiagoPittella Jan 31, 2025
973c7eb
fix: lint issues
SantiagoPittella Jan 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
### Changes

- [BREAKING] Updated minimum Rust version to 1.84.
- Added stress test binary with seed-store command (#621).
- [BREAKING] `Endpoint` configuration simplified to a single string (#654).

## v0.7.2 (2025-01-29)
Expand Down
17 changes: 17 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
members = [
"bin/faucet",
"bin/node",
"bin/stress-test",
"crates/block-producer",
"crates/proto",
"crates/rpc",
Expand Down
4 changes: 4 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,10 @@ install-node: ## Installs node
install-faucet: ## Installs faucet
${BUILD_PROTO} cargo install --path bin/faucet --locked

.PHONY: install-stress-test
install-stress-test: ## Installs stress-test binary
cargo install --path bin/stress-test --locked

# --- docker --------------------------------------------------------------------------------------

.PHONY: docker-build-node
Expand Down
29 changes: 29 additions & 0 deletions bin/stress-test/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[package]
authors.workspace = true
description = "A binary for running stress tests against the Miden node"
edition.workspace = true
exclude.workspace = true
homepage.workspace = true
keywords = ["miden", "stress-test"]
license.workspace = true
name = "miden-node-stress-test"
readme.workspace = true
repository.workspace = true
rust-version.workspace = true
version.workspace = true

[lints]
workspace = true

[dependencies]
anyhow = "1.0"
clap = { version = "4.5", features = ["derive", "string"] }
miden-lib = { workspace = true }
miden-node-block-producer = { workspace = true, features = ["testing"] }
miden-node-proto = { workspace = true }
miden-node-store = { workspace = true }
miden-objects = { workspace = true, features = ["testing"] }
miden-processor = { workspace = true }
rand = { version = "0.8" }
rayon = "1.10"
tokio = { workspace = true, features = ["macros", "net", "rt-multi-thread", "sync", "time"] }
10 changes: 10 additions & 0 deletions bin/stress-test/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Miden stress test

This crate contains a binary for running Miden node stress tests.

This binary seeds the store with newly generated accounts. Also generates a faucet and sends asset to each new account. The result is the database dump file. To run it, a genesis file is needed (see [make-genesis](../../README.md#setup) command of the Miden node).

Once it's finished, it prints the average block insertion time.

## License
This project is [MIT licensed](../../LICENSE).
Loading
Loading