Руководство по HOPRd Diablerets

Наш последний релиз, Diablerets, теперь доступен для тестирования! В этом руководстве мы расскажем вам, как установить и запустить ноду, и у вас будет возможность попробовать несколько основных команд. Если у вас возникнут вопросы, не стесняйтесь задавать их нам в нашей группе Telegram.

Отказ от ответственности: Это ранний релиз, и мы не можем гарантировать безопасность средств. В настоящее время нет никакого вознаграждения за управление узлом. Поэтому, пожалуйста, вносите только минимальное количество средств, необходимое для тестирования (максимум 1 xDAI и 10 wxHOPR).

Что вы узнаете?

В этом руководстве вы узнаете, как:

  • Установить и использовать HOPRd на своем компьютере
  • Пополнить свой узел с помощью xDai и wxHOPR
  • Выводить xDai из вашего узла и отправлять их на другой узел
  • Общаться с другими пользователями, отправляя и получая анонимные сообщения
  • Открывать, пополнять и закрывать каналы связи
  • Заработать и обменять билеты и превратить их в токены wxHOPR
  • Запустить два узла и общаться с помощью этих узлов
  • Открывать каналы и отправлять сообщения на публичный узел

Даже если вы уже запускали узел раньше, мы рекомендуем следовать всем приведенным ниже инструкциям, поскольку с момента последнего запуска узла все могло значительно измениться.

Установка

Чтобы использовать сеть HOPR, необходимо установить узел HOPR. Вы можете сделать это непосредственно на своем устройстве или используя виртуальный сервер (VPS).

Ваш узел работает в виде процесса node.js, который реализует протокол HOPR. Он известен как hoprd.

ВАЖНО: Узел HOPR в настоящее время работает на MacOS, Linux и AVADO. Поддержка Windows будет добавлена в одном из будущих выпусков. Перед настройкой узла обязательно выполните следующие шаги.

Linux

  1. Обновите свою ОС Linux, чтобы в ней были самые свежие пакеты, используя следующую команду:

sudo apt-get update

  1. Установите пакеты gcc, g ++, make необходимые для узла:

sudo apt install gcc g++ make

Mac OS X

  1. Убедитесь, что у вас установлены инструменты командной строки XCode:

xcode-select --install

  1. Проверьте, есть ли у вас Homebrew, менеджер пакетов OSX, и установите его, если он еще не установлен.

Установка hoprd

Существует несколько способов установки hoprd. В отличие от некоторых предыдущих релизов, которые предполагали загрузку двоичных файлов, вся установка HOPR Diablerets происходит через терминал. После ввода команд, приведенных ниже, в терминале, вы получите доступ к узлу (узлам) HOPR через браузер.

NPM

Сначала необходимо установить NVM. Для этого выполните следующие шаги. После установки NVM проверьте, что он правильно установлен, используя команду

nvm ls

Теперь вы можете установить node.js v14, выполнив эту команду:

nvm install v14

После установки сделайте версию v14 используемой по умолчанию, выполнив эту команду:

nvm use v14

ВАЖНО: Пожалуйста, используйте пока только node.js v14. Другие версии в настоящее время не поддерживаются. Если вы являетесь пользователем MacOS M1, обязательно следуйте этим инструкциям nvm.

Чтобы установить узел, введите следующие команды:

mkdir MY_NEW_HOPR_TEST_FOLDER
cd MY_NEW_HOPR_TEST_FOLDER
npm install @hoprnet/hoprd@1.72

Теперь ваш узел будет установлен. Это может занять несколько минут.

Если установка не удалась, выполните следующую команду и повторите попытку:

npm install --unsafe-perm=true @hoprnet/hoprd@1.72

После установки узла выполните следующую команду:

DEBUG=hopr* npx hoprd --init --admin --host=0.0.0.0:9092 --adminPort=3000 --password=‘’ --identity=./alice-identity --data=./alice-db*

Docker

