• Stars
    star
    257
  • Rank 158,728 (Top 4 %)
  • Language
    Shell
  • License
    MIT License
  • Created almost 8 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Scripts collection to generate ECDSA keypairs and derive their Ethereum address

Ethereum wallet generator

Simple script collection, currently in bash and python format, to generate a complete offline Ethereum wallet by creating an ECDSA keypair and derive its Ethereum address.

You can read my article about it here: https://kobl.one/blog/create-full-ethereum-keypair-and-address/

IMPORTANT The python version of this script has been updated to support mixed-case checksum address encoding through EIP55.

Python dependencies

You can also use the included requirements.txt file to install them

pip install -r requirements.txt

Bash dependencies

Compiled, statically linked versions of the keccak-256sum executable are available in the lib folder of this repo for i386 and x86_64.

Importing private key to geth

You can use the generated private key to import in to geth (https://github.com/ethereum/go-ethereum).

# First save the private hexadecimal key to a file
echo eff415edb6331f4f67bdb7f1ecc639da9bcc0550b100bb275c7b5b21ce3a7804 > key
# Then use account import feature of geth (here importing in the 'testnet' directory)
./go-ethereum/build/bin/geth --datadir ~/.ethereum/testnet account import key

Note that geth will ask you immediately to choose a passphrase to protect the newly imported key.

Example

./ethereum-wallet-generator.py
Private key: 981679905857953c9a21e1807aab1b897a395ea0c5c96b32794ccb999a3cd781
Public key:  7454f003941bba7c5e16d8c9fce19104b2f51486e00d47f39e6eb0aea6f1c6f80cad2d239c8b4b1bf903e41960920f735fda4fcc4422aa815416b7d0df62f8a5 
Address:     0x5fe3062B24033113fbf52b2b75882890D7d8CA54
./ethereum-wallet-generator.sh
Private key: 9442b4b82c8011530f3a363cc87a4ea91efd53552faab2e63fd352db9367bb24
Public key:  3f538de115393e2a8851b4c19f686b6bb245213c3823e69336583f1d72c53d20831ea0574900b31d833932b3e8e71b4e99d574c6480890d60153fc2dccbc96d6
Address:     0x083c41ea13af6c2d5aaddf6e73142eb9a7b00183