Управление PoP-узлом DevNet CDN

Бинарный файл узла CDN PoP ещё не доступен для публичного скачивания. Он скоро станет доступен операторам для узлов Testnet. До официального запуска сети код будет открыт для публичного использования.

Заполните эту форму, чтобы получить уведомление о выпуске:

https://docs.google.com/forms/d/e/1FAIpQLScbxN1qlstpbyU55K5I1UPufzfwshcv7uRJG6aLZQDk52ma0w/viewform

После выпуска бинарного файла следуйте этим инструкциям для установки.

Введение:

Мы начнём с запуска devNet для сбора статистических данных и проверки протокола. Проект будет включать три различные сети: devNet, testNet и mainNet.

Присоединяйся к devNet

Присоединяйтесь к нашему devNet уже сегодня! Эта инициатива предоставляет операторам узлов возможность заработать репутацию до запуска стимулируемого тестнета.

💡 Подготовьтесь к Testnet: После этого последует стимулируемый тестнет, который будет вознаграждать тех, кто продемонстрирует отличные результаты. Как PoP-узлы, так и Guardian-узлы будут играть ключевую роль в формировании будущего Pipe Network.

Основные особенности:

  • Награды по месту расположения: Операторы в недостаточно представленых или высоко востребованных регионах будут получать дополнительные стимулы.

  • Награды для PoP-узлов: Награды зависят от таких метрик, как обслуженные данные, задержка и время работы. Стабильное время работы и выполнение стандартов производительности приведут к более высоким наградам, в то время как простои и отказоустойчивость будут приводить к штрафам за повторное подключение, чтобы предотвратить сбои.

Процесс Регистрации узла

Чтобы зарегистрироваться для узла, вам нужно будет создать специальные токены и войти в свой аккаунт. Следуйте приведённым ниже шагам:

  1. Войдите в систему, чтобы сгенерировать токен доступа

    Откройте терминал и выполните приведенную ниже команду для входа в систему:

    /opt/dcdn/pipe-tool login --node-registry-url="https://rpc.pipedev.network"

    Это создаст файл credentials.json в директории ~/.permissionless с вашим токеном доступа. Этот токен подтверждает вашу личность в сети.

  2. Сгенерировать регистрационный токен

    Используйте следующую команду для создания регистрационного токена:

    /opt/dcdn/pipe-tool generate-registration-token --node-registry-url="https://rpc.pipedev.network"

    Это создаст файл с именем registration_token.json в директории ~/.permissionless, который будет содержать ваш токен регистрации узла, действительный в течение одного года. Этот токен необходим для регистрации или повторной регистрации узлов

  3. Процесс аутентификации

    • Отсканируйте QR-код или используйте окно браузера, которое откроется автоматически.

    • Создайте аккаунт или войдите с помощью своих учетных данных Google.

    • Вернитесь в терминал. После успешного входа вы увидите сообщение: "Успешный вход!"

Ваш токен доступа будет сохранён в файле ~/.permissionless/credentials.json. Убедитесь, что оба токена присутствуют при управлении узлами.

Инструкция по установке

Скачайте Node Client Binary

  1. Создайте каталог:

    sudo mkdir -p /opt/dcdn
  2. Загрузить двоичный файл узла с URL-адреса:

    sudo curl -L "$URL" -o /opt/dcdn/dcdnd
  3. Загрузите двоичный файл Pipe tool с URL-адреса:

    sudo curl -L "$URL" -o /opt/dcdn/pipe-tool
  4. Сделайте двоичный исполняемый файл:

    sudo chmod +x /opt/dcdn/dcdnd
    sudo chmod +x /opt/dcdn/pipe-tool

Настройка службы systemd узла dcdnd

Чтобы настроить службу systemd, выполните следующие действия:

  1. Создайте файл службы: Сохраните ваше определение службы в файле с расширением .service в директории /etc/systemd/system/.

  2. Пример Служебного файла:

    # Create service file using cat
    sudo cat > /etc/systemd/system/dcdnd.service << 'EOF'
    [Unit]
    Description=DCDN Node Service
    After=network.target
    Wants=network-online.target
    
    [Service]
    # Path to the executable and its arguments
    ExecStart=/opt/dcdn/dcdnd \
                    --grpc-server-url=0.0.0.0:8002 \
                    --http-server-url=0.0.0.0:8003 \
                    --node-registry-url="https://rpc.pipedev.network" \
                    --cache-max-capacity-mb=1024 \
                    --credentials-dir=/root/.permissionless \
                    --allow-origin=*
    
    # Restart policy
    Restart=always
    RestartSec=5
    
    # Resource and file descriptor limits
    LimitNOFILE=65536
    LimitNPROC=4096
    
    # Logging
    StandardOutput=journal
    StandardError=journal
    SyslogIdentifier=dcdn-node
    
    
    # Working directory
    WorkingDirectory=/opt/dcdn
    
    [Install]
    WantedBy=multi-user.target
    EOF

Дополнительно: повышенная безопасность

Для повышения безопасности запустите службу dcdnd.service под отдельной учетной записью службы. Это более сложная настройка.

# Create dedicated service account:
sudo useradd -r -m -s /sbin/nologin dcdn-svc-user -d /home/dcdn-svc-user
# Create token subfolder
sudo mkdir -p /home/dcdn-svc-user/.permissionless
sudo chown -R dcdn-svc-user:dcdn-svc-user /home/dcdn-svc-user/.permissionless
# Update the .service file [Service] to include:
User=dcdn-svc-user
Group=dcdn-svc-user
# Update the credentials path under [Service] accordingly:    
--credentials-dir=/home/dcdn-svc-user/.permissionless \
# Move the previously generated registration token
mv /root/.permissionless/registration_token.json /home/dcdn-svc-user/.permissionless

Порты для открытия

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

  1. Порт 8002: Это для gRPC сервера (--grpc-server-url=0.0.0.0:8002).

  2. Порт 8003: Это для HTTP сервера (--http-server-url=0.0.0.0:8003).

Для UFW (Ubuntu/Debian):

sudo ufw allow 8002/tcp
sudo ufw allow 8003/tcp
sudo ufw reload

Дополнительные примечания:

  • Убедитесь, что эти порты открыты в настройках сетевой безопасности вашего облачного провайдера (например, в группах безопасности AWS, группах безопасности сети Azure и т. д.), если сервер размещён в облаке.

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

Резюме и объяснение:

Шаги, описанные выше, проводят вас через настройку службы systemd для узла DCDN. Создавая файл службы в /etc/systemd/system/, вы определяете, как служба запускается и останавливается, а также устанавливаете необходимые параметры, такие как путь к исполняемому файлу и зависимости от сети. После создания файла необходимо перезагрузить systemd daemon для применения изменений, запустить службу для проверки её функциональности и включить её, чтобы она автоматически запускалась при загрузке. Наконец, проверяется статус службы, чтобы убедиться, что она работает как ожидалось.

Следуйте этим шагам для управления состоянием и конфигурацией службы dcdnd.

Управление службой dcdnd

1. Просмотр логов

Для просмотра логов службы dcdnd в реальном времени используйте команду:

sudo journalctl -f -u dcdnd.service

2. Перезапуск службы

Чтобы перезапустить службу dcdnd после внесения изменений в конфигурацию, выполните команду:

sudo systemctl restart dcdnd

3. Остановка службы

Если вам нужно остановить службу dcdnd, используйте команду:

sudo systemctl stop dcdnd

4. Проверка статуса

Чтобы проверить текущий статус службы dcdnd, выполните команду:

systemctl status dcdnd

Руководство по управлению кошельком Pipe Network

Вход в Pipe Network

Чтобы войти в Pipe Network, выполните следующую команду:

pipe-tool login --node-registry-url="https://rpc.pipedev.network"

Создание и регистрация кошелька

Чтобы создать и зарегистрировать свой кошелек, выполните следующие шаги:

Создание ключевой пары Solana:

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

pipe-tool generate-wallet --node-registry-url="https://rpc.pipedev.network"

Вам будет предложено ввести необязательную фразу-пароль из 12 слов.

Местоположение ключевой пары: По умолчанию ключевая пара сохраняется в файле ~/.permissionless/key.json. Чтобы сохранить ключевую пару в другом месте, укажите желаемый путь к файлу: --key-path=<путь для сохранения файла ключевой пары>

Для обеспечения безопасности вашего кошелька крайне важно создать резервную копию вашей фразы восстановления из 12 слов и файла ключа в надежном месте. Невыполнение этого может привести к потере доступа, если файл ключа или фраза восстановления будут скомпрометированы. После успешного выполнения команды вы получите фразу восстановления из 12 слов, публичный ключ ключевой пары и место, где хранится файл. Публичный ключ отправляется в наш бэкенд pipe.network, как указано в параметре –node-registry-url.

Привязка существующего кошелька

Также вы можете привязать публичный адрес вашего существующего кошелька (созданного с помощью solana-keygen или других кошельков, поддерживающих Solana) к вашему аккаунту.

Использование публичного ключа, закодированного в Base58

Чтобы привязать ваш кошелек, используя публичный ключ в формате Base58, выполните следующую команду:

