Go to file
2020-07-03 18:12:37 +02:00
.circleci Update script and readme 2020-05-23 22:28:41 +08:00
eth2deposit Rename json file fields 2020-06-02 20:19:52 +08:00
tests Add uuid test 2020-05-26 21:00:53 +08:00
.gitignore gitignore dist/ 2020-05-25 15:02:44 +02:00
deposit.sh Fix tox and windows tests 2020-05-23 22:28:41 +08:00
flake8.ini Fix typing error 2020-05-07 15:13:09 +08:00
LICENSE Adds CC0 Licence 2020-02-26 16:53:57 +00:00
Makefile Fix lint setting 2020-05-23 22:35:22 +08:00
mypy.ini Use more strict mypy setting and update KeystoreModule type (#17) 2020-05-19 21:34:16 +08:00
README.md Adds preproduction warning 2020-07-03 18:12:37 +02:00
requirements_test.txt Try Windows 2020-05-23 22:28:38 +08:00
requirements.txt Revert "Bump py_ecc to 4.0.0" 2020-05-26 15:58:11 +08:00
setup.py Fix tox and windows tests 2020-05-23 22:28:41 +08:00
test_deposit_script.py Fix tox and windows tests 2020-05-23 22:28:41 +08:00
tox.ini Fix tox and windows tests 2020-05-23 22:28:41 +08:00

eth2.0-deposit-cli

Table of Contents generated with DocToc

Pre-production warning

This software is a pre-release version which has not yet been audited and therefore should not yet be trusted to keys with the intent of securing actual ETH.

BLS versioning

The eth2specs changed their BLS version from BLS v0, and hash to curve v4 to BLS v2, and hash to curve v7. Because of this this version of the deposit CLI, is not compatible with eth2 versions >= 0.12.x which includes main net.

Using this version for Mainnet deposits will result in loss of funds

Tutorial for users

Requirements

For Linux or MacOS users

Step 1. Install deposit-cli dependencies

If it's your first time to use this tool, you need to install the Python library dependencies:

./deposit.sh install

Step 2. Create your keys and deposit data

Run the following command to enter the interactive CLI:

./deposit.sh

You can also run the tool with optional arguments:

./deposit.sh --num_validators=<NUM_VALIDATORS> --mnemonic_language=english --folder=<YOUR_FOLDER_PATH>

Arguments

Argument Type Description
--num_validators Non-negative integer The number of signing keys you want to generate. Note that the child key(s) are generated via the same master key.
--mnemonic_language String. Options: czech, chinese_traditional, chinese_simplified, english, spanish, italian, korean. Default to english The mnemonic language
--folder String. Pointing to ./validator_keys by default The folder path for the keystore(s) and deposit(s)
--chain String. mainnet by defualt The chain setting for the signing domain.

For Windows users

Step 1. Install deposit-cli dependencies

If it's your first time to use this tool, you need to install the Python library dependencies:

sh deposit.sh install

Step 2. Create your keys and deposit data

Run the following command to enter the interactive CLI:

sh deposit.sh

You can also run the tool with optional arguments:

sh deposit.sh --num_validators=<NUM_VALIDATORS> --mnemonic_language=english --folder=<YOUR_FOLDER_PATH>

You will see the following messages after successfully generated the keystore(s) and the deposit(s):

Arguments

See here

Creating your keys.
Saving your keystore(s).
Creating your deposit(s).
Verifying your keystore(s).
Verifying your deposit(s).

Success!
Your keys can be found at: <YOUR_FOLDER_PATH>

For venv users

If you want to use Python venv, just run:

make venv_deposit

Development

Install basic requirements

python3 -m pip install -r requirements.txt
python3 setup.py install

Install testing requirements

python3 -m pip install -r requirements_test.txt

Run tests

python3 -m pytest .