Solidity Function Selector Miner (AVX2 + Multithreaded)

Overview

Function Selector Miner

Simple and fast Solidity function selector miner (CPU based).

Uses AVX2 instructions and multithreading to compute hashes in parallel.

Should be able to mine most selectors under a minute with a core i7-12700F.

Requirements

A recent Rust compiler. Tested with rustc 1.72.0.

Running

cargo run --release <function_name> <function_params> <target_selector> [num_threads]

For example:

cargo run --release "someFunction" "(uint256,address)" "0x12345678"
You might also like...
Silent monero miner using xmrig and has 0% donation.

Note If this reprository is useful to you in in any shape or form please give it a star. Educational purposes only Don't use this project maliciously.

Secure multithreaded packet sniffer
Secure multithreaded packet sniffer

sniffglue sniffglue is a network sniffer written in rust. Network packets are parsed concurrently using a thread pool to utilize all cpu cores. Projec

A multithreaded programming language!

hydracane A multithreaded programming language! Getting started Coming Soon! Features: Multithreaded Platform independent Folders: src/vm: The Virtual

Multithreaded, non-blocking Linux server framework in Rust

hydrogen Documentation hydrogen is a non-blocking socket server framework built atop epoll. It takes care of the tedious connection and I/O marshaling

Oxipng - a multithreaded lossless PNG compression optimizer

Oxipng Overview Oxipng is a multithreaded lossless PNG compression optimizer. It can be used via a command-line interface or as a library in other Rus

Multithreaded Web Server Made with Rust

Multithreaded Web Server Made with Rust The server listens for TCP connections at address 127.0.0.1:7878. Several pages can be accessed: 127.0.0.1:787

♾️ A multithreaded fractal renderer in Rust
♾️ A multithreaded fractal renderer in Rust

fractal.rs A multithreaded fractal renderer in Rust Online release The live wasm-compiled release is accessible here. Due to some rust wasm compiler l

Simple, extensible multithreaded background job processing library for Rust.
Simple, extensible multithreaded background job processing library for Rust.

Apalis Apalis is a simple, extensible multithreaded background job processing library for Rust. Features Simple and predictable job handling model. Jo

Multithreaded cp in rust.

MultiCP Just a multithreaded version of cp which uses the fcopyfile, copy_file_range, CopyFileEx syscalls on macOS, Linux and Windows respectively (ab

Gain intuition about the goings-on of your multithreaded/multicomponent programs
Gain intuition about the goings-on of your multithreaded/multicomponent programs

Intuition: a super simple profiler with a terminal ui based on tui-rs. Gain intuition about the goings-on of your multithreaded/multicomponent program

Solidity-Compiler Version Manager

Solidity Compiler Version Manager

Rust = Solidity

POC harness for writing Solidity tests in Rust using ethers-rs. Usage Run forge tests forge test Run rust tests forge build cargo test Notes The usag

Generates Solidity code to verify EIP-712 style signatures

eip712 Generates Solidity code to verify EIP-712 style signatures. Usage First, create an abstract contract implementing the functionality you want: /

evm2near compiles Solidity contracts into NEAR WebAssembly contracts.

EVM → NEAR evm2near is a project for compiling EVM bytecode into wasm bytecode, with the particular goal of having that wasm artifact be executable on

A Foundry plugin that enables you to plot charts within solidity.

🖌️ solplot A Foundry plugin that enables you to plot charts within solidity. Installation First, make sure that you have Rust installed. Then install

A Solidity static analyzer to identify contract vulnerabilities and gas efficiencies.

solstat A Solidity static analyzer to identify contract vulnerabilities and gas efficiencies. .------. .------. .------. .------. .------. .------. .-

AI-Boosted Solidity REPL

ChiselGPT: AI-Boosted Solidity REPL Chisel-GPT is an extension for Chisel allowing natural language requests. The natural language requests are conver

Rust bindings for Solidity's AST and visitors

solc-ast solc-ast provides rust bindings for the solidity AST and visitors. The visitors were built to be 1-1 compatible with the visitors from solc.

A simple, fast, and easy to use Solidity test generator based on the Branching Tree Technique.

bulloak A simple, fast, and easy to use Solidity test generator based on the Branching Tree Technique. Installing cargo install bulloak Usage Basic Us

Comments
  • Non-deterministic mining or multiple results

    Non-deterministic mining or multiple results

    Hi!

    I have what might be a non-standard use for the miner. There's an unverified contract that I've been trying to fully reproduce the source code of, and while most of the function selectors in it appear in the public databases, there are two that don't. I can guess what the main keyword of the function name is, but haven't figured out exactly how to spin it into the specific selector.

    The thing is, this project as-is will turn out a deterministic selector afaict - it'll always produce the same function name to get to the selector. I'm not too convinced that the one that I'm getting is the right one. (No, I don't think the authors appended specifically 4945026298 to the function's name.) I'm hoping maybe there's a way to either ask for multiple results (which might also be useful for minoooors so they can pick the one that is the most aesthetically pleasing to them or something), or have a switch to add some kind of salt to make results non-deterministic. Would either of those be possible?

    Cheers!

    opened by wschwab 2
  • ♻️ Tidy

    ♻️ Tidy

    Doesn't seem to have a difference in C++. despite intel intrinsics webpage saying that it is faster.

    Thus we should expect Rust to be same. Probably.

    Unfortunately, Rust's _mm256_srli_epi64 uses const generics (I don't know why lol), and Rust can't do const generics arithmetic.

    opened by Vectorized 0
  • ♻️ Tidy

    ♻️ Tidy

    Doesn't seem to have a difference in C++. despite intel intrinsics webpage saying that it is faster.

    Thus we should expect Rust to be same. Probably.

    Unfortunately, Rust's _mm256_srli_epi64 uses const generics (I don't know why lol), and Rust can't do const generics arithmetic.

    opened by Vectorized 0
Owner
Vectorized
Let's accelerate the code.
Vectorized
Blazingly fast function selector miner written in Rust.

About Blazingly fast function selector miner written in Rust. Usage git clone [email protected]:kadenzipfel/function-selector-miner.git cd function-selec

kaden 38 Apr 13, 2023
Finds matching solidity function signatures for a given 4 byte signature hash and arguments.

Finds matching solidity function signatures for a given 4 byte signature hash and arguments. Useful for finding collisions or 0x00000000 gas saving methods (though there are better techniques for saving gas on calldata)

null 73 Dec 22, 2022
A tool to optimize your Solidity function signatures.

sigop A CLI tool to optimize your Solidity function signatures. I wanted to create this after seeing transmissions11's comment about this optimization

Quartz Technology 11 Nov 24, 2022
An automated CLI tool that optimizes gas usage in Solidity smart contracts, focusing on storage and function call efficiency.

Solidity-Gas-Optimizoor An high performance automated CLI tool that optimizes gas usage in Solidity smart contracts, focusing on storage and function

Chia Yong Kang 10 Mar 11, 2024
Rust+OpenCL+AVX2 implementation of LLaMA inference code

RLLaMA RLLaMA is a pure Rust implementation of LLaMA large language model inference.. Supported features Uses either f16 and f32 weights. LLaMA-7B, LL

Mikko Juola 344 Apr 16, 2023
a fast song selector for mpd

rinse a fast song selector for mpd The way I typically use mpd is to add all of my songs to a single playlist with random enabled and use mpc with med

David Sherriff 17 Nov 29, 2022
Demonstration of flexible function calls in Rust with function overloading and optional arguments

Table of Contents Table of Contents flexible-fn-rs What is this trying to demo? How is the code structured? Named/Unnamed and Optional arguments Mecha

Tien Duc (TiDu) Nguyen 81 Nov 3, 2022
A neural network model that can approximate any non-linear function by using the random search algorithm for the optimization of the loss function.

random_search A neural network model that can approximate any non-linear function by using the random search algorithm for the optimization of the los

ph04 2 Apr 1, 2022
Yet another gem miner

Rusty Pickaxe Multithreaded CPU miner for Provably Rare Gems, written in Rust. There is also closed-source GPU version, waiting to be released. Config

Someone 7 Aug 11, 2022
A re-write of polkadot staking miner using subxt to avoid hard dependency to each runtime version

Staking Miner v2 WARNING this library is under active development DO NOT USE IN PRODUCTION. The library is a re-write of polkadot staking miner using

Parity Technologies 19 Dec 28, 2022