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

Add aptos move run-repeadetly command to submit multiple transactions #13387

Draft
wants to merge 1 commit into
base: igor/bulk_txn_submit_script
Choose a base branch
from

Conversation

igor-aptos
Copy link
Contributor

@igor-aptos igor-aptos commented May 22, 2024

cargo run -p aptos -- move run-repeatedly --profile some_profile --function-id some_function --num-times 1000

Working on adding ability to have an argument be pulled from a file, and different transaction created for each line in the file - i.e. to execute an NFT drop to a list of addresses.

This CLI can do ~100TPS from single account, so can execute 100k transactions from a single account in 15 minutes.

It is automatically adjusting submission rate, based on the throughput and latency it's receiving.

Description

Type of Change

  • New feature

Which Components or Systems Does This Change Impact?

  • Aptos CLI/SDK

How Has This Been Tested?

executed on testnet

Checklist

  • I have read and followed the CONTRIBUTING doc
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I identified and added all stakeholders and component owners affected by this change as reviewers
  • I tested both happy and unhappy path of the functionality
  • I have made corresponding changes to the documentation

Copy link

trunk-io bot commented May 22, 2024

⏱️ 50m total CI duration on this PR
Job Cumulative Duration Recent Runs
rust-targeted-unit-tests 25m 🟩
rust-move-tests 12m 🟩
rust-lints 5m 🟥
run-tests-main-branch 4m 🟩
general-lints 2m 🟩
check-dynamic-deps 1m 🟩
semgrep/ci 23s 🟩
file_change_determinator 13s 🟩
file_change_determinator 10s 🟩
permission-check 4s 🟩
permission-check 3s 🟩
permission-check 3s 🟩
permission-check 2s 🟩

🚨 2 jobs on the last run were significantly faster/slower than expected

Job Duration vs 7d avg Delta
rust-move-tests 12m 9m +42%
rust-targeted-unit-tests 25m 18m +34%

settingsfeedbackdocs ⋅ learn more about trunk.io

Copy link
Contributor

@gregnazario gregnazario left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure how this applies to the CLI? Is this for load testing from the CLI? Probably would be better instead to make a framework for sending multiple different transactions in a row, not just the same one

@igor-aptos
Copy link
Contributor Author

It's not just for load-testing, it's for people that want to submit the same transaction multiple times. That is applicable to some apps.

But yes, it is more useful to be able to send different transactions, I am working on a follow-up PR, where for an arg you can pass a file name, to basically create transaction for each line in the file

@igor-aptos igor-aptos force-pushed the igor/add_move_run_repeadetly branch from c9c3119 to 0b133e2 Compare May 24, 2024 21:45
@igor-aptos igor-aptos marked this pull request as draft May 25, 2024 04:54
@igor-aptos igor-aptos changed the title Add aptos move run-repeadetly command to submit same transaction multiple times Add aptos move run-repeadetly command to submit multiple transactions May 25, 2024
@igor-aptos
Copy link
Contributor Author

moving to draft to add in this PR:

ability to have an argument be pulled from a file, and different transaction created for each line in the file - i.e. to execute an NFT drop to a list of addresses.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants