Home

Awesome

createXcrunch

👮‍♂️ Sanity checks License: MIT

createXcrunch is a Rust-based program designed to efficiently find zero-leading, zero-containing, or pattern-matching addresses for the CreateX contract factory. Uses OpenCL in order to leverage a GPU's mining capabilities.

Installation

  1. Clone the Repository
git clone https://github.com/HrikB/createXcrunch.git
cd createXcrunch
  1. Build the Project
cargo build --release

[!NOTE] Building on Windows works as long as you have installed the CUDA Toolkit or the AMD Radeon Software. However, the WSL 2 installation on Windows x64 systems with NVIDIA hardware fails, as the current NVIDIA driver does not yet support passing OpenCL to Windows Subsystem for Linux (WSL) (see here).

Example Setup on Vast.ai

Update Linux

sudo apt update && sudo apt upgrade

Install build-essential Packages

We need the GNU Compiler Collection (GCC) later.

sudo apt install build-essential

Install CUDA Toolkit

createXcrunch uses OpenCL which is natively supported via the NVIDIA OpenCL extensions.

sudo apt install nvidia-cuda-toolkit

Install Rust

Enter 1 to select the default option and press the Enter key to continue the installation. Restart the current shell after completing the installation.

curl https://sh.rustup.rs -sSf | sh

Build createXcrunch

git clone https://github.com/HrikB/createXcrunch.git
cd createXcrunch
cargo build --release

🎉 Congrats, now you're ready to crunch your salt(s)!

Usage

./target/release/createxcrunch create3 --caller 0x88c6C46EBf353A52Bdbab708c23D0c81dAA8134A
  \ --crosschain 1
  \ --matching ba5edXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXba5ed

Use the --help flag for a full overview of all the features and how to use them:

./target/release/createxcrunch create2 --help

or

./target/release/createxcrunch create3 --help

Local Development

We recommend using cargo-nextest as test runner for this repository. To install it on a Linux x86_64 machine, invoke:

curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin

Afterwards you can run the tests via:

cargo nextest run

Contributions

PRs welcome!

Acknowledgements