Чтобы установить узел с помощью Docker, вам сначала нужно установить Docker на свою машину, если у вас его еще нет. Чтобы установить Docker, выполните следующие шаги.

Теперь вам нужно загрузить образ hoprd и запустить его следующим образом:

docker pull Google Cloud console

docker run --pull always -ti -v $HOME/.hoprd-db-alice:/app/db -p 9091:9091 -p 3000:3000 Google Cloud console --identity /app/db/.hopr-identity --password switzerland --init --announce --host “0.0.0.0:9091” --admin --adminHost 0.0.0.0 --adminPort 3000

AVADO

Вы можете запустить HOPR Diablerets на вашей ноде AVADO.

ВАЖНО: Перед установкой новой версии ноды HOPR выведите все средства с вашей ноды на личный кошелек ERC20, иначе ваши средства будут потеряны! Если у вас возникли проблемы с выводом средств, пожалуйста, обратитесь в службу поддержки сообщества.

Процесс установки: Подключившись к сети AVADO или через VPN, перейдите по следующей ссылке. Там будет показана новая версия пакета. Просто нажмите кнопку установки и дождитесь сообщения об успехе. Это может занять некоторое время.

Тестирование вашего узла

Если вы дошли до этого момента, то на вашем компьютере запущен узел HOPR. Поздравляем! Теперь давайте приступим к тестированию.

Вы можете получить доступ к своему узлу через браузер. Перейдите по адресу http://localhost:3000/ чтобы увидеть его.

К сожалению, сейчас вы увидите сообщение об ошибке, как показано ниже:

Это потому, что прежде чем использовать узел, необходимо его профинансировать. Узлы HOPR нуждаются в двух видах средств: токены HOPR и нативные токены блокчейна. В данном случае это wxHOPR и xDAI.

Вы можете увидеть адрес xDAI вашего узла в предупреждающем сообщении. Этот адрес уникален для вашего узла, и именно на него вам нужно будет отправить средства.

Обычно мы говорим людям выполнить эти шаги, чтобы получить токены xDai на свой адрес, но для этого выпуска мы финансируем узлы, чтобы вы могли протестировать наш протокол.

Пожалуйста, попросите средства в нашей группе Telegram, отправив нам адрес узла, и вы получите средства в ближайшее время.

Как только ваша нода получит токены xDAI и wxHOPR, вы сможете использовать hoprd. С этого момента работайте в браузере, но держите запущенным терминал.

Чтобы получить список всех доступных команд, введите:

help

Вы можете поиграть и проверить все эти команды, если хотите, но если вы хотите получить более структурированный опыт, мы предоставили список команд, которые вы можете попробовать в тестовом списке HOPRD.

Одной из новых функций в этом выпуске является функция identity, которая позволяет назначать различные идентификаторы различным узлам (не путайте это с функцией “alias”, которая облегчает управление адресами узлов - идентификатор является совершенно отдельным узлом).

Вы можете попробовать это, запустив ДВА узла с одного устройства и отправляя между ними сообщения.

Расширенное задание: Игра в прятки

Алиса и Боб решают спрятаться друг от друга и продолжают посылать друг другу анонимные сообщения. Чтобы сыграть в эту игру, вам нужно запустить два локальных узла на своем компьютере. Первый узел будет называться Алиса, а второй - Боб.

Вам нужно будет использовать два разных клиента терминала/cmd и назначить каждому узлу свой порт. Ниже мы будем использовать порты 3000 и 3010. Закройте ваш текущий работающий узел, прежде чем начать эту работу.

К сожалению, пользователи AVADO не смогут выполнить эту часть только на своем устройстве AVADO. Если вы используете AVADO, вы можете продолжать использовать этот узел как Alice и установить второй узел как Bob, используя один из методов установки, описанных выше.

NPM

Если вы установили через NPM:

Узел Алисы :

DEBUG=hopr* npx hoprd --init --admin --host=0.0.0.0:9092 --adminPort=3000 --password=‘’ --identity=./alice-identity --data=./alice-db

