Простое руководство для новичков по установке обеих ECDSA и Beacon нод проекта Keep Network на VPS-сервере с ваучером на 100$.
*08/09/2020 все конфигурационные файлы и команды обновлены для установки последнего релиза
Данная инструкция предназначена для новичков, которые ранее не имели опыта установки нод и хотят попробовать запустить ноды в Keep Network без платы за VPS сервер и с минимальным использованием командной строки для их настройки. Чтобы избежать каких-либо ошибок во время установки, в данном руководстве используются наиболее простые для понимания инструменты, позволяющие успешно и быстро запустить ноды без лишних проблем.
Для начала нам понадобятся Google Chrome с установленным расширением MetaMask.
Шаг 1. Создание сервера
- Зарегистрируйтесь на Vultr.com по этой ссылке (обратите внимание, что ваучер на 100$ доступен только для новых пользователей сервиса).
- Нажмите “Deploy a new server”, выберите любую из представленных локаций сервера, ОС (Ubuntu 18.04), характеристики сервера (2 CPU, 4 GB RAM, 80 SSD) и напишите желаемое имя сервера.
- После создания сервера нажмите на него, в панели управления сервером вы сможете увидеть информацию о нем (IP адрес, имя пользователя и пароль). Данная информация потребуется нам позже.
Шаг 2. Создание кошелька
- Перейдите на сайт https://www.myetherwallet.com/create-wallet
- Выберите вкладку “By Keystore File”, укажите пароль и нажмите “Next”.
- Сайт создаст ваш новый кошелек. Скачайте Keystore File и запомните пароль от кошелька для дальнейшего использования.
Шаг 3. Импорт кошелька в MetaMask
- Откройте MetaMask и нажмите “Импорт аккаунта” в меню.
- Нас интересует импорт с помощью JSON файла. Выберите скачанный Keystore File кошелька, который был сгенерирован в предыдущем шаге.
- Для удобства, вы можете переименовать название кошелька. Удостоверьтесь, что вы выбрали Ropsten Test Network в качестве основной сети для транзакций.
Шаг 4. Получение токенов, делегация стейка и авторизация контрактов
- Получение тестовых токенов KEEP:
1.1. Скопируйте и вставьте первую часть ссылки “https://us-central1-keep-test-f3e0.cloudfunctions.net/keep-faucet-ropsten?account=” в ваш браузер.
1.2. Откройте MetaMask, скопируйте адрес вашего кошелька и вставьте его в конец ссылки из предыдущего шага.
1.3. Нажмите enter для перехода по получившейся ссылке. Если все сделано правильно, вы получите подтверждение о получении гранта токенов KEEP.
2. Получение тестовых токенов Ethereum:
2.1. Перейдите на https://faucet.ropsten.be, вставьте адрес своего кошелька из MetaMask и нажмите “Send me test Ether”.
2.2. Вы получите информацию о подтверждении транзакции, подождите немного и удостоверьтесь в MetaMask что ваш баланс пополнен на 1 ETH.
2.3. Предыдущий сайт не всегда работает, поэтому если вы не получили 1 ETH, попробуйте сделать это тут: https://faucet.metamask.io.
3. Делегируйте тестовые токены KEEP для стейкинга и авторизуйте все контракты:
3.1. Перейдите по адресу https://dashboard.test.keep.network/tokens и выберите авторизацию через MetaMask.
3.2. Сразу после авторизации откроется страница с делегацией токенов. В поле token amount укажите 300 000. В полях Authorizer/Operator/Beneficiary Address укажите свой адрес кошелька из MetaMask и нажмите “Delegate Stake”. Подтвердите транзакцию в MetaMask, немного подождите и проверьте, чтобы статус делегирования стал successful.
3.3. Перейдите в секцию Applications и авторизуйте контракты Random Beacon и tBTC. Немного терпения — эти страницы обычно долго грузятся. Удостоверьтесь, что все контракты авторизованы и вы добавили ETH bonding (для начала 0.5 будет достаточно, позже необходимо получить еще ETH и добавить для бондинга) на странице tBTC.
Шаг 5. Создание аккаунта Infura
- Перейдите на сайт https://infura.io/register и создайте аккаунт.
- Нажмите “Create new project” и введите название проекта (к примеру, Beacon). После создания проекта, перейдите на страницу настроек. Поменяйте keys endpoints на Ropsten, полученные ссылки мы будем использовать позже. На этом все, больше никаких настроек менять не нужно.
- Нам нужно создать два отдельных проекта под Beacon и ECDSA ноды соответственно, поэтому создайте второй проект и повторите все предыдущие действия для второй ноды.
Шаг 6. Скачайте шаблон конфигурации нод и подготовьтесь к установке
- Мы не будем использовать командную строку для конфигурации нод, вместо этого мы отредактируем конфигурации в текстовом редакторе, а затем закачаем их на сервер.
- Перейдите сюда https://github.com/nikgrego/keep_nodes_template_ru и скачайте шаблон конфигурации нод (прямая ссылка на скачивание). Распакуйте его в любом месте на вашем компьютере.
- Приготовьте ваш любимый текстовый редактор, я использую Sublime, но вы сможете сделать это в любой программе. Каждая “ECDSA” и “Beacon” папка содержит под-папку “config”. В ней расположены 4 файла, которые мы и будем редактировать (эти манипуляции нужно проделать для обеих нод):
- keep-address.txt — скопируйте и вставьте в этот файл адрес вашего кошелька.
- keep-password.txt — вставьте в этот файл пароль вашего кошелька.
- keep-keyfile — откройте Keystore file который был создан в шаге 2, скопируйте его содержание и вставьте в этот файл. Обратите внимание, он не имеет расширения.
- config.toml — откройте данный файл и исправьте в соответствии с инструкциями, которые в нем представлены.
Когда все правки будут сделаны, нам останется только сохранить файлы и перейти к следующему шагу.
Шаг 7. Загрузка конфигураций на сервер
- Теперь нам нужно загрузить все файлы на сервер. Для этого мы будем использовать SFTP протокол. Существует множество программ, поддерживающих SFTP, но я рекомендую использовать FileZilla (https://filezilla-project.org), т.к. это известная программа и у нее есть клиенты под Mac и Windows. Скачайте её и установите. Обратите внимание, вам нужен FileZilla Client, а не серверная версия. Данной программой вы сможете пользоваться и в будущем для работы с VPS-серверами.
- Запустите FileZilla. Для соединения с вашим сервером на Vultr, который мы создали в шаге 1, скопируйте и вставьте IP адрес, имя пользователя и пароль в соответствующие поля. В качестве порта впишите 22 и нажмите установить соединение.
- Когда соединение будет установлено, скопируйте все папки и файлы из предыдущего шага в папку root* на сервере.
* Установка чего-либо на VPS сервер с использованием root пользователя считается менее безопасной, но сейчас это не имеет большого значения. Если вы хотите узнать как создать нового пользователя, в Google полно информации об этом.
Шаг 8. Финальные шаги и запуск нод
- Теперь нам нужно подключиться к нашему VPS серверу через SSH. Вы можете использовать программу PuTTY (https://www.putty.org) на Windows или Terminal/iTerm (https://www.iterm2.com) на Mac. Я использую iTerm. Данные программы абсолютно бесплатны. Для подключения по SSH вам опять понадобятся данные сервера на Vultr (IP адрес, имя пользователя и пароль). Для соединения с сервером напишите “ssh root@IP_АДРЕС_ВАШЕГО_СЕРВЕРА” и нажмите enter. Напишите ваш пароль, нажмите enter. Если все выполнено верно, появится информация о том что вы зашли на сервер.
2. На сервере необходимо сконфигурировать файерволл и установить docker. Напишите эти команды одну за другой, каждый раз нажимая enter после ввода:
mkdir -p beacon/persistence ecdsa/persistence
sudo ufw allow 22
sudo ufw allow 3919
sudo ufw allow 3920
sudo ufw enable
sudo apt-get update
sudo apt-get remove docker docker-engine docker.io
sudo apt install docker.io curl -y
sudo systemctl start docker
sudo systemctl enable docker
sudo docker --version
Если все установлено правильно, вы получите строку с информацией о версии docker’а.
3. Наконец то мы дошли до финальной стадии. Все подготовки выполнены, конфигурации закачаны на сервер. Используйте данные команды для каждой из нод поочередно:
Для ноды Beacon:
cd
cd beacon
export KEEP_ACCOUNT_PASSWORD=$(cat ./config/keep-beacon-operator-account-password.txt)
export SERVER_IP=$(curl ifconfig.co)sudo docker run -d \
--entrypoint keep-client \
--restart always \
--volume /root/beacon/persistence:/mnt/keep-beacon-client/persistence \
--volume /root/beacon/config:/mnt/keep-beacon-client/config \
--env KEEP_ETHEREUM_PASSWORD=$KEEP_ACCOUNT_PASSWORD \
--env LOG_LEVEL=debug \
--name beacon-node \
-p 3920:3919 \
keepnetwork/keep-client:v1.3.0-rc.4 --config /mnt/keep-beacon-client/config/config.toml start
Затем для ноды ECDSA:
cd
cd ecdsa
export KEEP_ECDSA_OPERATOR_ACCOUNT_PASSWORD=$(cat ./config/keep-ecdsa-operator-account-password.txt)sudo docker run -d \
--entrypoint keep-ecdsa \
--restart always \
--volume /root/ecdsa/persistence:/mnt/keep-ecdsa-client/persistence \
--volume /root/ecdsa/config:/mnt/keep-ecdsa-client/config \
--env KEEP_ETHEREUM_PASSWORD=$KEEP_ECDSA_OPERATOR_ACCOUNT_PASSWORD \
--env LOG_LEVEL=debug \
--name ecdsa-node \
-p 3919:3919 \
keepnetwork/keep-ecdsa-client:v1.2.0-rc.5 --config /mnt/keep-ecdsa-client/config/config.toml start
Поздравляю, у вас все получилось! Вы можете проверить список созданных docker’ом контейнеров командой “sudo docker ps”.
Для просмотра логов используйте команды “sudo docker logs beacon-node -f” и “sudo docker logs ecdsa-node -f”. Если в логах вы видите, что у вас есть peers connections, значит все работает. Если нет соединения с пирами, перепроверьте конфигурации и сверьте актуальные адресы пиров с официальным гитхабом проекта, иногда они могут меняться.
Вы можете перепроверить актуальные пиры здесь:
- https://github.com/keep-network/keep-core/blob/master/docs/run-random-beacon.adoc#72-testnet
- https://github.com/keep-network/keep-ecdsa/blob/master/docs/run-keep-ecdsa.adoc#72-testnet
Дополнительные ресурсы для ознакомления: