Сборка майнера Стима (steemd) под ГНУ/Линукс

in #ru8 years ago

Собирал под Fedora 24 и Centos 7. Как обычно бывает с проектами на C++, если среда сборки чем-то отличается от среды разработчиков, без напильника не обойтись, но все получилось достаточно гладко. При сборке под Убунту манипуляций скорее всего будет немного меньше. Пользователи Виндовс могут попробовать проделать это в виртуальной машине (где-то писали, что для Виндовс лучше работает майнер в виртуальной машине, не знаю, актуально ли это еще).

Пингвин

Для начала нужно установить Boost 1.60.0 (с 1.61.0 не собралось). Скачать, распаковать:

$ tar -xjf boost_1_60_0.tar.bz2
$ cd boost_1_60_0/

Для сборки с GCC 6.1 (в Федоре) нужно заменить файл boost/multiprecision/cpp_int.hpp на эту версию (для ЦентОС и других дистрибутивов с более старым GCC — не нужно). Дальше можно собирать:

$ ./bootstrap.sh --prefix="$HOME/opt/boost-1.60.0"
$ ./b2
$ ./b2 install

Для ЦентОС нужно еще установить последний cmake из исходников (в Федоре подходит версия из дистрибутива).

Теперь можно собирать steemd:

$ git clone --recursive https://github.com/steemit/steem.git
$ cd steem
$ cmake -DBOOST_ROOT="$HOME/opt/boost-1.60.0" \
    -DENABLE_CONTENT_PATCHING=OFF -DLOW_MEMORY_NODE=ON \
    -DCMAKE_BUILD_TYPE=Release .

В Федоре при сборке была ошибка, которая исправилась заменой строчки (здесь символ диеза вместо хеша, иначе Стимит думает, что это тег).

♯define FC_GIT_REVISION_UNIX_TIMESTAMP HEAD-HASH-NOTFOUND

на

♯define FC_GIT_REVISION_UNIX_TIMESTAMP 0

в файле libraries/fc/git_revision.cpp.

Параметры ENABLE_CONTENT_PATCHING=OFF и LOW_MEMORY_NODE=ON по идее должны экономить ресурсы узла. Но пямяти steemd все равно требует много: у меня работающий майнер сейчас использует 5 ГБ (2,8 ГБ в оперативной памяти и 2,2 ГБ в свопе).

Собранный steemd (полный узел Стима с майнером) находится в programs/steemd/steemd, командно-строковый кошелек — programs/cli_wallet/cli_wallet.

В следующем посте опишу как настроить steemd для добычи новых аккаунтов или пополнения существующих.

Sort:  

Здравствуйте!Спасибо за статью! А можете про ubuntu расписать?И если памяти меньше пяти,есть ли смысл начинать?

Для Убунту смотрите здесь. Там сказано, откуда какие зависимости брать для разных версий дистрибутива, а в остальном примерно то же самое. Cmake должен работать из дистрибутива, а Boost, похоже, нужно будет так же устанавливать из исходников. Замена файла в Boost и исправление строчки в git_revision.cpp, вероятно, не потребуется.

На компьютере с 4 ГБ памяти у меня майнить не получилось: жуткий свопинг после запуска steemd, начала майнинга так и не дождался. Но там был медленный ноутбучный HDD, на SSD может и просвопится. После запуска майнига на другом компьютере в памяти осталось меньше 3 ГБ, остальное улеглось в свопе, т. ч. во время майнинга 4 ГБ хватает, но нужно добиться, чтобы запустилось.

I upvote U

Coin Marketplace

STEEM 0.29
TRX 0.12
JST 0.033
BTC 63855.79
ETH 3113.00
USDT 1.00
SBD 4.04