BLSから実行への変更(BTEC)

はじめに

ビーコン チェーンバリデータが自動的に残高を実行レイヤー(Eth 1)アドレスに引き出せるようにするには、ツールを使用してSignedBLSToExecutionChangeメッセージJSONファイルを生成します。このメッセージには、古いBLS引き出し資格情報を実行アドレス形式の新しい引き出し資格情報に変更する要求が含まれています。このメッセージをメインネットに含めるには、カペラ/上海ハード フォーク、このメッセージをビーコンノードのプール にアップロードする必要があります。

インストール

オプション1: バイナリファイル

ステーキングデポジットCLIリリースでバイナリファイルを見つけることができます

オプション2: ソース コード + virtualenv

Download master branch:git clone https://github.com/earthwallet/staking-deposit-cli.gitvirtualenvをインストールして設定:pip3 install virtualenv
virtualenv venv
source venv/bin/activate
依存関係のインストールpython3 setup.py install
pip3 install -r requirements.txt

bls_to_execution_change-*.jsonファイルの生成

EIP-2334形式でデポジットを生成し、BLS引き出し資格情報を持っているとします。そうでない場合は、ドキュメントに従って生成してください。

パラメーターで実行

オプション1: バイナリファイル

インタラクティブモード./deposit generate-bls-to-execution-changeフラグ付きのコマンドライン./deposit --language=english generate-bls-to-execution-change \
--chain=mainnet \
--mnemonic="<あなたのニーモニック>" \
--bls_withdrawal_credentials_list="<古いBLS引き出し資格情報>" \
--validator_start_index=<EIP-2334の鍵開始インデックス> \
--validator_indices="<あなたのバリデータインデックス>" \
--execution_address="<引き出し用の実行アドレス>"
[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"

オプション2: ソース コード + virtualenv

インタラクティブモードpython ./staking_deposit/deposit.py generate-bls-to-execution-changeフラグ付きのコマンドラインpython ./staking_deposit/deposit.py --language=english generate-bls-to-execution-change \
--chain=mainnet \
--mnemonic="<あなたのニーモニック>" \
--bls_withdrawal_credentials_list="<古いBLS引き出し資格情報>" \
--validator_start_index=<EIP-2334の鍵開始インデックス> \
--validator_indices="<あなたのバリデータインデックス>" \
--execution_address="<引き出し用の実行アドレス>"
[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"
devnetでは、以下のパラメータを追加できます。--devnet_chain_setting='{ "network_name": "<ネットワーク名>", "genesis_fork_version": "<誕生(ジェネシス)フォークバージョン>", "genesis_validator_root": "<誕生(ジェネシス)バリデータルート>" }'[例: withdrawal-mainnet-shadowfork-1]--devnet_chain_setting='{ "network_name": "withdrawal-msf-1", "genesis_fork_version": "0x10000043", "genesis_validator_root": "0xe9ec351d158fd3b89b6afd2e6033bcae8d8adc2dd4c560c4bbf852d47ed0410e" }'

期待される出力

**[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.
デフォルトでは、bls_to_execution_changes-*.jsonファイルは./bls_to_execution_changesフォルダーにあります。

ビーコンノードBLSToExecutionChangeプールにアップロード

curlコマンドを使って、署名済みメッセージをコマンドラインからブロードキャストすることができます。curl -X POST -H “Content-type: application/json” -d @<@ファイル名の宛先> \
http://<BEACON_NODE_HTTP_API_URL>/eth/v1/beacon/pool/bls_to_execution_changes
また、Beaconcha.inブロードキャストツールを使用して、ウェブユーザーインターフェイスでメッセージをアップロードすることもできます。Beaconcha.inブロードキャストツール