Passaggio da BLS a esecuzione

Introduzione

Per consentire al tuo o ai tuoi validatori della beacon chain di prelevare automaticamente i saldi sul tuo indirizzo livello di esecuzione (Eth1), è possibile utilizzare lo strumento per generare il file JSON del messaggio SignedBLSToExecutionChange. Questo messaggio include la richiesta di modificare le vecchie credenziali di prelievo BLS in nuove credenziali di prelievo in formato indirizzo di esecuzione.Per includere questo messaggio nella rete principale, dovrai caricare questo messaggio su un pool di del nodo beacon una biforcazione dura Capella/Shanghai.

Installazione

Opzione 1: file binari

Puoi trovare i file binari in Versioni di Staking Deposit CLI

Opzione 2: codice sorgente + virtualenv

Download master branch:git clone https://github.com/earthwallet/staking-deposit-cli.gitInstallazione e impostazione di virtualenv:pip3 install virtualenv
virtualenv venv
source venv/bin/activate
Installazione di dipendenze:python3 setup.py install
pip3 install -r requirements.txt

Generare il file bls_to_execution_change-*.json

Supponiamo di aver generato il deposito in formato EIP-2334 e di avere le credenziali di prelievo BLS. In caso contrario, puoi generarlo seguendo documenti.

Esecuzione con i parametri

Opzione 1: file binari

Modalità interattiva./deposit generate-bls-to-execution-changeRiga di comando con flag./deposit --language=english generate-bls-to-execution-change \
--chain=mainnet \
--mnemonic="<Il tuo mnemonico>" \
--bls_withdrawal_credentials_list="<Le tue precedenti credenziali di prelievo BLS>" \
--validator_start_index=<L'indice di inizio della chiave in EIP-2334> \
--validator_indices="<I tuoi indici validatore>" \
--execution_address="<L'indirizzo di esecuzione per i prelievi>"
[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"

Opzione 2: codice sorgente + virtualenv

Modalità interattivapython ./staking_deposit/deposit.py generate-bls-to-execution-changeRiga di comando con flagpython ./staking_deposit/deposit.py --language=english generate-bls-to-execution-change \
--chain=mainnet \
--mnemonic="<Il tuo mnemonico>" \
--bls_withdrawal_credentials_list="<Le tue precedenti credenziali di prelievo BLS>" \
--validator_start_index=<L'indice di inizio della chiave in EIP-2334> \
--validator_indices="<I tuoi indici validatore>" \
--execution_address="<L'indirizzo di esecuzione per i prelievi>"
[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"
Per devnet è possibile aggiungere un parametro:--devnet_chain_setting='{ "network_name": "<Nome della rete>", "genesis_fork_version": "<Versione della biforcazione Genesi>", "genesis_validator_root": "<Root validatore Genesi>" }'[Esempio: withdrawal-mainnet-shadowfork-1]--devnet_chain_setting='{ "network_name": "withdrawal-msf-1", "genesis_fork_version": "0x10000043", "genesis_validator_root": "0xe9ec351d158fd3b89b6afd2e6033bcae8d8adc2dd4c560c4bbf852d47ed0410e" }'

Output previsti

**[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.
Per impostazione predefinita, puoi trovare il file bls_to_execution_changes-*.json nella cartella ./bls_to_execution_changes.

Carica sul pool BLSToExecutionChange di nodi beacon

È possibile trasmettere il messaggio firmato dalla riga di comando utilizzando il comando curl:curl -X POST -H “Content-type: application/json” -d @<@Nome file destinazione> \
http://<BEACON_NODE_HTTP_API_URL>/eth/v1/beacon/pool/bls_to_execution_changes
È anche possibile utilizzare lo strumento di trasmissione Beaconcha.in per caricare il messaggio utilizzando un'interfaccia utente web:Strumento di trasmissione Beaconcha.in