Zmiana BLS do wykonania

Wprowadzenie

Aby umożliwić walidatorom łańcucha śledzącego automatyczne wypłaty sald na adres warstwy wykonania (Eth1), możesz użyć narzędzia i wygenerować SignedBLSToExecutionChange plik JSON komunikatu. Komunikat ten zawiera żądanie zmiany starych poświadczeń do wycofywania środków BLS na nowe poświadczenia do wycofywania środków w formacie adresu wykonawczego.Aby włączyć ten komunikat do sieci głównej, musisz przesłać go do puli węzła śledzącego hard fork Capella/Shanghai.

Instalacja

Opcja 1: pliki binarne

Pliki binarne można znaleźć w Wydania CLI wpłaty do stakingu

Opcja 2: kod źródłowy + virtualenv

Download master branch:git clone https://github.com/earthwallet/staking-deposit-cli.gitZainstaluj i ustaw virtualenv:pip3 install virtualenv
virtualenv venv
source venv/bin/activate
Zainstaluj zależności:python3 setup.py install
pip3 install -r requirements.txt

Wygeneruj plik bls_to_execution_change-*.json

Załóżmy, że wygenerowana została wpłata w formacie EIP-2334 i masz poświadczenia BLS. Jeśli nie, możesz wygenerować je, korzystając z dokumenty.

Wykonaj z parametrami

Opcja 1: pliki binarne

Tryb interaktywny./deposit generate-bls-to-execution-changeWiersz polecenia z flagami./deposit --language=english generate-bls-to-execution-change \
--chain=mainnet \
--mnemonic="<Twój mnemonik>" \
--bls_withdrawal_credentials_list="<Twoje stare poświadczenia do wycofywania środków BLS>" \
--validator_start_index=<Indeks początkowy klucza w EIP-2334> \
--validator_indices="<Indeksy Twojego walidatora>" \
--execution_address="<Adres wykonania do wycofywania środków>"
[Example]./deposit --language=english generate-bls-to-execution-change \
--chain=mainnet \
--mnemonic="sister protect peanut hill ready work profit fit wish want small inflict flip member tail between sick setup bright duck morning sell paper worry" \
--bls_withdrawal_credentials_list="0x00bd0b5a34de5fb17df08410b5e615dda87caf4fb72d0aac91ce5e52fc6aa8de,0x00a75d83f169fa6923f3dd78386d9608fab710d8f7fcf71ba9985893675d5382" \
--validator_start_index=0 \
--validator_indices="50000, 50001" \
--execution_address="0x3434343434343434343434343434343434343434"

Opcja 2: kod źródłowy + virtualenv

Tryb interaktywnypython ./staking_deposit/deposit.py generate-bls-to-execution-changeWiersz polecenia z flagamipython ./staking_deposit/deposit.py --language=english generate-bls-to-execution-change \
--chain=mainnet \
--mnemonic="<Twój mnemonik>" \
--bls_withdrawal_credentials_list="<Twoje stare poświadczenia do wycofywania środków BLS>" \
--validator_start_index=<Indeks początkowy klucza w EIP-2334> \
--validator_indices="<Indeksy Twojego walidatora>" \
--execution_address="<Adres wykonania do wycofywania środków>"
[Example]python ./staking_deposit/deposit.py --language=english generate-bls-to-execution-change \
--chain=mainnet \
--mnemonic="sister protect peanut hill ready work profit fit wish want small inflict flip member tail between sick setup bright duck morning sell paper worry" \
--bls_withdrawal_credentials_list="0x00bd0b5a34de5fb17df08410b5e615dda87caf4fb72d0aac91ce5e52fc6aa8de,0x00a75d83f169fa6923f3dd78386d9608fab710d8f7fcf71ba9985893675d5382" \
--validator_start_index=0 \
--validator_indices="50000, 50001" \
--execution_address="0x3434343434343434343434343434343434343434"
W przypadku devnet możesz dodać parametr:--devnet_chain_setting='{ "network_name": "<Nazwa sieci>", "genesis_fork_version": "<Wersja fork genezy>", "genesis_validator_root": "<Konto root walidatora genezy>" }'[Przykład: withdrawal-mainnet-shadowfork-1]--devnet_chain_setting='{ "network_name": "withdrawal-msf-1", "genesis_fork_version": "0x10000043", "genesis_validator_root": "0xe9ec351d158fd3b89b6afd2e6033bcae8d8adc2dd4c560c4bbf852d47ed0410e" }'

Oczekiwane wyniki

**[Warning] you are setting an Eth1 address as your withdrawal address. Please ensure that you have control over this address.**

Verifying your BLSToExecutionChange file: [####################################] N/N

Success!
Your SignedBLSToExecutionChange JSON file can be found at: /.../staking-deposit-cli/bls_to_execution_changes

Press any key.
Domyślnie plik bls_to_execution_changes-*.json znajduje się w folderze ./bls_to_execution_changes.

Prześlij do puli BLSToExecutionChange węzła śledzącego

Podpisany komunikat możesz nadać, używając polecenia curl w wierszu polecenia:curl -X POST -H “Content-type: application/json” -d @<@Miejsca przeznaczenia nazwy pliku> \
http://<BEACON_NODE_HTTP_API_URL>/eth/v1/beacon/pool/bls_to_execution_changes
Możesz też użyć narzędzia do nadawania Beaconcha.in, aby przesłać komunikat za pomocą interfejsu webowego:Narzędzie do nadawania Beaconcha.in