Validator Key Generation

Alalanin

  • Mahigpit na inirerekomenda na gawin ang hakbang na ito gamit ang isang air-gapped na makina - ibig sabihin, isang aparato na hindi pa nakakonekta sa pampublikong internet. Iisaalaysay namin ang ilang mga paraan sa ibaba.

  • Kung hindi ito magagamit, patayin ang lahat ng internet at wireless connection (hal., Ethernet, WiFi, Bluetooth) bago magpatuloy sa hakbang ng paglikha ng susi.

  • Sa parehong mga kaso, tiyaking nasa ligtas na kapaligiran ka (hal., bahay o opisina) na may tiwala sa WiFi network para sa pagbuo ng tool ng paglikha ng susi ng validator mula sa pinagmulan. Tiyaking din na pisikal na nakabara ang lahat ng mga camera device - hal., laptop cameras, Webcams, at mga tao na nasa likod mo sa panahong ito ng proseso.

Paglikha ng isang air-gapped na makina

  1. Ang pinakamadaling paraan ay bumili ng murang single board computer tulad ng Raspberry Pi mula sa opisyal na mga distributor para sa mas mababa sa S$100 SGD.

  2. "OS-on-a-stick": Para sa mas teknikal na workaround, maaari nating i-flash ang isang bagong USB drive na may Ubuntu o TailsOS at patakbuhin ang isang ganap na bago OS mula sa mismong USB drive na ito. Ang sistemang ito ay ganap na nakahiwalay mula sa iyong host na aparato (hal., working laptop) at hindi mag-iimbak ng anumang mga file pagkatapos mong tanggalin ang USB drive

Tutukuyin natin ang Method 2 sa gabay na ito.

Flash and install OS

1) I-download ang pinakabagong Ubuntu OS dito o ang TailsOS dito at sundin ang mga naaangkop na tagubilin upang tiyakin ang mga checksum ng na-download na file.

2) I-download ang isang ISO flasher (tulad ng BalenaEtcher) at i-flash ang iyong USB drive gamit ang iyong piniling OS. Tingnan ang naunang seksyon para sa mga hakbang (1) at (2) kung kinakailangan.

Installin ang OS

3) Kapag na-flash na ang iyong USB drive gamit ang iyong piniling OS, isaksak ito sa iyong gumagana na aparato at i-reboot ang aparato upang pumasok sa menu ng boot. Depende sa iyong sistema, maaaring kailanganin mong itaas ang F2, F10, F12, orESC habang nagre-reboot upang dalhin ang menu ng boot.

4) Kapag nakita mo na ang menu ng boot, piliin ang opsiyon na mag-boot mula sa iyong USB drive sa halip na iyong karaniwang storage volume at dapat mong makita ang sumusunod na screen.

5) Piliin ang *Try or Install Ubuntu at pagkatapos Try Ubuntu kapag nakarating ka sa susunod na screen.

Ibuild ang tool para sa paglikha ng validator key mula sa pinagmulan

Konektahan ang iyong OS-on-a-stick sa isang pinagkakatiwalaang WiFi network at buksan ang Linux terminal gamit ang Ctrl + Alt + T .

I-install ang mga kinakailangang - pip3 & virtualenv. Tandaan: Alisin ang sudo prefix para sa bawat linya kung nagbabalik ng error ang iyong sistema.

sudo apt-get update -y && sudo apt-get upgrade -y
sudo apt install python3-venv python3-pip
sudo apt install python3-virtualenv
sudo apt-get install git

Lumikha ng isang python virtual environment upang pagana ang tool sa ilalim:

virtualenv venv
source venv/bin/activate

I-download ang git repository ng tool sa pamamagitan ng pagtakbo. Tukuyin at tiyakin ang URL ng git repository dito.

git clone -b master --single-branch https://github.com/ethereum/staking-deposit-cli.git

I-install ang mga package ng dependensya para sa pagpapatakbo ng tool:

python3 setup.py install
pip3 install -r requirements.txt

Inaasahang output: Inaasahan na makikita mo ang ilang mga progress bar pagkatapos ng ilang segundo.

*BAGO MAGPATULOY SA SUSUNOD NA HAKBANG,

  1. PATAYIN ANG INYONG ETHERNET, WIFI, AT BLUETOOTH ACCESS

  2. TAKPAN ANG LAHAT NG MGA CAMERA DEVICE - halimbawa, MGA TELEPONO, WEBCAM, LAPTOP CAMERA, MGA TAONG NASA LIKOD MO

Magbuo ng iyong mga susi sa pag-sign ng validator

