Как и обещал, выкладываю полную инструкцию по сборке EOS пока только на masOS (Sierra), было достаточно много попыток сделано, прежде чем я нашел, этот наиболее оптимальный путь. В целом, ничего сложного нет, я писал с расчетом, что читающий второй раз в жизни видит консоль.
Для начала посетите в репозиторий EOSа, он находится по адресу:
https://github.com/EOSIO/eos
Для скачивания репозитория необходимо в терминале выполнить следующую команду:
git clone https://github.com/eosio/eos --recursive
Для начала сборки нам необходимо собрать все окружение, в репозитории разработчики указали следующие компоненты:
- Boost
- OpenSSL
- secp256k1-zkp (Cryptonomex branch)
Установку Boost и OpenSSL я рекомендую через brew, люди которым интересно могут установить и вручную.
Ссылка на brew:
https://brew.sh/index_ru.html
Команда для установки:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Дождавшись конца установки, продолжаем собирать свои инструменты.
Команды на установку Boost и OpenSSL:
brew install Boost
brew install OpenSSL
Из стандартного набора разработчика под mac понадобится autotools, он устанавливается этой командой:
sudo xcode-select --install
Далее нам нужно поставить CMake, иначе следующую библиотеку собрать не получится. Разработчики EOS указали, что в работе использовали версию 3.8.0, я скачал версию (Unix/Linux 3.9.0) по ссылке:
https://cmake.org/files/v3.9/cmake-3.9.0-rc2.tar.gz
Команды для сборки:
./bootstrap
make
sudo make install
Возможно, кто-то захочет использовать не консольный CMake, чтобы избежать возни с вводом команд, но, на мой взгляд, это только добавит вам проблем.
Также необходимо установить autoconf, automake, libtool, инструкцию по их установке я взял от сюда:
http://munchpress.com/installing-autoconf-automake-libtool-on-mac-osx-mountain-lion/
autoconf:
curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
tar -xzf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure && make && sudo make install
automake:
curl -OL http://ftpmirror.gnu.org/automake/automake-1.14.tar.gz
tar -xzf automake-1.14.tar.gz
cd automake-1.14
./configure && make && sudo make install
libtool:
curl -OL http://ftpmirror.gnu.org/libtool/libtool-2.4.2.tar.gz
tar -xzf libtool-2.4.2.tar.gz
cd libtool-2.4.2
./configure && make && sudo make install
Далее нам нужно установить secp256k1-zkp, тут уже нам brew не поможет, но достаточно использовать список команд описанный в репозитории EOS:
git clone https://github.com/cryptonomex/secp256k1-zkp.git
./autogen.sh
./configure
make
sudo make install
Казалось бы можно и начинать сборку, для этого достаточно перейти в терминале в папку с репозиторием EOS и вызвать команду: cmake .
Иначе получим следующий лог ошибок:
CMake Error at /usr/local/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY
OPENSSL_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/local/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
/usr/local/share/cmake-3.9/Modules/FindOpenSSL.cmake:388 (find_package_handle_standard_args)
libraries/fc/CMakeLists.txt:58 (find_package)
-- Configuring incomplete, errors occurred!
See also "/Users/mlinkov/Documents/eos/CMakeFiles/CMakeOutput.log".
Перед сборкой нужно указать путь до OPENSSL, который по какой-то причине не подхватывается из коробки, для этого выполним в терминале эту строку:
cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DOPENSSL_LIBRARIES=/usr/local/opt/openssl/lib -DCMAKE_BUILD_TYPE=Debug
Последняя часть команды выставляет тип сборки Debug или Release
После всех этих процедур можете выполнить cmake . для конфигурирования и сборки проекта, а потом и make чтобы получить билд (и пойти скушать бутер пока он собирается).
Если вы все правильно сделали, то в конце логов вы увидите заветные две строчки:
[100%] Linking CXX executable eosd
[100%] Built target eosd
Можете выдохнуть и запустить тесты, в папке tests файл chain_test.
Для того, чтобы инсталлировать EOS, нужно вызвать команду make install .
Если в процессе у вас возникли затруднения - пишите в комментариях, будем пытаться их решить.
Планирую сделать виртуалку с Ubuntu с поднятой инфраструктурой для сборки. Пока радиус кривизны рук не позволил запилить рабочую сборку, но, как только удача неминуемо постигнет меня, я с вами поделюсь результатами.
@gbir, Поздравляю!
Ваш пост был упомянут в моем хит-параде в следующих категориях:
@gbir Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за общую выплату получил
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.
Спасибо за инструкцию и интерес к EOS, подписался и репостнул+
Всегда пожалуйста, для вас стараемся.
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
@losos, @t3ran13, @phoenix, @dimarss, @lenarius, @svinsent, @lira, @gryph0n, @bystree, @arturio777, @gapel, @aivanouski, @oksana0407, @master-set, @vika-teplo, @borisss, @myhardmoney, @mixtura, @invy11, @alternativamira
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
Подписался.
Сам планирую выходить со стартапом своим на ICO, стартап в сфере ИИ и блокчейн, возможно будет интеграция с Голос, если интересно подпишитесь, новости сегодня же вечером будут тут https://golos.id/@bitcoinking
ну блин
после . - cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DOPENSSL_LIBRARIES=/usr/local/opt/openssl/lib -DCMAKE_BUILD_TYPE=Debug
выдает ошибку - CMake Error: The source directory "/Users/ivank/autoconf-2.69/automake-1.14/libtool-2.4.2" does not appear to contain CMakeLists.txt. ну почему не содержит то! что не так?
сильно благодарю! очень помог. два дефиса вымотали пару часов)))
Прошу прощение, при верстке редактор заменил два дефиса на тире, по этой причине команда которая клонирует репозиторий выполнялась не верно, сейчас я ее поправил.
git clone https://github.com/eosio/eos --recursive
ЭТО ERC 20? токен
Да.
@gbir Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за Количество комментариев
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.
Спасибо. Но мем у вас все-таки не совсем правильный.
Да, не по канону, но он не неправильный он хэнд мейд, таков авторский замысел)
Спасибо за подробную инструкцию
Всегда пожалуйста, надеюсь и дальше снабжать вас интересными статьями.
Думаю, если кто ноду BitShares / STEEM / Golos собирал самостоятельно, то и с EOS должен справиться.
Впрочем, я пока сам ещё EOS не пробовал скомпилить, может там действительно есть какие нюансы.
В любом случае спасибо за инструкцию, тем более под Mac а не традиционную Ubuntu.
Стандартной ubuntu не случилось под рукой, а виртуалка сильно тормозила, по этой причине инструкция получилась оригинальной)
вроде на днях какой-то релиз обещали выпустить очередной эти дядьки. Вообще интересно WREN посмотреть, как только появится возможность.
Будет релиз, обязательно посмотрим.
@gbir Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество полученных голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.