Semi-deterministic, complex/large chain spammer #6

Merged
telackey merged 8 commits from auto_tx_gen_and_send into main 2020-10-30 03:09:39 +00:00
Member

"Semi"-deterministic, as while this (given the same input) will always deploy the same contracts, make the same eth transfers, and contract calls, it is still sending the txs over wire to a remote miner where uncertainty is introduced.

  • Uses .toml config file
  • Uses a provided set of ecdsa private keys
  • Reproducibly sends a set of contract deployment txs
    • Generates configurable number of contract addresses from each provided private keys, deploying the contract code provided in the config file to each
  • Reproducibly sends a (indefinitely large) set of eth transfer txs in order to grow state trie
    • Using the provided set of keys we can deterministically generate addresses to spam with eth transfer txs
    • Note: miner genesis file needs proper allocations to support the eth transfers from the loaded ecdsa private keys
  • Reproducibly sends a (indefinitely large) set of contract calling txs in order to grow storage tries
    • Using the provided set of keys we can deterministically generate addresses to spam all deployed contracts Put function with to insert values into unique storage slots
    • Note: At this time, this means the deployment contract is expected to have a method variable mapping(address => uint256) growableMap; which can be modified with a function Put(address addr, uint256 val); in the future this can be made more configurable/generalizable

This work is towards completing VOC11

"Semi"-deterministic, as while this (given the same input) will always deploy the same contracts, make the same eth transfers, and contract calls, it is still sending the txs over wire to a remote miner where uncertainty is introduced. * Uses .toml config file * Uses a provided set of ecdsa private keys * Reproducibly sends a set of contract deployment txs * Generates configurable number of contract addresses from each provided private keys, deploying the contract code provided in the config file to each * Reproducibly sends a (indefinitely large) set of eth transfer txs in order to grow state trie * Using the provided set of keys we can deterministically generate addresses to spam with eth transfer txs * Note: miner genesis file needs proper allocations to support the eth transfers from the loaded ecdsa private keys * Reproducibly sends a (indefinitely large) set of contract calling txs in order to grow storage tries * Using the provided set of keys we can deterministically generate addresses to spam all deployed contracts `Put` function with to insert values into unique storage slots * Note: At this time, this means the deployment contract is expected to have a method variable `mapping(address => uint256) growableMap;` which can be modified with a function `Put(address addr, uint256 val)`; in the future this can be made more configurable/generalizable This work is towards completing [VOC11](https://github.com/vulcanize/go-ethereum-optimism/issues/4)
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: cerc-io/tx-spammer#6
No description provided.