Polkadot-Blockchain-Academy / pba-content

An intensive academic program teaching Blockchain, Substrate, and Polkadot.
https://polkadot-blockchain-academy.github.io/pba-content/
MIT License
57 stars 27 forks source link

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

Open shawntabrizi opened 2 years ago

shawntabrizi commented 2 years ago

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:

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 commented 2 years ago

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 :thinking:

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

sacha-l commented 2 years ago

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

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:

Steps

(brain dump for now)

Submission and results

Please submit your source code and a results.

wirednkod commented 9 months ago

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

JoshOrndorff commented 9 months ago

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 commented 9 months ago

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