pipe-tool link-wallet --node-registry-url=<Central Management gRPC Server URL> --public-key="<base58 encoded public key>"

Эта команда будет искать файл key.json в стандартном месте ~/.permissionless/key.json. Вы можете указать кастомный путь к вашему файлу ключа, используя:

--key-path="<путь к файлу>"

Привязка кошелька с использованием файла ключевой пары

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

pipe-tool link-wallet --node-registry-url=<Central Management gRPC Server URL>

Утилиты кошелька

Просмотр приватного ключа

Чтобы просмотреть приватный адрес вашего кошелька, выполните следующую команду:

pipe-tool show-private-key

Вы также можете указать кастомное местоположение файла ключа, используя:

--key-path="<путь к файлу ключа>"

По умолчанию файл ключа находится в ~/.permissionless/key.json.

Просмотр публичного ключа

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

pipe-tool show-public-key

Точно так же вы можете указать кастомное местоположение файла ключа:

--key-path="<путь к файлу>"

По умолчанию файл ключа находится в ~/.permissionless/key.json.

Просмотр привязанного кошелька

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

pipe-tool link-wallet --show-linked --node-registry-url="https://rpc.pipedev.network"

Приложение команд pipe-tool

Команда: pipe-tool login

Использование

pipe-tool login --node-registry-url <NODE_REGISTRY_URL> [OPTIONS]

Опции

  • --credentials-dir <CREDENTIALS_DIR> Директория для хранения учетных данных. Переменная окружения: CREDENTIALS_DIR По умолчанию: ~/.permissionless

  • --node-registry-url <NODE_REGISTRY_URL> URL для реестра узлов. Переменная окружения: NODE_REGISTRY_URL

Команда: generate-registration-token

Эта команда генерирует токен для регистрации узла в сети Pipe. Убедитесь, что вы вошли в систему или зарегистрировались как оператор узла перед выполнением этой команды.

Использование

pipe-tool generate-registration-token --node-registry-url <NODE_REGISTRY_URL> [OPTIONS]

Опции

  • --credentials-dir <CREDENTIALS_DIR> Устанавливает директорию для хранения учетных данных. Переменная окружения: CREDENTIALS_DIR По умолчанию: ~/.permissionless

  • --node-registry-url <NODE_REGISTRY_URL> Указывает URL для реестра узлов. Переменная окружения: NODE_REGISTRY_URL

Команда generate-wallet

Использование

pipe-tool generate-wallet --node-registry-url <NODE_REGISTRY_URL> [OPTIONS]

Описание

Команда generate-wallet генерирует пару ключей Solana для привязки к вашему аккаунту.

Опции

  • --key-path <KEY_PATH> Переменная окружения: KEY_PATH По умолчанию: ~/.permissionless/key.json Укажите путь к файлу для ключа.

  • --credentials-dir <CREDENTIALS_DIR> Переменная окружения: CREDENTIALS_DIR По умолчанию: ~/.permissionless Укажите директорию для хранения учетных данных.

  • --node-registry-url <NODE_REGISTRY_URL> Переменная окружения: NODE_REGISTRY_URL Укажите URL для реестра узлов.

Команда link-wallet используется для привязки существующей пары ключей Solana к вашему аккаунту.

Использование

pipe-tool link-wallet --node-registry-url <NODE_REGISTRY_URL> [OPTIONS]

Опции

  • SHOW_LINKED Установите этот параметр в true или false для отображения привязанных аккаунтов. Команда: --show-linked

  • PUBLIC_KEY Укажите публичный ключ в формате base58 с помощью этой переменной окружения. Команда: --public-key <PUBLIC_KEY>

  • KEY_PATH Укажите путь к файлу ключа. По умолчанию: ~/.permissionless/key.json Команда: --key-path <KEY_PATH>

  • CREDENTIALS_DIR Укажите директорию для хранения учетных данных. По умолчанию: ~/.permissionless Команда: --credentials-dir <CREDENTIALS_DIR>

  • NODE_REGISTRY_URL Укажите URL реестра узлов. Команда: --node-registry-url <NODE_REGISTRY_URL>

Команда: pipe-tool show-public-key

Описание: Отображает публичный ключ в формате base58 из файла ключевой пары.

Использование:

pipe-tool show-public-key [OPTIONS]

Опции:

  • --key-path <KEY_PATH> Укажите путь к файлу ключа. Переменная окружения: KEY_PATH

Команда: Display Private Key

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

Использование

pipe-tool show-private-key [OPTIONS]

Опции

  • --key-path <KEY_PATH> Указывает путь к файлу ключа. Переменная окружения: KEY_PATH

Last updated