1

In order to test the throughput of a private Ethereum, I need to send multiple transactions as fast as possible. Can web3js ensures fast delivery of transactions? or there is an other more efficient way?

  • A block is mined every 15-17 seconds, so you're gonna have to squeeze some 15,000 transactions on every block (and hope pray that all of them "got in"). Doesn't sound like something you should be counting on. – goodvibration May 1 at 14:09
  • yes, how to ensure that one block will squeeze all the 15k transactions? – Noureddine May 1 at 14:29
0

The web3js is just a "gateway" or a framework to make it easier to interact with a node. It doesn't have much logic in itself so most likely that won't be your bottleneck.

The next part depends on what your intentions are. As I read your question it would appear that you only want to push the transactions into the blockchain and you don't care about whether they get mined or not. But based on your comments I guess your measurements require that the transactions would get mined as well.

So if the transactions should get mined as well your bottleneck will most likely be the blockchain itself. And that really depends on your network setup. As it's a private network, it may work fast but most likely it won't work fast enough. I'm not sure how far you can push the gas limits of a block for example - maybe in theory you can increase the limit enough so that you'd get 15k transactions in a single block but I'm unsure about this. Or, well, I doubt there are any strict restrictions in that sense and you just might get away with it.

Even if you get all your transactions in a single block and someone completes the block (how long that requires depends on your network/nodes) it will only give you certain kinds of measurements. Your network will be very dissimilar to the public Ethereum network. But maybe that's ok for you.

Anyway, long story short, if it's enough for you that the transactions are broadcasted to the network and you don't care about when they are mined then your bottleneck is most likely the node(s) you use for broadcasting. But if you want the transactions to be also mined fast you have to modify the network heavily and make sure the nodes handling the transactions can take in that many transactions.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.