ключевая миграция - новая пара кошельков и очередная сеть.
# обновляемся
aztec-up latest
# устанавливаем foundry
curl -L https://foundry.paradigm.xyz | bash
source ~/.bashrc
foundryup
# задаём первые переменные
OLD_PRIVATE_KEY="xxx"
ETH_RPC="https://…"
# генерируем новые ключи секвенсора
aztec validator-keys new --fee-recipient 0x0000000000000000000000000000000000000000000000000000000000000000
# сохраняем значения новых ключей
KEYSTORE_FILE=~/.aztec/keystore/key1.json
NEW_ETH_PRIVATE_KEY=$(jq -r '.validators[0].attester.eth' $KEYSTORE_FILE)
NEW_BLS_PRIVATE_KEY=$(jq -r '.validators[0].attester.bls' $KEYSTORE_FILE)
NEW_PUBLIC_ADDRESS=$(cast wallet address $NEW_ETH_PRIVATE_KEY)
# на ваш старый кошелёк, где крутили валидатора, должно было упасть 200к монет, которые сейчас нужно апрувнуть для будущего использования
cast send 0x139d2a7a0881e16332d7D1F8DB383A4507E1Ea7A "approve(address,uint256)" \
0xebd99ff0ff6677205509ae73f93d0ca52ac85d67 200000ether \
--private-key ${OLD_PRIVATE_KEY} \
--rpc-url ${ETH_RPC}
# создаём нового валидатора
aztec add-l1-validator \
--l1-rpc-urls "$ETH_RPC" \
--network testnet \
--private-key "$OLD_PRIVATE_KEY" \
--attester "$NEW_PUBLIC_ADDRESS" \
--withdrawer "$NEW_PUBLIC_ADDRESS" \
--bls-secret-key "$NEW_BLS_PRIVATE_KEY" \
--rollup 0xebd99ff0ff6677205509ae73f93d0ca52ac85d67
# запускаем секвенсер, как и раньше, за исключением новых публичных и приватных ключей.
# aztec start… или docker-compose… зависит от того, как устанавливали
если раньше ключи были одни для всего, что, в целом, удобно, но вряд ли безопасно, то теперь ключей целых несколько.
старый приватный ключ используется для апрува токенов и создания валидатора. новые ключи аттестатора используются только в секвенсоре.
после всех проделанных действий, вы снова становитесь в очередь в новой сети тестнета.
да, всё заново.
берегите здоровье, нодеры! 🖤