Nym. Гайд по установке ноды.
Если вы хотите присоединиться к миру Nym и установить свою собственную ноду, то вам повезло, потому что я уже прошла этот путь и готова поделиться опытом.
Если вы новичок в мире Nym и хотите узнать больше о микснете, исследовать опции и демонстрации, узнать, как интегрироваться в сеть и следовать учебным руководствам разработчика, перейдите на портал разработчиков.
Если вы хотите погрузиться глубже в архитектуру Nym, клиентов, узлов и примеры SDK, посетите техническую документацию.
Предварительно собранные бинарники
Страница релизов на GitHub содержит предварительно собранные бинарники, которые должны работать на Ubuntu 20.04 и других системах на основе Debian. Однако на этом этапе не гарантируется их работоспособность везде.
Если предварительно собранные бинарники не работают или недоступны для вашей системы, вам придется собирать платформу самостоятельно.
Инициализация и конфигурация
Все бинарные файлы Nym должны быть сначала сделаны исполняемыми и инициализированы с помощью команды init перед запуском.
Чтобы сделать бинарный файл исполняемым, откройте терминал в том же каталоге и выполните следующую команду:
chmod +x <BINARY_NAME>
# например: chmod +x nym-mixnode
Команда init обычно используется для передачи флагов, указывающих конфигурационные аргументы, такие как шлюз, с которым вы хотите взаимодействовать, порты, которые ваш бинарный файл будет слушать и т. д.
Команда init также создаст необходимые пары ключей и файлы конфигурации в
~/.nym/<BINARY_TYPE>/<BINARY_ID>/
если эти файлы еще не существуют. Она не перезапишет существующие пары ключей, если они уже присутствуют.
Вы можете переконфигурировать ваши бинарные файлы в любое время, отредактировав файл конфигурации, расположенный по адресу
~/.nym/<BINARY_TYPE>/<BINARY_ID>/config/config.toml
и перезапустив процесс бинарного файла.
Как только вы выполнили init, вы можете запустить свой бинарный файл с помощью команды run, обычно только с указанием идентификатора бинарного файла, который вы выбрали.
Этот id никогда не передается через сеть и используется для выбора локальных файлов конфигурации и ключей при запуске.
Nym работает на Mac OS X, Linux и Windows. Все узлы, кроме Desktop Wallet и NymConnect на Windows, следует рассматривать как экспериментальные — это хорошо работает, если вы разработчик приложений, но не рекомендуется для запуска узлов.
Сборка Nym из исходных кодов
Nym имеет две основные кодовые базы:
Nym platform, написанная на Rust. В ней содержится весь наш код, за исключением валидаторов.
Nym validators, написанные на Go.
На этой странице описано, как собрать основной кодовый базу Nym. Если вы хотите собрать и запустить валидатор, перейдите сюда.
Предварительные требования
Для Debian/Ubuntu: pkg-config, build-essential, libssl-dev, curl, jq, git
apt install pkg-config build-essential libssl-dev curl jq git
Для Arch/Manjaro: base-devel
pacman -S base-devel
Для Mac OS X: pkg-config, brew, openssl, protobuf, curl, git
Запуск следующего скрипта устанавливает Homebrew и вышеуказанные зависимости:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Для всех платформ: Rust & cargo >= 1.66
Рекомендуется использовать установщик Rust shell script. Установка cargo из вашего менеджера пакетов (например, apt) не рекомендуется, так как упакованные версии обычно слишком старые.
Если вы действительно не хотите использовать установщик shell script, в документации по установке Rust содержатся инструкции для множества платформ.
Загрузка и сборка бинарных файлов Nym
Следующие команды скомпилируют бинарные файлы в каталог nym/target/release:
rustup update
git clone https://github.com/nymtech/nym.git
cd nym
git reset - hard # на случай, если вы внесли изменения в своей ветке
git pull # если вы ранее это проверяли
git checkout master # ветка master имеет последнюю версию релиза: `develop`, скорее всего, будет несовместима с развернутыми публичными сетями
cargo build - release # собрать двоичные файлы с конфигурацией **mainnet**.
Собирается довольно много всего. Основными рабочими частями являются:
микс-нода: nym-mixnode
шлюзовая нода: nym-gateway
клиент websocket: nym-client
клиент socks5: nym-socks5-client
клиент webassembly: webassembly-client
сетевой запросчик: nym-network-requester
инструмент nym-cli: nym-cli
В репозитории также содержатся приложения на языке Typescript, которые не собираются в данном процессе. Их можно собрать, следуя инструкциям на соответствующих страницах документации.
Сборка из архивных файлов GitHub .zip или .tar.gz на странице релизов невозможна — скрипты сборки Nym автоматически включают хэш текущего коммита git в собранный бинарник во время компиляции, поэтому при использовании архивного кода (который не является Git-репозиторием) сборка будет завершена неудачно. Вместо этого проверьте код с github, используя git clone.
Это базовая установка ноды, друзья. Дальше все зависит от вашего желания, какую именно ноду вы хотите запустить. Выбрать вариант запуска ноды можно здесь и здесь.
Желаю удачи!