Узел Боба:

DEBUG=hopr* npx hoprd --init --admin --host=0.0.0.0:9093 --adminPort=3010 --password=‘’ --identity=./bob-identity --data=./bob-db*

Docker

Если вы установили с помощью Docker, используйте следующие команды:

Узел Алисы :

docker run --pull always -ti -v $HOME/.hoprd-db-alice:/app/db -p 9091:9091 -p 3000:3000 Google Cloud console --identity /app/db/.hopr-identity --password switzerland --init --announce --host “0.0.0.0:9091” --admin --adminHost 0.0.0.0 --adminPort 3000

Узел Боба:

docker run --pull always -ti -v $HOME/.hoprd-db-bob:/app/db -p 9092:9092 -p 3010:3010 gcr.io/hoprassociation/hoprd:latest-kiautschou --identity /app/db/.hopr-identity --password switzerland --init --announce --host “0.0.0.0:9092” --admin --adminHost 0.0.0.0 --adminPort 3010

Пользователи VPS

Если вы запускаете свои узлы на VPS, убедитесь, что вы вошли на свой сервер с функцией проброса портов. Это позволит вам войти в систему под одним и тем же пользователем сервера и иметь два работающих узла.

1-й терминал/клиент cmd:

ssh -L 3000:127.0.0.1:3000 @<Your_server_ip>

2-й терминал/клиент cmd:

ssh -L 3010:127.0.0.1:3010 @<Your_server_ip>

Теперь, когда оба ваших узла запущены, вы можете начать действовать. Вы узнаете, как отправлять сообщения через другой узел и наблюдать, как этот узел зарабатывает билеты, которые вы можете обменять на HOPR.

Для начала откройте http://localhost:3000/ и http://localhost:3010/ в разных вкладках, чтобы получить доступ к обоим узлам. Узел Алисы будет тем узлом, который вы создали ранее, а узел Боба - новый, с новым адресом. Его нужно будет финансировать.

Используя команду withdraw, выведите xDAI с первого узла (Алиса) на второй узел (Боб). Возможно, вы не сможете вывести HOPR таким же образом (это известная ошибка, которую мы изучаем), но это не имеет значения. Только Алисе нужен HOPR для того, что произойдет дальше.

После того как оба узла получат средства, вы сможете открывать, закрывать каналы и отправлять сообщения.

1.Начните с установки псевдонима для каждого узла. Установка псевдонима облегчает взаимодействие с другими узлами вместо того, чтобы каждый раз использовать их полные адреса HOPR.

Чтобы узнать HOPR-адреса ваших узлов, используйте команду:

address

в каждом узле, чтобы увидеть их адреса xDai и HOPR.

Теперь используйте следующие команды, чтобы установить псевдоним для Боба в узле Алисы и наоборот:

Команда для Алисы:

alias [Bob’s HOPR address] Bob

Команда для Боба:

alias [Alice’s HOPR address] Alice

2.Теперь Алиса может отправлять сообщения Бобу следующим образом:

send ,Bob hello

Важно не забыть запятую “,” иначе сообщение не будет отправлено, и вы получите ошибку.

Узел Боба получит сообщение ‘hello’, но в нем не будет указания на личность отправителя. HOPR предоставляет полную анонимность, так что это особенность, а не ошибка!

Тем не менее, в общем случае полезно, чтобы люди, с которыми мы общаемся, знали, с кем они разговаривают. Алиса может сделать свою личность известной Бобу, изменив свои настройки:

settings includeRecipient true

После этого попробуйте отправить другое сообщение от Алисы Бобу, и вы увидите, что сообщение будет идентифицировано как исходящее от узла Алисы.

3.Теперь используйте узел Алисы для открытия канала с Бобом и пополните этот канал некоторым количеством HOPR с помощью этой команды:

open Bob 0.01

Минимальная сумма, необходимая для финансирования канала, составляет 0,1 HOPR. Это, по сути, выплата за 1 билет. Однако, как правило, рекомендуется пополнить канал достаточным количеством HOPR, чтобы хватило на несколько билетов.

Открытие канала требует взаимодействия со смарт-контрактом на блокчейне, поэтому вам придется немного подождать, пока канал откроется. Когда это произойдет, вы увидите сообщение Successfully opened channel (“Успешно открыт канал”).

4.Теперь вы можете проверить, что этот канал существует и открыт, введя команду:

channels

в обоих узлах. Команда channels отображает все открытые в данный момент каналы.

Например:

Channel:
0xa0b92e6d400f556c2139661e799ccc867da28ce079c382388086882806e34dd8

CounterParty: Z35Qj
Status: OPEN
Total Balance: 0.01 HOPR
My Balance: 0.01 HOPR

Это означает, что у Алисы есть открытый канал с узлом Z35Qj. Канал открыт и баланс, доступный в нем, составляет 0,01 HOPR. Баланс Алисы не изменился, так как именно она финансировала этот канал.

На стороне Боба вы увидите аналогичное сообщение. Но здесь баланс Боба будет равен 0, так как он не финансировал канал.

Теперь Алиса может отправлять сообщения самой себе, используя Боба в качестве узла ретрансляции. Это позволит ему заработать билеты, которые затем можно обменять на токены HOPR.

5.Сначала проверьте в узле Боба, есть ли у Боба билеты. Вы увидите что-то вроде этого:

admin > tickets

finding information about tickets…
Tickets:
- Pending: 0
- Unredeemed: 0
- Unredeemed Value: 0 HOPR
- Redeemed: 0
- Redeemed Value: 0 HOPR
- Losing Tickets: 0
- Win Proportion: 0%

6.На узле Алисы отправьте сообщение себе (Алисе, представленной псевдонимом по умолчанию “me”, который всегда идентифицирует ваш собственный узел) через узел Боба с помощью следующей команды:

send Bob,me what’s up

Теперь снова используйте команду tickets, и вы должны увидеть, что количество невыкупленных билетов изменилось с 0 на 1.

7.Теперь вы можете использовать узел Боба, чтобы выкупить заработанные им билеты, или он может продолжать действовать как ретранслятор, зарабатывая больше билетов и выкупая их все сразу. Вы можете продолжать делать это, повторяя предыдущий шаг, пока у Алисы не закончится HOPR для оплаты сообщений. Когда вы решите погасить билеты, используйте команду redeemTickets в узле Боба, чтобы сделать это.

Вспомните, какой баланс был у Боба в этом канале? 0

Введите команду channels снова после выкупа билетов, и вы увидите, что баланс Боба в канале увеличился.

8.Пора попрощаться с Алисой и закрыть этот канал. Чтобы закрыть его, воспользуйтесь узлом Боба и введите:

close Alice

Подождите несколько минут, а затем снова вызовите ту же функцию, и канал будет полностью закрыт.

Во время этого периода убедитесь, что выкупили все билеты, заработанные узлом Боба, потому что после закрытия канала этот процесс будет уже невозможен.

Хотите продолжить процесс?

Использование идентификаторов - отличный способ проверить новую функцию и провести тесты на одном устройстве. Но вы также можете отправлять сообщения другим пользователям! Вы можете найти список всех публично доступных пиров, с которыми вы можете открыть каналы, с помощью команды peers.

Выберите одного из них, предпочтительно с показателем 1, а затем выполните ping, чтобы проверить, находится ли он в сети, используя команду:

ping [HOPR-адрес пира]

После проверки того, что пир находится в сети, вы можете выполнить те же шаги, что и между Алисой и Бобом.

Спасибо за участие, мы надеемся, что вы получили удовольствие и узнали больше о протоколе HOPR! Теперь вы можете назвать себя гордым пользователем HOPRd!

С уважением,
Команда HOPR

1 Like