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

Activity Idea: Create an effective transaction spam utility in JS / RUST #118

Open
shawntabrizi opened this issue Jun 20, 2022 · 5 comments
Labels
content-refactor Based on feedback and experience, suggestions for updates enhancement New feature or request

Comments

@shawntabrizi
Copy link
Contributor

A common thing that has been built multiple times is a tool which floods a node / network with transactions.

To do this at maximum throughput is not trivial, and requires knowledge of:

  • manipulating nonce
  • pre-signing transactions
  • checking the tx pool for queued tx
  • adjusting node parameters to allow for bigger pools
  • etc...

This should be a full half day exercise, and we make it a competition between students to see who can get the highest numbers.

@nuke-web3
Copy link

https://github.com/paritytech/subxt would be likely the best Rust lib to use - perhaps we could ask the team there to help design this as a jupyter notebook? This seems like a good fit for such a thing, or a stand-alone crate 🤔

Their internal channel: https://matrix.to/#/!lVvMINUrllAJPjlOTY:matrix.parity.io?via=matrix.parity.io

@sacha-l
Copy link

sacha-l commented Jun 28, 2022

Pasting in a rough sketch of this workshop instructions. I have some questions @shawntabrizi, mainly:

  • How are students recording results? How can you know how close you are to maximum throughput?
  • What should students connect to? A local node ? A network we set up ?

I think we should encourage students to write Rust code, hence pointing them to subxt. I'm talking to James about this and to get help on fleshing this out.

Workshop: Create an effective transaction spam utility

The goal of this workshop is to build a tool which floods a node / network with transactions at maximum throughput.

Guidelines

Since this course is Rust based, these guidelines assume you complete this workshop using subxt.

You will be required to:

  • manipulate the nonce of a transaction
  • pre-sign transactions
  • check the tx pool for queued txns
  • adjust node parameters to allow for bigger pools

Steps

(brain dump for now)

Submission and results

Please submit your source code and a results.

@pba-shared pba-shared added enhancement New feature or request content-refactor Based on feedback and experience, suggestions for updates labels Jul 27, 2022
@wirednkod
Copy link
Member

@JoshOrndorff is this something we need to keep open still?

@JoshOrndorff
Copy link
Contributor

I still think it's a cool idea. I don't have any concrete plans to do it. IDK the semantics for that kind of thing.

@shawntabrizi
Copy link
Contributor Author

potentially this will be the topic of my talk if I go to Sub0, so maybe i can create a basis from that

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
content-refactor Based on feedback and experience, suggestions for updates enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants