Skip to content

Need to improve to a more realistic Web3 transaction #42

@truthadjustr

Description

@truthadjustr

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions