Установка cardano-node и cardano-cli из исходников
Это руководство покажет вам, как скомпилировать и установить в cardano-node
выбранную cardano-cli
вами операционную систему непосредственно из исходного кода. Это позволит вам взаимодействовать с блокчейном Cardano , включая, помимо прочего, отправку/получение транзакций , создание NFT , размещение метаданных транзакций в блокчейне, чеканку/сжигание нативных токенов , создание пула ставок , выполнение смарт-контрактов и многое другое . !
ПРИМЕЧАНИЕ
Если вы хотите избежать самостоятельной компиляции двоичных файлов, вы можете загрузить последние версии cardano-node
и cardano-cli
по ссылкам ниже.
Доступны более новые двоичные файлы:последний релиз
Компоненты можно создавать и запускать в Windows и MacOS , но мы рекомендуем операторам стейк-пулов использовать Linux в производственной среде, чтобы воспользоваться преимуществами, связанными с производительностью.
Предпосылки
Для настройки компонентов вам потребуется:
- Windows , MacOS или Linux для вашей операционной системы
- Процессор Intel или AMD x86 с двумя или более ядрами с тактовой частотой 1,6 ГГц или выше (2 ГГц или выше для пула ставок или relay)
- 12 ГБ оперативной памяти и не менее 30 ГБ свободного места на диске
ПРИМЕЧАНИЕ
Если вы намереваетесь подключиться к экземпляру основной сети, требования к ОЗУ и хранилищу превысят базовые уровни, указанные выше.
Выберите свою платформу
линукс
В этом разделе мы проведем вас через процесс загрузки, компиляции и установки cardano-node
в cardano-cli
вашу операционную систему на базе Linux .
Установка зависимостей
Чтобы загрузить исходный код и собрать его, вам потребуются следующие пакеты и инструменты в вашей системе Linux:
- система контроля версий
git
, - C -
gcc
компилятор, - Поддержка С++ для
gcc
, - библиотеки разработчиков для библиотеки произвольной точности
gmp
, - библиотеки разработчиков для библиотеки сжатия
zlib
, - библиотеки разработчиков для
systemd
, - библиотеки разработчиков для
ncurses
, ncurses
библиотеки совместимости,- инструмент сборки Haskell
cabal
, - компилятор GHC Haskell (версия
8.10.7
или выше).
sudo yum update -ysudo yum install git gcc gcc-c++ tmux gmp-devel make tar xz wget zlib-devel libtool autoconf jq -ysudo yum install systemd-devel ncurses-devel ncurses-compat-libs -y
Для Debian/Ubuntu вместо этого используйте следующее:
sudo apt-get update -y && sudo apt-get upgrade -ysudo apt-get install automake build-essential pkg-config libffi-dev libgmp-dev libssl-dev libtinfo-dev libsystemd-dev zlib1g-dev make g++ tmux git jq wget libncursesw5 libtool autoconf -y
Если вы используете другой вариант Linux, вам нужно будет использовать правильный менеджер пакетов для вашей платформы вместо yum
или apt-get
, и имена пакетов, которые вам нужно установить, могут отличаться.
Установка GHC и Cabal
Самый быстрый способ установить GHC (компилятор Glasgow Haskell) и Cabal (общую архитектуру для создания приложений и библиотек) — использовать ghcup .
Используйте следующую команду для установкиghcup
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
Пожалуйста, следуйте инструкциям и предоставьте необходимые данные установщику.
Do you want ghcup to automatically add the required PATH variable to "/home/ubuntu/.bashrc"?
- (P или введите)
Do you want to install haskell-language-server (HLS)?
- (N или введите)
Do you want to install stack?
- (N или введите)
Press ENTER to proceed or ctrl-c to abort.
(войти)
После завершения вы должны ghc
установить cabal
его в свою систему.
ПРИМЕЧАНИЕ
ghcup
попытается обнаружить вашу оболочку и попросит вас добавить ее в переменные среды. Пожалуйста, перезапустите вашу оболочку/терминал после установкиghcup
Вы можете проверить ghcup
правильность установки, набрав ghcup --version
в терминале. Вы должны увидеть что-то похожее на следующее:
The GHCup Haskell installer, version v0.1.17.4
ghcup
установит последнюю стабильную версию ghc
. Однако на момент написания этой статьи ввод-вывод рекомендует использовать ghc 8.10.7
. Итак, мы будем использовать ghcup
для установки и перехода на нужную версию.
ghcup install ghc 8.10.7ghcup set ghc 8.10.7
ghcup
установит последнюю стабильную версию cabal
. Однако на момент написания этой статьи ввод-вывод рекомендует использовать cabal 3.6.2.0
. Итак, мы будем использовать ghcup
для установки и перехода на нужную версию.
ghcup install cabal 3.6.2.0ghcup set cabal 3.6.2.0
Наконец, мы проверяем, установлены ли правильные ghc
и cabal
версии.
ghc --version
Вы должны увидеть что-то вроде этого:
The Glorious Glasgow Haskell Compilation System, version 8.10.7
cabal --version
Вы должны увидеть что-то вроде этого:
cabal-install version 3.6.2.0compiled using version 3.6.2.0 of the Cabal library
ВАЖНО
Подтвердите, что установленные вами версии соответствуют рекомендованным выше версиям. Если нет, проверьте, не пропустили ли вы какой-либо из предыдущих шагов.
Скачивание и компиляция
Давайте создадим рабочий каталог для хранения исходного кода и сборок для компонентов.
mkdir -p $HOME/cardano-srccd $HOME/cardano-src
Далее мы скачаем, скомпилируем и установим libsodium
.
git clone https://github.com/input-output-hk/libsodiumcd libsodiumgit checkout 66f017f1./autogen.sh./configuremakesudo make install
Затем мы добавим следующие переменные среды в ваш профиль оболочки. EG $HOME/.zshrc
или $HOME/.bashrc
в зависимости от того, какое приложение оболочки вы используете. Добавьте следующее в конец файла профиля/конфигурации оболочки, чтобы компилятор мог знать, что libsodium
он установлен в вашей системе.
export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
После сохранения мы перезагрузим ваш профиль оболочки, чтобы использовать новые переменные. Мы можем сделать это, набрав source $HOME/.bashrc
или source $HOME/.zshrc
( в зависимости от используемого вами приложения оболочки ).
Теперь мы готовы загрузить, скомпилировать и установить cardano-node
и cardano-cli
. Но сначала мы должны убедиться, что вернулись в корень нашего рабочего каталога:
cd $HOME/cardano-src
Загрузите cardano-node
репозиторий:
git clone https://github.com/input-output-hk/cardano-node.gitcd cardano-nodegit fetch --all --recurse-submodules --tags
Переключите репозиторий на последний помеченный коммит:
git checkout $(curl -s https://api.github.com/repos/input-output-hk/cardano-node/releases/latest | jq -r .tag_name)
ВАЖНО
Если вы обновляете существующий узел, убедитесь, что вы прочитали примечания к выпуску на GitHub для любых изменений.
Настройка параметров
Мы явно используем ghc
версию, которую установили ранее. Это позволяет избежать использования по умолчанию системной версии ghc
, которая может быть новее или старше той, которую вы установили.
cabal configure --with-compiler=ghc-8.10.7
Если вы используете платформу, отличную от x86/x64 (например, ARM), установите и настройте LLVM с помощью:
sudo apt install llvm-9sudo apt install clang-9 libnuma-devsudo ln -s /usr/bin/llvm-config-9 /usr/bin/llvm-configsudo ln -s /usr/bin/opt-9 /usr/bin/optsudo ln -s /usr/bin/llc-9 /usr/bin/llcsudo ln -s /usr/bin/clang-9 /usr/bin/clang
Сборка и установка узла
Теперь мы можем создать Haskell-based
cardano-node
исполняемые двоичные файлы.
cabal build cardano-node cardano-cli
Установите только что созданный узел и команды CLI в каталог $HOME/.local/bin:
mkdir -p $HOME/.local/bincp -p "$(./scripts/bin-path.sh cardano-node)" $HOME/.local/bin/cp -p "$(./scripts/bin-path.sh cardano-cli)" $HOME/.local/bin/
Мы должны добавить эту строку под нашим профилем оболочки, чтобы оболочка/терминал могла распознавать это cardano-node
и cardano-cli
являться глобальными командами. ( $HOME/.zshrc
или $HOME/.bashrc
в зависимости от используемого вами приложения оболочки )
export PATH="$HOME/.local/bin/:$PATH"
После сохранения перезагрузите профиль оболочки, набрав source $HOME/.zshrc
или source $HOME/.bashrc
( в зависимости от используемого вами приложения оболочки ).
Проверьте версию, которая была установлена:
cardano-cli --versioncardano-node --version
Поздравляем, вы успешно установили компоненты Cardano в свою систему Linux! 🎉🎉🎉
Далее мы поговорим о том, как запустить cardano-node .
MacOS
В этом разделе мы проведем вас через процесс загрузки, компиляции и установки cardano-node
в cardano-cli
вашу операционную систему на базе MacOS .
Установка зависимостей
Чтобы загрузить исходный код и собрать его, вам потребуются следующие пакеты и инструменты в вашей системе MacOS:
- Xcode — среда разработки Apple и SDK/инструменты
- Инструменты командной строки Xcode , вы можете установить его, набрав
xcode-select --install
в терминале. - Homebrew — недостающий менеджер пакетов для MacOS (или Linux)
Установка пакетов
Для правильной компиляции компонентов cardano-node
и cardano-cli
нам потребуется установить некоторые библиотеки через brew
:
brew install jqbrew install libtoolbrew install autoconfbrew install automakebrew install pkg-config
Вам нужно будет установить llvm, если вы используете M1
brew install llvm
Установка GHC и Cabal
Самый быстрый способ установить GHC (компилятор Glassglow Haskell) и Cabal (общую архитектуру для создания приложений и библиотек) — использовать ghcup .
Используйте следующую команду для установкиghcup
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
Пожалуйста, следуйте инструкциям и предоставьте необходимые данные установщику.
Do you want ghcup to automatically add the required PATH variable to "/home/ubuntu/.bashrc"?
- (P или введите)
Do you want to install haskell-language-server (HLS)?
- (N или введите)
Do you want to install stack?
- (N или введите)
Press ENTER to proceed or ctrl-c to abort.
(войти)
После завершения вы должны ghc
установить cabal
его в свою систему.
ПРИМЕЧАНИЕ
ghcup
попытается обнаружить вашу оболочку и попросит вас добавить ее в переменные среды. Пожалуйста, перезапустите вашу оболочку/терминал после установкиghcup
Вы можете проверить ghcup
правильность установки, набрав ghcup --version
в терминале. Вы должны увидеть что-то похожее на следующее:
The GHCup Haskell installer, version v0.1.17.4
ghcup
установит последнюю стабильную версию ghc
. Однако на момент написания этой статьи ввод-вывод рекомендует использовать ghc 8.10.7
. Итак, мы будем использовать ghcup
для установки и перехода на нужную версию.
ghcup install ghc 8.10.7ghcup set ghc 8.10.7
ghcup
установит последнюю стабильную версию cabal
. Однако на момент написания этой статьи ввод-вывод рекомендует использовать cabal 3.6.2.0
. Итак, мы будем использовать ghcup
для установки и перехода на нужную версию.
ghcup install cabal 3.6.2.0ghcup set cabal 3.6.2.0
Наконец, мы проверяем, установлены ли правильные ghc
и cabal
версии.
ghc --version
Вы должны увидеть что-то вроде этого:
The Glorious Glasgow Haskell Compilation System, version 8.10.7
cabal --version
Вы должны увидеть что-то вроде этого:
cabal-install version 3.6.2.0compiled using version 3.6.2.0 of the Cabal library
ВАЖНО
Подтвердите, что установленные вами версии соответствуют рекомендованным выше версиям. Если нет, проверьте, не пропустили ли вы какой-либо из предыдущих шагов.
Скачивание и компиляция
Давайте создадим рабочий каталог для хранения исходного кода и сборок для компонентов.
mkdir -p $HOME/cardano-srccd $HOME/cardano-src
Далее мы скачаем, скомпилируем и установим libsodium
.
git clone https://github.com/input-output-hk/libsodiumcd libsodiumgit checkout 66f017f1./autogen.sh./configuremakesudo make install
Затем мы добавим следующие переменные среды в ваш профиль оболочки. EG $HOME/.zshrc
или $HOME/.bashrc
в зависимости от того, какое приложение оболочки вы используете. Добавьте следующее в конец вашего файла профиля/конфигурации оболочки, чтобы компилятор мог знать, что libsodium
он установлен в вашей системе.
export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
Если вы установили llvm для M1, вам также нужно будет добавить это:
export PATH="/opt/homebrew/opt/llvm/bin:$PATH"
ПРИМЕЧАНИЕ
Путь установки llvm может отличаться в зависимости от вашей установки, если вы использовали установку по умолчанию, все должно быть в порядке. Пожалуйста, проверьте экран после того, как вы установили llvm, чтобы увидеть эту информацию, если вы забыли или потеряли ее, вы можете просто переустановить llvm, и тогда вы увидите их снова.
После сохранения мы перезагрузим ваш профиль оболочки, чтобы использовать новые переменные. Мы можем сделать это, набрав source $HOME/.bashrc
или source $HOME/.zshrc
( в зависимости от используемого вами приложения оболочки ).
Теперь мы готовы загрузить, скомпилировать и установить cardano-node
и cardano-cli
. Но сначала мы должны убедиться, что вернулись в корень нашего рабочего каталога:
cd $HOME/cardano-src
Загрузите cardano-node
репозиторий:
git clone https://github.com/input-output-hk/cardano-node.gitcd cardano-nodegit fetch --all --recurse-submodules --tags
Переключите репозиторий на последний помеченный коммит:
git checkout $(curl -s https://api.github.com/repos/input-output-hk/cardano-node/releases/latest | jq -r .tag_name)
ВАЖНО
Если вы обновляете существующий узел, убедитесь, что вы прочитали примечания к выпуску на GitHub для любых изменений.
Настройка параметров
Мы явно используем ghc
версию, которую установили ранее. Это позволяет избежать использования по умолчанию системной версии ghc
, которая может быть новее или старше той, которую вы установили.
cabal configure --with-compiler=ghc-8.10.7
Вам нужно будет запустить следующие команды на M1, эти команды установят некоторые параметры, связанные с кликой, перед сборкой
echo "package trace-dispatcher" >> cabal.project.localecho " ghc-options: -Wwarn" >> cabal.project.localecho "" >> cabal.project.local
Сборка и установка узла
cabal build all
Установите только что созданный узел и интерфейс командной строки в каталог $HOME/.local/bin:
mkdir -p $HOME/.local/bincp -p "$(./scripts/bin-path.sh cardano-node)" $HOME/.local/bin/cp -p "$(./scripts/bin-path.sh cardano-cli)" $HOME/.local/bin/
Мы должны добавить эту строку под нашим профилем оболочки, чтобы оболочка/терминал могла распознавать это cardano-node
и cardano-cli
являться глобальными командами. ( $HOME/.zshrc
или $HOME/.bashrc
в зависимости от используемого вами приложения оболочки )
export PATH="$HOME/.local/bin/:$PATH"
После сохранения перезагрузите профиль оболочки, набрав source $HOME/.zshrc
или source $HOME/.bashrc
( в зависимости от используемого вами приложения оболочки ).
Проверьте версию, которая была установлена:
cardano-cli --versioncardano-node --version
Поздравляем, вы успешно установили компоненты Cardano в свою систему MacOS! 🎉🎉🎉
Далее мы поговорим о том, как запустить cardano-node .
Windows
ВАЖНО
В настоящее время руководство по установке Windows все еще находится в разработке. А пока мы рекомендуем использовать WSL (подсистема Windows для Linux) , чтобы получить среду Linux поверх Windows. После установки вы можете использовать руководство по Linux для установки и запуска cardano-node
в WSL .