zk-resistor-ceremony (windows)

zk-resistor-ceremony (windows)

@proofofresistance

Процесс на операционной системе Windows почти полностью совпадает с процессом на Linux. Всю основную работу возьмет на себя программа Docker. Она создаст внутри вашего компьютера правильную виртуальную среду.

Шаг первый: подготовка.

Нам потребуется исключительно программа PowerShell. Это современный и мощный инструмент который установлен в системе по умолчанию.

Для запуска нажмите меню Пуск. Введите слово PowerShell в строку поиска. В появившемся списке обязательно нажмите на программу правой кнопкой мыши и выберите пункт Запуск от имени администратора. Откроется синее окно терминала с повышенными правами. Это критически важно для следующего шага.

Шаг второй: установка подсистемы Linux.

В открытом окне PowerShell с правами администратора введите следующую команду:

wsl --install

Нажмите клавишу ввода. Система сама скачает необходимые компоненты подсистемы Linux и платформу виртуальной машины. Обязательно дождитесь сообщения об успешном завершении операции.

Важное уточнение. Если вместо установки на экране появился длинный текст со справкой значит базовые компоненты у вас уже есть. В таком случае введите команду для явной установки дистрибутива:

wsl --install -d Ubuntu

После завершения установки вам необходимо полностью перезагрузить компьютер.

Резервный способ установки:

Иногда автоматическая установка дает сбой. Тогда нужно включить компоненты старым ручным способом. Откройте меню Пуск и введите фразу Включение или отключение компонентов Windows. Откройте найденное окно. Найдите в списке пункт Подсистема Windows для Linux и поставьте галочку. Затем найдите пункт Платформа виртуальной машины и тоже поставьте галочку. Нажмите кнопку ОК и перезагрузите компьютер.

Шаг третий: установка остальных программ.

Вам необходимо скачать с официальных сайтов и установить две программы. Первая это система контроля версий Git. Вторая программа называется Docker Desktop. При установке Docker обязательно проследите чтобы была включена галочка напротив пункта интеграции WSL 2.

Шаг четвертый: скачивание проекта.

Снова откройте терминал PowerShell. Права администратора больше не нужны. Скачайте официальный код церемонии следующей командой. Замените слово ВАШ_НИК на ваш логин от платформы GitHub.

git clone https://github.com/ВАШ_НИК/zk-resistor-ceremony.git

Перейдите в скачанную папку:

cd zk-resistor-ceremony

Свяжите вашу копию с главным хранилищем создателей проекта:

git remote add upstream https://github.com/TONresistor/zk-resistor-ceremony.git

Шаг пятый: сборка.

Теперь нужно собрать рабочий контейнер. Обратите внимание на пробел и точку в самом конце команды. Они обязательны.

docker build -t zkr-ceremony .

Дождитесь окончания загрузки и сборки.

Шаг шестой: вход в изолированную среду.

Запускаем контейнер. Скопируйте команду целиком и выполните в терминале:

docker run -it --rm -e HOME=/tmp -v "${PWD}:/work" -w /work zkr-ceremony bash

Вид вашей командной строки сразу изменится. Вы внутри защищенной среды.

Шаг седьмой: проверка.

Перед вашим вкладом проверьте математику предыдущего участника:

./scripts/verify-previous.sh

Шаг восьмой: генерация хаоса.

Запускаем главный скрипт:

./scripts/contribute.sh ВАШ_НИК

В течение тридцати секунд хаотично стучите по клавиатуре. Вводите буквы и цифры без всяких закономерностей. Затем начнутся математические расчеты. Ваш ноутбук может начать сильно шуметь. Просто дождитесь окончания.

Шаг девятый: отправка результата.

Скрипт выдаст готовые команды. Скопируйте их. Выйдите из контейнера командой:

exit

Теперь вставьте скопированные команды в обычный терминал PowerShell по очереди. Скрипт предложит команду с флагом цифровой подписи. Обязательно уберите этот флаг. Выполните точный порядок действий:

git checkout -b ВАШ_НИК

git add phase1/ contributors/ transcript/contributions.json

git commit -m 'ВАШ_НИК'

git push origin HEAD

После этого зайдите на сайт GitHub и нажмите зеленую кнопку создания запроса.

Что делать при ошибке отправки?

Если вас опередили система выдаст ошибку конфликта. Вам нужно обновить данные и повторить процесс. Выполните следующие команды:

git fetch upstream

git checkout -B ВАШ_НИК upstream/main

Затем снова запустите скрипт генерации случайности и повторите процесс отправки файлов.


Report Page