Patakbuhin ang sumusunod na command upang bumuo ng iyong mga susi sa pag-sign ng validator. Palitan ang <numero> ng bilang ng mga validator na nais mong itakda at <IyongAddressngPagwiwithdraw> ng aktuwal na address ng pagwiwithdraw

python3 ./staking_deposit/deposit.py new-mnemonic --num_validators <number> --chain holesky --eth1_withdrawal_address <YourWithdrawalAaddress>

Hihilingin sa iyo na maglagay ng mga sumusunod. Piliin nang naaayon.

  1. Piliin ang iyong wika (para sa sesyon)

  2. Kumpirmahin ang iyong execution address (iyong withdrawal address)

  3. Piliin ang wika ng iyong listahan ng mnemonic word (seed phrase)

  4. Gumawa ng password para i-encrypt ang iyong validator signing keystores

  5. Kumpirmahin ang password na ginawa sa hakbang 4

Inaasahang output:

Susunod, bubuo ang iyong listahan ng mnemonic na mga salita. Isulat ito sa isang piraso ng papel o kuwaderno—*Huwag itong itabi online o sa anumang device na nakakonekta sa internet.

Inaasahang output:

Pindutin ang anumang key kapag nakasulat mo na ang iyong mnemonic at ang tool ay magpo-prompt sa iyo na pindutin ang iyong mnemonic sa parehong pagkakasunod-sunod upang tiyakin na wastong na-record mo ito.

Kung tama ang iyong nai-type na mnemonic, sasalubungin ka ng isang ASCII art ng isang Rhino!

Inaasahang output:

Mayroong 2 mga file na ginawa.

  1. Isang keystore-m_<timestamp>.json file: Ito ang iyong validator signing keystore na gagamitin ng iyong validator node upang pirmahan ang mga attestations. Panatilihin ang file na ito na lubos na ligtas.

  2. Isang deposit_data-<timestamp>.json: Ito ang file na naglalakip ng iyong deposito ng ETH sa iyong validator. Gamitin mo lamang ito isang beses, sa panahon ng proseso ng deposito.

I-save ang parehong mga file sa isang bagong USB drive sa pamamagitan ng pagkopya ng buong staking-deposit-cli folder dito. Pagkatapos, tanggalin ang orihinal na kopya sa pamamagitan ng pagsagawa ng mga sumusunod na hakbang:

sudo rm -r $HOME/staking-deposit-cli/validator_keys

I-restart ang iyong host device (halimbawa, ang iyong gumagamit na laptop) at alisin ang OS-on-a-stick. Wala itong pananatiling alaala na naiimbak dito.

Magdagdag ng susi ng validator sa Node

Ilagay ang iyong validator signing keystore sa iyong validator node upang ang node ay makapagpirma ng mga attestations at magmungkahi ng mga bloke.

Ikabit ang USB drive na naglalaman ng iyong validator signing keystores sa iyong node device. Kapag nakakabit na ang USB drive, kailangan nating hanapin ito. Sa terminal ng iyong node, patakbuhin ang sumusunod:

lsblk

Expected output:

Hanapin ang iyong USB drive sa listahan ng output. Magiging may pangalan ito na katulad sa screenshot sa itaas - halimbawa, sdx.

Kapag natagpuan mo na ito, maaari kang magpatuloy sa pag-mount ng iyong USB drive sa /media folder.

sudo mount /dev/sda1 /media

Tandaan: Palitan ang sda1 ng aktwal na pangalan ng iyong USB drive.

Ngayon ay maaari mo nang ma-access ang iyong USB drive sa pamamagitan ng terminal sa pagpasok sa /media folder.

Pumasok sa iyong USB drive at kopyahin ang iyong validator signing keystore sa HOME directory ng iyong node.

cd /media/staking-deposit-cli
sudo cp -r validator_keys ~

Unmount at i-eject ang iyong USB drive.

cd
sudo umount /media

Ngayon kailangan mong lumikha ng isang plain text password file para mabuksan ng iyong validator node ang iyong validator signing keystores.

Unang ilimbag at kopyahin ang pangalan ng file ng iyong validator signing keystore.

cd ~/validator_keys
ls

Kapag nakopya na ang pangalan ng validator_signing_keystore_file_name, lumikha ng password file.

sudo nano .txt

Ilagay ang password na ginamit mo sa paglikha ng iyong validator keys sa naunang hakbang. Pagkatapos, i-save at i-exit ang file gamit ang CTRL + O, enter, CTRL + X.

Last updated