From f9fd7a169c1264d7c600dfc39f56a354be1aef51 Mon Sep 17 00:00:00 2001 From: Hsiao-Wei Wang Date: Mon, 27 Jul 2020 23:52:00 +0800 Subject: [PATCH 01/10] Add network (chain) name selection to prompt --- eth2deposit/deposit.py | 1 + eth2deposit/settings.py | 2 +- test_deposit_script.py | 1 + tests/test_cli.py | 3 ++- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/eth2deposit/deposit.py b/eth2deposit/deposit.py index 2dc477cc..4d4e5995 100644 --- a/eth2deposit/deposit.py +++ b/eth2deposit/deposit.py @@ -70,6 +70,7 @@ def check_python_version() -> None: ) @click.option( '--chain', + prompt='Please choose the (mainnet or testnet) network/chain name', type=click.Choice(ALL_CHAINS.keys(), case_sensitive=False), default=MAINNET, ) diff --git a/eth2deposit/settings.py b/eth2deposit/settings.py index cfcb1a87..7a2cebd2 100644 --- a/eth2deposit/settings.py +++ b/eth2deposit/settings.py @@ -5,7 +5,7 @@ class BaseChainSetting(NamedTuple): GENESIS_FORK_VERSION: bytes -# Eth2 Mainet setting +# Eth2 Mainnet setting MainnetSetting = BaseChainSetting(GENESIS_FORK_VERSION=bytes.fromhex('00000000')) # Eth2 spec v0.11.3 testnet WittiSetting = BaseChainSetting(GENESIS_FORK_VERSION=bytes.fromhex('00000113')) diff --git a/test_deposit_script.py b/test_deposit_script.py index e40b87b9..4fd94282 100755 --- a/test_deposit_script.py +++ b/test_deposit_script.py @@ -27,6 +27,7 @@ async def main(): run_script_cmd, '--num_validators', '1', '--mnemonic_language', 'english', + '--chain', 'mainnet', '--password', 'MyPassword', '--folder', my_folder_path, ] diff --git a/tests/test_cli.py b/tests/test_cli.py index bee82d81..67976f1b 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -41,7 +41,7 @@ def get_mnemonic(language: str, words_path: str, entropy: Optional[bytes]=None) os.mkdir(my_folder_path) runner = CliRunner() - inputs = ['5', 'english', 'MyPassword', 'MyPassword', 'fakephrase'] + inputs = ['5', 'english', 'mainnet', 'MyPassword', 'MyPassword', 'fakephrase'] data = '\n'.join(inputs) result = runner.invoke(main, ['--folder', my_folder_path], input=data) @@ -87,6 +87,7 @@ async def test_script() -> None: run_script_cmd, '--num_validators', '1', '--mnemonic_language', 'english', + '--chain', 'mainnet', '--password', 'MyPassword', '--folder', my_folder_path, ] From 3c42ea99bc1974b8735d1f12574bae8d4267abd9 Mon Sep 17 00:00:00 2001 From: Hsiao-Wei Wang Date: Tue, 28 Jul 2020 03:25:52 +0800 Subject: [PATCH 02/10] Store artifacts --- .circleci/config.yml | 55 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 51 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 408fe92e..dc896675 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -113,7 +113,21 @@ jobs: command: pip install -r ./build_configs/linux/requirements.txt - run: name: Build with build.spec - command: pyinstaller ./build_configs/linux/build.spec + command: | + export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) + export BUILD_FILE_NAME=eth2deposit-cli-${CIRCLE_SHORT_SHA1}-linux-amd64; + mkdir ${BUILD_FILE_NAME}; + pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/linux/build.spec; + - run: + name: Compress the file + command: | + export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) + export BUILD_FILE_NAME=eth2deposit-cli-${CIRCLE_SHORT_SHA1}-linux-amd64; + tar -zcvf ${BUILD_FILE_NAME}.tar.gz ./${BUILD_FILE_NAME}; + mkdir /tmp/artifacts; + cp ${BUILD_FILE_NAME}.tar.gz /tmp/artifacts; + - store_artifacts: + path: /tmp/artifacts build-windows: executor: name: win/default @@ -125,10 +139,28 @@ jobs: command: pip install -r ./build_configs/windows/requirements.txt - run: name: Build with build.spec - command: pyinstaller ./build_configs/windows/build.spec + command: | + $CIRCLE_SHORT_SHA1 = $env:CIRCLE_SHA1.substring(0,7) + $BUILD_FILE_NAME = "eth2deposit-cli-" + $CIRCLE_SHORT_SHA1 + "-windows-amd64" + mkdir $BUILD_FILE_NAME + $BUILD_FILE_NAME_PATH = ".\" + $BUILD_FILE_NAME + pyinstaller --distpath $BUILD_FILE_NAME_PATH .\build_configs\windows\build.spec + - run: + name: Compress the file + command: | + $CIRCLE_SHORT_SHA1 = $env:CIRCLE_SHA1.substring(0,7) + $BUILD_FILE_NAME = "eth2deposit-cli-" + $CIRCLE_SHORT_SHA1 + "-windows-amd64" + $BUILD_FILE_NAME_PATH = ".\" + $BUILD_FILE_NAME + $ZIP_FILE_NAME = $BUILD_FILE_NAME + ".zip" + Compress-Archive -Path $BUILD_FILE_NAME_PATH -DestinationPath $ZIP_FILE_NAME + mkdir \tmp\artifacts + copy $ZIP_FILE_NAME \tmp\artifacts\ + - store_artifacts: + path: /tmp/artifacts build-macos: macos: - xcode: 11.3.0 + xcode: 11.3.0 + working_directory: ~/repo steps: - run: xcodebuild -version - run: python3 --version @@ -138,7 +170,22 @@ jobs: command: pip3 install -r ./build_configs/macos/requirements.txt - run: name: Build with build.spec - command: pyinstaller ./build_configs/macos/build.spec + command: | + export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) + export BUILD_FILE_NAME=eth2deposit-cli-${CIRCLE_SHORT_SHA1}-darwin-amd64; + mkdir ${BUILD_FILE_NAME}; + pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/macos/build.spec; + - run: + name: Compress the file + command: | + export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) + export BUILD_FILE_NAME=eth2deposit-cli-${CIRCLE_SHORT_SHA1}-darwin-amd64; + tar -zcvf ${BUILD_FILE_NAME}.tar.gz ./${BUILD_FILE_NAME}; + mkdir /tmp/artifacts; + cp ${BUILD_FILE_NAME}.tar.gz /tmp/artifacts; + - store_artifacts: + path: /tmp/artifacts + workflows: version: 2.1 all_test: From 2572ec27ee04fb5654f4afa5f747001add23053a Mon Sep 17 00:00:00 2001 From: Hsiao-Wei Wang Date: Tue, 28 Jul 2020 12:14:07 +0800 Subject: [PATCH 03/10] Try to use venv to avoid `poetry` dependencies conflict (with Ubuntu image) --- .circleci/config.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index dc896675..160adff1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -110,14 +110,16 @@ jobs: - checkout - run: name: Install building requirements on Linux - command: pip install -r ./build_configs/linux/requirements.txt + command: | + python3 -m venv venv; + ./venv/bin/python -m pip install -r ./build_configs/linux/requirements.txt; - run: name: Build with build.spec command: | export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) export BUILD_FILE_NAME=eth2deposit-cli-${CIRCLE_SHORT_SHA1}-linux-amd64; mkdir ${BUILD_FILE_NAME}; - pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/linux/build.spec; + ./venv/bin/pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/linux/build.spec; - run: name: Compress the file command: | From e31ff99e23a06554dcc4b10c261662f0c7c9503d Mon Sep 17 00:00:00 2001 From: Hsiao-Wei Wang Date: Tue, 28 Jul 2020 12:57:24 +0800 Subject: [PATCH 04/10] Downgrade to `ubuntu-1604:202007-01` image --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 160adff1..476a3d23 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -103,8 +103,8 @@ jobs: name: Run deposit script on Windows" command: python ./test_deposit_script.py build-linux: - docker: - - image: circleci/python:3.7 + machine: + image: ubuntu-1604:202007-01 working_directory: ~/repo steps: - checkout From d370605cd04c641e5d57c27b3a6041922cec7f88 Mon Sep 17 00:00:00 2001 From: Hsiao-Wei Wang Date: Tue, 28 Jul 2020 13:07:07 +0800 Subject: [PATCH 05/10] Rebuild Python with --enable-shared --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 476a3d23..14a9a67f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -111,6 +111,7 @@ jobs: - run: name: Install building requirements on Linux command: | + ./configure --enable-shared --prefix=/opt/python LDFLAGS=-Wl,-rpath=/opt/python/lib; python3 -m venv venv; ./venv/bin/python -m pip install -r ./build_configs/linux/requirements.txt; - run: From 18b7a3c80fd755c6935b6cf54f6ee3e63f94d700 Mon Sep 17 00:00:00 2001 From: Hsiao-Wei Wang Date: Tue, 28 Jul 2020 13:24:42 +0800 Subject: [PATCH 06/10] Sadly install 3.7.5 with `--enable-shared` flag --- .circleci/config.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 14a9a67f..86cc0cf0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -111,16 +111,17 @@ jobs: - run: name: Install building requirements on Linux command: | - ./configure --enable-shared --prefix=/opt/python LDFLAGS=-Wl,-rpath=/opt/python/lib; - python3 -m venv venv; - ./venv/bin/python -m pip install -r ./build_configs/linux/requirements.txt; + env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.7.5; + pyenv global 3.7.5; + pip install -r ./build_configs/linux/requirements.txt; - run: name: Build with build.spec command: | export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) export BUILD_FILE_NAME=eth2deposit-cli-${CIRCLE_SHORT_SHA1}-linux-amd64; mkdir ${BUILD_FILE_NAME}; - ./venv/bin/pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/linux/build.spec; + pyenv global 3.7.5; + pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/linux/build.spec; - run: name: Compress the file command: | From de5575310b86d98c5ba438ad0286517350ac2e62 Mon Sep 17 00:00:00 2001 From: Hsiao-Wei Wang Date: Tue, 28 Jul 2020 02:47:09 +0800 Subject: [PATCH 07/10] Update README --- README.md | 278 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 242 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 2a9a04bc..f8dad52a 100644 --- a/README.md +++ b/README.md @@ -2,19 +2,47 @@ -**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* + +- [Pre-production warning](#pre-production-warning) - [Tutorial for users](#tutorial-for-users) - - [Requirements](#requirements) + - [Build requirements](#build-requirements) - [For Linux or MacOS users](#for-linux-or-macos-users) - - [Step 1. Install deposit-cli dependencies](#step-1-install-deposit-cli-dependencies) - - [Step 2. Create your keys and deposit data](#step-2-create-your-keys-and-deposit-data) - - [Arguments](#arguments) + - [Option 1. Download binary executable file](#option-1-download-binary-executable-file) + - [Step 1. Installation](#step-1-installation) + - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json) + - [Arguments](#arguments) + - [Successful message](#successful-message) + - [Option 2. Build `deposit-cli` with native Python](#option-2-build-deposit-cli-with-native-python) + - [Step 0. Python version checking](#step-0-python-version-checking) + - [Step 1. Installation](#step-1-installation-1) + - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-1) + - [Arguments](#arguments-1) + - [Successful message](#successful-message-1) + - [Option 3. Build `deposit-cli` with `virtualenv`](#option-3-build-deposit-cli-with-virtualenv) + - [Step 0. Python version checking](#step-0-python-version-checking-1) + - [Step 1. Installation](#step-1-installation-2) + - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-2) + - [Arguments](#arguments-2) + - [Successful message](#successful-message-2) - [For Windows users](#for-windows-users) - - [Step 1. Install deposit-cli dependencies](#step-1-install-deposit-cli-dependencies-1) - - [Step 2. Create your keys and deposit data](#step-2-create-your-keys-and-deposit-data-1) - - [Arguments](#arguments-1) - - [For `venv` users](#for-venv-users) + - [Option 1. Download binary executable file](#option-1-download-binary-executable-file-1) + - [Step 1. Installation](#step-1-installation-3) + - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-3) + - [Arguments](#arguments-3) + - [Successful message](#successful-message-3) + - [Option 2. Build `deposit-cli` with native Python](#option-2-build-deposit-cli-with-native-python-1) + - [Step 0. Python version checking](#step-0-python-version-checking-2) + - [Step 1. Installation](#step-1-installation-4) + - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-4) + - [Arguments](#arguments-4) + - [Successful message](#successful-message-4) + - [Option 3. Build `deposit-cli` with `virtualenv`](#option-3-build-deposit-cli-with-virtualenv-1) + - [Step 0. Python version checking](#step-0-python-version-checking-3) + - [Step 1. Installation](#step-1-installation-5) + - [Step 2. Create keys and `deposit_data-*.json`](#step-2-create-keys-and-deposit_data-json-5) + - [Arguments](#arguments-5) + - [Successful message](#successful-message-5) - [Development](#development) - [Install basic requirements](#install-basic-requirements) - [Install testing requirements](#install-testing-requirements) @@ -28,36 +56,36 @@ This software is a pre-release version which has not yet been audited and theref ## Tutorial for users -### Requirements +### Build requirements - [Python **3.7+**](https://www.python.org/about/gettingstarted/) - [pip3](https://pip.pypa.io/en/stable/installing/) ### For Linux or MacOS users -#### Step 1. Install deposit-cli dependencies +#### Option 1. Download binary executable file -If it's your first time to use this tool, you need to install the Python library dependencies: +##### Step 1. Installation -```sh -./deposit.sh install -``` +See [releases page](https://github.com/ethereum/eth2.0-deposit-cli/releases) to download and decompress the corresponding binary files. -#### Step 2. Create your keys and deposit data +##### Step 2. Create keys and `deposit_data-*.json` Run the following command to enter the interactive CLI: ```sh -./deposit.sh +./deposit ``` You can also run the tool with optional arguments: ```sh -./deposit.sh --num_validators= --mnemonic_language=english --folder= +./deposit --num_validators= --mnemonic_language=english --chain= --folder= ``` -#### Arguments +###### Arguments + +You can use `--help` flag to see all arguments. | Argument | Type | Description | | -------- | -------- | -------- | @@ -66,17 +94,168 @@ You can also run the tool with optional arguments: | `--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. | +###### Successful message + +You will see the following messages after successfully generated the keystore(s) and the deposit(s): + +``` +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: +``` + +#### Option 2. Build `deposit-cli` with native Python + +##### Step 0. Python version checking + +Ensure you are using Python version >= Python3.7: + +```sh +python3 -V +``` + +##### Step 1. Installation + +Install the dependencies: + +```sh +pip3 install -r requirements.txt +python3 setup.py install +``` + +Or use the helper script: + +```sh +./deposit.sh install +``` + +##### Step 2. Create keys and `deposit_data-*.json` + +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= --mnemonic_language=english --chain= --folder= +``` + +###### Arguments +See [here](#arguments) + +###### Successful message +See [here](#successful-message) + +#### Option 3. Build `deposit-cli` with `virtualenv` + +##### Step 0. Python version checking + +Ensure you are using Python version >= Python3.7: + +```sh +python -V +``` + +##### Step 1. Installation + +For the [virtualenv](https://virtualenv.pypa.io/en/latest/) users, you can create a new venv: + +```sh +virtualenv venv +./venv/bin/activate +``` + +and install the dependencies: + +```sh +python setup.py install +pip install -r requirements.txt +``` + +##### Step 2. Create keys and `deposit_data-*.json` + +Run the following command to enter the interactive CLI: + +```sh +python ./eth2deposit/deposit.py +``` + +You can also run the tool with optional arguments: + +```sh +python ./eth2deposit/deposit.py --num_validators= --mnemonic_language=english --chain= --folder= +``` + +###### Arguments +See [here](#arguments) + +###### Successful message +See [here](#successful-message) + +---- + ### For Windows users -#### Step 1. Install deposit-cli dependencies +#### Option 1. Download binary executable file + +##### Step 1. Installation -If it's your first time to use this tool, you need to install the Python library dependencies: +See [releases page](https://github.com/ethereum/eth2.0-deposit-cli/releases) to download and decompress the corresponding binary files. + +##### Step 2. Create keys and `deposit_data-*.json` + +Run the following command to enter the interactive CLI: + +```sh +deposit.exe +``` + +You can also run the tool with optional arguments: + +```sh +deposit.exe --num_validators= --mnemonic_language=english --chain= --folder= +``` + +###### Arguments +See [here](#arguments) + +###### Successful message +See [here](#successful-message) + +#### Option 2. Build `deposit-cli` with native Python + +##### Step 0. Python version checking + +Ensure you are using Python version >= Python3.7: + +```sh +python -V +``` + +##### Step 1. Installation + +Install the dependencies: + +```sh +pip install -r requirements.txt +python setup.py install +``` + +Or use the helper script: ```sh sh deposit.sh install ``` -#### Step 2. Create your keys and deposit data +##### Step 2. Create keys and `deposit_data-*.json` Run the following command to enter the interactive CLI: @@ -87,34 +266,61 @@ sh deposit.sh You can also run the tool with optional arguments: ```sh -sh deposit.sh --num_validators= --mnemonic_language=english --folder= +sh deposit.sh --num_validators= --mnemonic_language=english --chain= --folder= ``` -You will see the following messages after successfully generated the keystore(s) and the deposit(s): +###### Arguments +See [here](#arguments) -#### Arguments +###### Successful message +See [here](#successful-message) -See [here](#arguments) +#### Option 3. Build `deposit-cli` with `virtualenv` + +##### Step 0. Python version checking +Ensure you are using Python version >= Python3.7: + +```sh +python -V ``` -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: +##### Step 1. Installation + +For the [virtualenv](https://virtualenv.pypa.io/en/latest/) users, you can create a new venv: + +```sh +virtualenv venv +./venv/bin/activate ``` -### For `venv` users +and install the dependencies: -If you want to use Python [`venv`](https://docs.python.org/3.7/library/venv.html), just run: +```sh +python setup.py install +pip install -r requirements.txt +``` + +##### Step 2. Create keys and `deposit_data-*.json` + +Run the following command to enter the interactive CLI: ```sh -make venv_deposit +python ./eth2deposit/deposit.py ``` +You can also run the tool with optional arguments: + +```sh +python ./eth2deposit/deposit.py --num_validators= --mnemonic_language=english --chain= --folder= +``` + +###### Arguments +See [here](#arguments) + +###### Successful message +See [here](#successful-message) + ## Development ### Install basic requirements From 9bdcc106152a69067c7d09522ff6ab451b47a15f Mon Sep 17 00:00:00 2001 From: Hsiao-Wei Wang Date: Tue, 28 Jul 2020 10:02:20 +0800 Subject: [PATCH 08/10] Apply PR feedback from @ethers --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f8dad52a..92800a72 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ ## 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. +This software is a pre-release version which has not yet been audited and therefore should not yet be trusted to generate keys with the intent of securing actual ETH. ## Tutorial for users @@ -92,7 +92,7 @@ You can use `--help` flag to see all arguments. | `--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. | +| `--chain` | String. `mainnet` by default | The chain setting for the signing domain. | ###### Successful message From da74d0b92c06056a0b7f6ed23abc771a8a25389d Mon Sep 17 00:00:00 2001 From: Hsiao-Wei Wang Date: Tue, 28 Jul 2020 14:26:20 +0800 Subject: [PATCH 09/10] pip3/pip --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 92800a72..2f2a6e4f 100644 --- a/README.md +++ b/README.md @@ -161,7 +161,7 @@ See [here](#successful-message) Ensure you are using Python version >= Python3.7: ```sh -python -V +python3 -V ``` ##### Step 1. Installation @@ -169,6 +169,7 @@ python -V For the [virtualenv](https://virtualenv.pypa.io/en/latest/) users, you can create a new venv: ```sh +pip3 install virtualenv virtualenv venv ./venv/bin/activate ``` @@ -290,6 +291,7 @@ python -V For the [virtualenv](https://virtualenv.pypa.io/en/latest/) users, you can create a new venv: ```sh +pip install virtualenv virtualenv venv ./venv/bin/activate ``` From 2b07c574309ce091d1434287e5b01e2429876727 Mon Sep 17 00:00:00 2001 From: Hsiao-Wei Wang Date: Tue, 28 Jul 2020 14:39:06 +0800 Subject: [PATCH 10/10] Bump version 0.2.0 -> 0.2.1 (#73) --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 1bcab661..1ac94ed3 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ setup( name="eth2deposit", - version='0.2.0', + version='0.2.1', py_modules=["eth2deposit"], packages=find_packages(exclude=('tests', 'docs')), python_requires=">=3.7,<4",