MyTetra Share
Делитесь знаниями!
Руководство по сборке и установке Litecoin демона в Ubuntu
Время создания: 17.11.2015 11:47
Текстовые метки: litecoin, установка, инсталляция, Linux
Раздел: Компьютер - Web / Internet - Криптовалюты (Bitcoin, Litecoin, etc...) - Litecoin (LTC)
Запись: xintrea/mytetra_syncro/master/base/1435326782pb2xy5lvds/text.html на raw.github.com

Руководство по сборке и установке Litecoin демона в Ubuntu



Самостоятельная сборка и установка демона Litecoin необходима для работы ноды или пула для добычи LTC.


Это руководство поможет Вам шаг за шагом установить демона litecoin на Ubuntu совместимую систему.


Приступим...



Запускаем терминал. закатываем рукава, достаем клавиатуру и начинаем.


1. Установим необходимые для сборки пакеты:

sudo apt-get install build-essential libssl-dev libdb5.1-dev libdb5.1++-dev libboost-all-dev git libminiupnpc-dev


2. Копируем исходные тексты из git репозитория Litecoin-project GitHub

git clone git://github.com/litecoin-project/litecoin.git


3. Копмилируем и устанавливаем litecoin


После того, как мы скачали исходные тексты с git, у нас появится папка litecoin и в принципе все готово к компиляции, переходим в папку src

cd litecoin/src


Теперь определим, сколько ядер процессора используется в нашей системе

cat /proc/cpuinfo | grep -i "model name"


Получим примерно следующий вывод:


cat /proc/cpuinfo | grep -i "model name"

model name : Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz

model name : Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz


В данном случае процессор в системе имеет 2 ядра, в принципе сколько строк 'model name' столько и ядер.


Теперь, когда мы узнали это, мы можем продолжать компилировать Litecoin. Измените параметр -j2 на количество ядер, которые Вы имеете.


Параметр USE_UPNP позволяет нам выбрать использование поддержки UPNP (необходим для сквозного использования с файерволами)


USE_UPNP =- Нет поддержки UPnP - miniupnp не требуется

USE_UPNP=0 (значение по умолчанию) поддержка UPnP, выключенная по умолчанию во время выполнения

USE_UPNP=1 UPnP, поддержка включенная по умолчанию во время выполнения


Параметр USE_IPV6=0 отключает поддержку сетей с протоколом IPv6, USE_IPV6=1 - включает...



Безопасность


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


PIE сборка кода, чтобы использовать в своих интересах Рандомизацию Расположения Адресного пространства, предлагаемую некоторыми ядрами. Атакующему, который в состоянии вызвать выполнение кода в произвольной ячейке памяти, мешают, если он не знает, где расположено что-либо полезное. Стек и "куча" в произвольном порядке расположены по умолчанию, но это позволяет разделу кода быть также расположенным в произвольном порядке.


На процессоре Amd64, где библиотека не была скомпилирована с-fPIC, это вызовет ошибку, такую как:


"elocation R_X86_64_32 against `......' can not be used when making a shared object;"


Чтобы скомпилировать с PIE, используйте параметр -e PIE=1


Чтобы протестировать Вашу сборку с PIE, установите scanelf, часть paxutils и запустите:

scanelf-e./litecoin


Вывод должен содержать: TYPE ET_DYN


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


Проверять, что стек - неисполнимая программа после компиляции используйте:

scanelf-e./litecoin


Вывод должен содержать: STK/REL/PTL RW-R - RW-


STK RW-означает, что стек читаем и доступен для записи, но не исполнимая программа.


Итак, с ключами определились? Запускаем компиляцию и медитируем над бегущими строками, процесс займет определенное время.

make -j2 -f makefile.unix USE_UPNP=1 USE_IPV6=0 -e PIE=1


Если не было никаких ошибок, мы можем приступать к заключительной части, если Вы видели что-то подобное "exiting: error" или "make error", Вы, возможно, должны удостовериться, что Вы установили всё правильно, и что Ваша система актуальна (sudo apt-get update&&sudo apt-get upgrade),

Мы почти всё сделали и последний шаг скопируем litecoind в /usr/bin.

sudo cp litecoind /usr/bin/litecoind


4. Теперь, когда мы установили litecoind, нам необходимо создать файл конфигурации.

mkdir ~/.litecoin


Для создания и редактирования файла с конфигом мы воспользуемся nаno.

nano ~/.litecoin/litecoin.conf


Введите следующий текст


server=1

rpcallowip=127.0.0.1

rpcuser=Придумайте_длинное_имя_пользователя

rpcpassword=Придумайте_хороший_пароль


Ну вот собственно и всё.


Если Вы решите получать доступ к демону удалённо, то в файле конфига Вы должны указать IP адрес, который будете использовать для доступа.


rpcallowip=Ваш_IP_адрес


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

chmod 600 ~/.litecoin/litecoin.conf


Ну и теперь можно смело запускать демона

litecoind -daemon


Мы должны увидеть

litecoin server starting


Проверить работу демона можно так:

litecoind getinfo


Вывод будет примерно следующим


litecoind getinfo

{

"version" : 80501,

"protocolversion" : 70002,

"walletversion" : 60000,

"balance" : 0.00000000,

"blocks" : 459070,

"timeoffset" : -1,

"connections" : 7,

"proxy" : "",

"difficulty" : 1259.79679702,

"testnet" : false,

"keypoololdest" : 1374250293,

"keypoolsize" : 102,

"mininput" : 0.00010000,

"paytxfee" : 0.00000000,

"errors" : ""

}


Важный момент, при первом запуске пройдет достаточно много времени, пока не будет скачана вся цепочка блоков


Надеюсь данная статья будет Вам полезна и Вы еще глубже погрузитесь в мир криптовалют.


 
MyTetra Share v.0.59
Яндекс индекс цитирования