Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/makevoid/vanieth
Ethereum vanity address "generator" written in golang.
https://github.com/makevoid/vanieth
cli ethereum golang vanity-addresses
Last synced: about 2 months ago
JSON representation
Ethereum vanity address "generator" written in golang.
- Host: GitHub
- URL: https://github.com/makevoid/vanieth
- Owner: makevoid
- Created: 2016-02-04T22:58:38.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2021-12-21T20:15:13.000Z (about 3 years ago)
- Last Synced: 2024-06-20T12:42:04.193Z (7 months ago)
- Topics: cli, ethereum, golang, vanity-addresses
- Language: Go
- Homepage:
- Size: 1.69 MB
- Stars: 79
- Watchers: 5
- Forks: 34
- Open Issues: 2
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Vanieth
![](https://github.com/makevoid/vanieth/blob/master/screenshots/readme_banner.png?raw=true)
A comprehensive and fast Ethereum vanity address "generator" written in golang.
### Docker Run
If you are just interested in running the program I recently added a way to run the CLI app via Docker:
docker run makevoid/vanieth ./vanieth abc
### Golang Run - Prerequisites:
You have to have go (golang) installed
Go get this repo:
go get github.com/makevoid/vanieth
Run it:
$GOPATH/bin/vanieth
Copy it to your path, or add $GOPATH/bin to your path
### Example run:
```
$ vanieth 42
{"address":"0x42f32B004Da1093d51AE40a58F38E33BA4f46397","private":"4774628228852ee570d188f92cd10df3282bb5d895fc701733f43fca6bfb9852","public":"04d811caac49ba458fda498e5bc385bc9cc6e67aa6b19ba754c6cd75953ef06310e8607798ce5810a0b32fbd41fe8915de52fd511e7660038ff7067a0e94fc9481"}
```The returned address and private key are in hex format. As you can see the ethereum address starts with the mythical `42`.
Here's a more complex vanity address, this will take a significally longer time to do a complete run.
```
$ vanieth 1234
{"address":"0x12341b4c716B8FCFA8E13A83CA3dFd2c6051E60D","private":"ee50661eb0080cd36ce380f3dad5511c91f97ccee67bd14dc7a91335a34720d1","public":"04e0526fbc5552e4ff117a5c065ad3ce6f8211e160e12bdd3dded3dab2bfc268916489ed2c8d4af6c624406085c5e9a6946bdfbe0d74de26384a7c9baaf6f2de64"}
```The more chars you add, the longer the time will be, exponentially!
### Advanced features
Apart from searching for just prefixes you can also search for contract addresses, regular expressions and dump details for an existing or previously found private key:
### Usage
```
Usage:
vanieth [-acilqs] [-n num] [-d dist] (-key=key | -scan=address | search)-a, --address
Search for results in the main address (can specify with -c to search both at once)
-c, --contract
Search through first "distance" number of contract addresses (or 10 if unspecified)
-n, --count results
Keep searching until this many results have been found
-d, --distance depth
Specify depth of contract addresses to search (only if -c or -l specified)
-i, --ignore-case
Search in case-insensitive fashion
--key key
Specify a single private key to display
-l, --list
List all contract addresses within given "distance" number along with output
--max-procs int
Set number of simultaneous processes (default = numCPUs)
-s, --no-sum
Don't convert the address to a checksum address
-q, --quiet
Don't print out speed progress updates, just the found addresses (forced if not TTY)
--scan string
Scan a specified source address (only useful for searching contract addresses)
-t, --timed seconds
Allow to run for given number of seconds
```#### Examples:
```
vanieth -n 3 'ABC'
```Find 3 addresses that have `ABC` at the beginning.
```
vanieth -t 5 'ABC'
```Find as many address that have `ABC` at the beginning as possible within 5 seconds.
```
vanieth -c 'ABC'
```Find any address that has `ABC` at the beginning of any of the first 10 contract addresses.
```
vanieth -cd1 '00+AB'
```Find any address that has `AB` after 2 or more `0` chars in the first contract address.
```
vanieth '.*ABC'
```Find a single address that contains `ABC` anywhere.
```
vanieth '.*DEF$'
```Find a single address that contains `DEF` at the end.
```
vanieth -i 'A.*A$'
```Find a single address that contains either `A` or `a` at both the start and end.
```
vanieth -ld1 '.*ABC'
```Find a single address that contains `ABC` anywhere, and also list the first contract address.
```
vanieth -ld5 --key=0x349fbc254ff918305ae51967acc1e17cfbd1b7c7e84ef8fa670b26f3be6146ba
```List the details and first five contract address for the supplied private key.
```
vanieth -l --scan=0x950024ae4d9934c65c9fd04249e0f383910d27f2
```Show the first 10 contract addresses of the supplied address.
### Go Build
`go get` the project following the instructions at the top
cd into your $GOROOT where this project is located
Build the executable with
./build.sh
### Docker Build
Now that you have built the executable you can package it up as a docker container via docker-compose
Just run:
docker-compose build
this will build the docker container with your changes.
Test run via:
docker-compose run vanieth ./vanieth abc
---
Enjoy,
[@makevoid](https://twitter.com/makevoid) & @norganna