Foundry с 0. Часть 39
Только закончил с постами про Foundry и думал взять небольшой перерыв от него, как позавчера вышло видео от Патрика Коллинса, в котором он рассказывает о новом способе хранения информации о приватных ключах для деплоя и проведения тестов с вашими смарт контрактами. Уверен, это важная тема и ее нужно осветить в нашем цикле.
Если раньше мы создавали специальные .env файлы, куда мы записывали rpc ссылки и приватные ключи, то сейчас это можно делать более безопасным способом.
P.S. Напомню, что .env файлы обязательно нужно ставить в gitignore, чтобы случайно не загрузить конфиденциальную информацию в публичные репо. Из-за этого уже некоторые протоколы имели проблемы со взломами...
Теперь приватные ключи можно хранить в специальном зашифрованном файле под паролем на вашем компьютере. Весь процесс занимает всего пару минут.
Открываем наш терминал и прописываем команду:
cast wallet import defautKey --interactive
Там появится поле:
Enter private key
куда следует ввести наш приватный ключ, например:
0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
P.S. Это ключ от первого аккаунта в Anvil, можете потренироваться сами.
Далее вводим пароль для нашего файла:
Enter password
В итоге в терминале появится адрес, типа:
0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
Его нужно записать для дальнейшего использования.
Теперь мы можем проверить, сохранился ли файл и имеем ли мы к нему доступ. Сделать это можно с помощью команды:
cast wallet list
А сейчас немного практики. Если раньше при деплое контрактов с помощью скрипта мы выполняли команду:
forge script scriptPath --rpc-url $URL --private-key $KEY
то теперь она другая:
forge script scriptPath --rpc-url $URL --account defaultKey --sender addressKey --broadcast
где addressKey - это как раз тот адрес, который мы сохраняли после создания файла приватного ключа.
В терминале снова появится строка, в которой нам нужно ввести пароль:
Enter keystore password
только после этого будет выполнен деплой!
Обращу ваше внимание, что для большей безопасности, создание файла с приватным ключом нужно выполнять в терминале или командной строке, а не в терминале редактора кода, который сохраняет все ваши вводы в терминал и может отправить информацию в частную компанию, типа Микрософт.
Сам файл с приватным ключом можно посмотреть в корневой папке Foundry с помощью команд:
cd .foundry/keystore
cat defaultKey
тут будет хранится зашифрованная версия приватного ключа по стандарту EIP-2335.
Заботьтесь о своей безопасности в сети!
#foundry #lesson39
Post #965
1.11K
- 🔥 7
- 👍 1