pcaversaccio / createx

Factory smart contract to make easier and safer usage of the `CREATE` and `CREATE2` EVM opcodes as well as of `CREATE3`-based (i.e. without an initcode factor) contract creations.

Home Page:https://createx.rocks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

💥 Build `CreateXCrunch`

pcaversaccio opened this issue · comments

Describe the desired feature:

To mine efficient (e.g. 0x00000000XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX) or opinionated (0xba5edXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXba5ed) Ethereum addresses for the deployed contract address, we should build a Rust or C++-based tooling that is powered by GPU support using OpenCL features. CPU support can also be part of it.

Related issues:

Possible specification

~$ createxcrunch -h
usage: createxcrunch [-h] [-V] [-f factory_address] [-pdp permissioned_deploy_protection] [-c caller_address] [-crp crosschain_redeploy_protection] [-z minimum_leading_zeros] [-m matching_pattern] [-o output_path] input_file [path_to_JSON_file]

positional argument:
  input_file              Contract creation code as JSON file.

generic program information:
  -h, --help              Show this help message and exit.
  -V, --version           Show program's version number and exit.

salt crunching configuration options:
  -f, --factory           Set the factory address. (Optional, defaults to `0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed`).
  -pdp, --permissioned    Set a permissioned deploy protection. (Optional, defaults to `false`).
  -c, --caller            Set the caller address in checksummed hex format. Required if `pdp = true`, otherwise input will be ignored.
  -crp, --crosschain      Set a cross-chain redeploy protection. (Optional, defaults to `false`).
  -z, --zeros             Minimum number of leading zeros. Example: `-z 4`. Cannot be used in combination with `-m`. (Optional, defaults to `0`).
  -m, --matching          Matching pattern for the contract address. Example: `-m ba5edXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXba5ed`. Cannot be used in combination with `-z`. (Optional, defaults to random pattern).

general output control:
  -o, --output            Set the output path for the results.

See the repo createXcrunch by @HrikB. All discussions regarding new features, issues, etc. will take place there.