Chainhammer is a gem! Thank you so much, @drandreaskrueger
I am adapting the bits and pieces of Chainhammer to do a TPS measurement of a Polkadot Moonbeam parachain node. Currently, chainhammer relies on the concept of unlocked account where the transaction signing happens in a validator node. In the real usage, however, the transaction signing happens in a wallet. By doing it like this, will make Chainhammer usable in other chains, in my opinion.
In Moonbeam chain, however, I am facing an issue in the call to nonce = w3.eth.get_transaction_count(account). Because I have now the need to call next tx_receipt = w3.eth.wait_for_transaction_receipt(txh) and this resulted to a very low 8 TPS in Moonbeam. Without the wait call, I get a nonce too low error. Take note, this is not a predicament in Chainhammer because Chainhammer is using an unlocked node account hence it is able to avoid from the need of nonce retrieval. The concept of an unlocked account is absent in Moonbeam parachain, therefore, I have to sign the transaction in Web3 client, and send it via send_raw_transaction().
Also, in my initial examination of Moonbeam, it does not seem to have a transaction queue like in openethereum. Hence, the nonce must be correctly sequenced for transactions to succeed. I hope to hear your comments and tips to tackle this, to improve Chainhammer and brings its use to the Polkadot ecosystem. Thanks.
Chainhammer is a gem! Thank you so much, @drandreaskrueger
I am adapting the bits and pieces of Chainhammer to do a TPS measurement of a Polkadot Moonbeam parachain node. Currently, chainhammer relies on the concept of
unlocked accountwhere the transaction signing happens in a validator node. In the real usage, however, the transaction signing happens in a wallet. By doing it like this, will make Chainhammer usable in other chains, in my opinion.In Moonbeam chain, however, I am facing an issue in the call to
nonce = w3.eth.get_transaction_count(account). Because I have now the need to call nexttx_receipt = w3.eth.wait_for_transaction_receipt(txh)and this resulted to a very low 8 TPS in Moonbeam. Without the wait call, I get anonce too lowerror. Take note, this is not a predicament in Chainhammer because Chainhammer is using an unlocked node account hence it is able to avoid from the need of nonce retrieval. The concept of anunlocked accountis absent in Moonbeam parachain, therefore, I have to sign the transaction in Web3 client, and send it viasend_raw_transaction().Also, in my initial examination of Moonbeam, it does not seem to have a
transaction queuelike in openethereum. Hence, thenoncemust be correctly sequenced for transactions to succeed. I hope to hear your comments and tips to tackle this, to improve Chainhammer and brings its use to the Polkadot ecosystem. Thanks.