Bitcoin 0 16 0 ubuntu install

Это руководство посвящено получению LND 0.5-beta и Bitcoind, работающих на Ubuntu 16.04 LTS для mainnet. Он быстро стареет и включает в себя шаги, которые не требуются в более новых версиях LND Оригинальное руководство по установке: Это руководство разбито на следующие разделы:

  • Установите bitcoindи установите для автоматического запуска
  • Установка инструментов разработки и зависимостей
  • Установка lnd, настройка конфигурационного файла, фондирование и открытие каналов
  • Установите супервизор для автоматического запуска lndи при необходимости отправки электронной почты при сбоях

Предварительные предупреждения:

  • Синхронизация части bitcoind этого руководства может занять несколько дней
  • Синхронизация lnd-части этого руководства может занять несколько часов

Установите bitcoind

Опубликованные инструкции

https://bitcoin.org/en/full-node#linux-instructions

Компиляция себя

если вы предпочитаете компилировать bitcoindсамостоятельно, пожалуйста, обратитесь к https://gist.github.com/itoonx/95aec9a3b4da01fd1fd724dffc056963
и принять к сведению sudo apt install libzmq3-devи ./configure ... --with-zmq --enable-zmq

Установка

Сначала добавьте репозиторий:

sudo apt-add-repository ppa:bitcoin/bitcoin 

Вам будет предложено ввести пароль пользователя.

Предоставьте его для продолжения и нажмите клавишу enter при появлении запроса.

Запустите процесс обновления:

sudo apt-get update 

Затем приступайте к установке bitcoindследующим образом:

sudo apt-get install bitcoind 

Настройте свой файл .bitcoin/bitcoin.conf, есть образцы по адресу:

http://manpages.ubuntu.com/manpages/precise/man5/bitcoin.conf.5.html
https://github.com/bitcoin/bitcoin/blob/0.16/contrib/debian/examples/bitcoin.conf

Простейшая версия может быть следующей:

server=1 txindex=1 daemon=1 externalip=X.X.X.X maxconnections=10 rpcuser=REPLACEME rpcpassword=REPLACEME minrelaytxfee=0.00000000 incrementalrelayfee=0.00000010 zmqpubrawblock=tcp://127.0.0.1:28332 zmqpubrawtx=tcp://127.0.0.1:28333 

Примечание: начиная с github master с 2018-08-10 годов вам нужны разные порты для каждого варианта конфигурации zmq, настроенного в bitcoin.conf

Начните bitcoindинициировать синхронизацию и обязательно взгляните на https://en.bitcoin.it/wiki/Running_Bitcoin

bitcoind 

Вы можете следить за ходом работы в журналах:

tail $HOME/.bitcoin/debug.log 

Важно: Процесс bitcoindсинхронизации может занять от 3 до 5 дней!

(Необязательно) Вы можете отслеживать прогресс с помощью следующих действий:

Установка jqдля обрезки json:

sudo apt-get install jq 

Получите текущее количество блоков и прогоните егоjq:

curl -s https://api.smartbit.com.au/v1/blockchain/blocks |jq -r -c .blocks[0].height 

или если ваша система требует этого:

curl -s https://api.smartbit.com.au/v1/blockchain/blocks |jq -r -c '.blocks[0].height' 

Сравните результат с выводом:

bitcoin-cli getblockcount 

В качестве альтернативы, объедините оба из них в удобное однострочное выражение:

echo `bitcoin-cli getblockcount 2>&1`/`curl -s https://api.smartbit.com.au/v1/blockchain/blocks |jq -r -c .blocks[0].height 2>/dev/null` 

или если ваша система требует этого:

echo `bitcoin-cli getblockcount 2>&1`/`curl -s https://api.smartbit.com.au/v1/blockchain/blocks |jq -r -c '.blocks[0].height' 2>/dev/null` 

Если выходные значения совпадают, то ваш bitcoindузел полностью синхронизирован, и вы можете продолжить lndустановку.

Настройка bitcoind для автоматического запуска

Чтобы настроить bitcoindавтоматический запуск, мы позаимствуем настройку systemd из следующего руководства:

Адаптировано из источников

Сначала убедитесьbitcoind, что он полностью синхронизирован, а затем остановите его с помощью:

bitcoin-cli stop 

Добавление и редактирование файла конфигурации systemd:

sudo nano /etc/systemd/system/bitcoind.service 

Добавьте следующий текст, убедившись, что все экземпляры USERNAME заменены вашим именем пользователя, или же соответствующее имя пользователя bitcoindвыполняется как:

[Unit] Description=Bitcoin daemon After=network.target [Service] User=USERNAME Group=USERNAME Type=forking PIDFile=/home/USERNAME/.bitcoin/bitcoind.pid ExecStart=/usr/bin/bitcoind -conf=/home/USERNAME/.bitcoin/bitcoin.conf -pid=/home/USERNAME/.bitcoin/bitcoind.pid KillMode=process Restart=always TimeoutSec=120 RestartSec=30 [Install] WantedBy=multi-user.target 

Включите настройку systemd с помощью следующих команд:

sudo systemctl enable bitcoind sudo systemctl start bitcoind 

Проверьте, правильно ли он работает.:

sudo systemctl status bitcoind 

bitcoind с этого момента он должен запускаться автоматически и перезапускаться, если он не сработает.

Затем нам нужно установить golnd.

Установка Go

Руководство lndпо установке относится к golang-1.10-go, но Ubuntu 16.04 LTS в настоящее время имеет golang-1.9-go. Чтобы установить последнюю goверсию, используйте snapвместо этого:

sudo snap install --classic go 

При успехе вы увидите результат:

go 1.10 from 'mwhudson' installed 

или

go 1.11.2 from Michael Hudson-Doyle (mwhudson) installed 

Создайте каталог

mkdir go 

Установите goпути, это можно сделать в .profile(который читает .bashrc) или непосредственно в.bashrc:

Вы можете заметить некоторую разницу между сеансами ssh и локальными терминальными сеансами с .profile, поэтому для целей этого руководства мы будем использовать .bashrcих, поскольку результаты одинаковы для обоих типов сеансов

nano .bashrc 

Добавить в конец:

export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin 

Важно: snapустановка goавтоматически установит переменную GOROOT.

Больше нет необходимости устанавливать это самостоятельно, если только вы не используете apt-get installболее старую версию goдо 1.11.

Выйдите из системы и снова войдите в систему, чтобы перечитать переменные, или вы можете ввести:

source .bashrc 

Проверьте переменные с помощью:

go env 

И если вы видите вывод, goзначит, он настроен правильно.

Установка инструментов сборки

lnd теперь используется depдля управления зависимостями и depимеет некоторые дополнительные требования к инструментам разработки, поэтому убедитесь, что у вас установлен пакет build-essential:

sudo apt-get install build-essential sudo apt-get install git-core 

Установкаdep:

go get -u github.com/golang/dep/cmd/dep 

Установка LND

Установите lndего, клонировав исходный код , выполнивdep, а затем выполнив следующие команды сборки:

go get -d github.com/lightningnetwork/lnd cd $GOPATH/src/github.com/lightningnetwork/lnd make && make install 

Важно: этот следующий шаг требует bitcoindполной синхронизации!

Выполните lndпервый запуск следующим образом, это займет некоторое время, чтобы догнать и выполнить свою собственную синхронизацию:

lnd --bitcoin.active --bitcoin.mainnet --debuglevel=debug --bitcoin.node=bitcoind --bitcoind.rpcuser=REPLACEME --bitcoind.rpcpass=REPLACEME --externalip=X.X.X.X --bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332 --bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333 

Но прежде чем синхронизация действительно начнется, в другом окне терминала вам нужно будет создать кошелек, сохранить ключ восстановления, а затем выполнить команду разблокировки.

Чтобы создать кошелек запустите:

lncli create 

Пример вывода выглядит следующим образом. Пожалуйста, убедитесь, что у вас есть надежный пароль минимум из 8 символов, а также сочетание прописных и строчных букв:

Input wallet password: ******** Confirm wallet password: ******** Do you have an existing cipher seed mnemonic you want to use? (Enter y/n): n Your cipher seed can optionally be encrypted. Input your passphrase you wish to encrypt it (or press enter to proceed without a cipher seed passphrase): ******** Confirm cipher seed passphrase: ******** Generating fresh cipher seed... !!!YOU MUST WRITE DOWN THIS SEED TO BE ABLE TO RESTORE THE WALLET!!! ------------------BEGIN LND CIPHER SEED------------------ 1. one 2. two 3. three 4. four 5. five 6. six 7. seven 8. eight 9. nine 10. ten 11. eleven 12. twelve 13. thirteen 14. fourteen 15. fifteen 16. sixteen 17. seventeen 18. eighteen 19. nineteen 20. twenty 21. twentyone 22. twentytwo 23. twentythree 24. twentfour ------------------END LND CIPHER SEED-------------------- 

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

Теперь вам нужно будет разблокировать кошелек, который вы только что создали, чтобы

lndпродолжить начальную синхронизацию:

lncli unlock 

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

Создание и редактирование $HOME/.lnd/lnd.conf из

https://github.com/lightningnetwork/lnd/blob/master/sample-lnd.conf

Очень простая версия может быть следующей, вы можете добавить больше информации из примера конфигурации позже:

[Application Options] ; set external IP if not using NAT externalip=YOURIP ; set node alias (seen in explorers) alias=SET-YOUR-ALIAS [Bitcoin] bitcoin.active=1 bitcoin.mainnet=1 bitcoin.node=bitcoind [Bitcoind] bitcoind.rpcuser=REPLACE bitcoind.rpcpass=REPLACE bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332 bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333 

Примечание: начиная с github master с 2018-08-10 годов вам нужны разные порты для каждого параметра конфигурации zmq, и вы больше не используете опцию bitcoind.zmqpath.

После этого вы можете начать lndработу без флагов, используя supervisor(см. ниже) или какой-либо другой параметр, например systemd:

lnd 

Вы отслеживаете файл журнала в каталоге logs в разделе $HOME/.lnd/logs/bitcoin/mainnet/lnd.log

Чтобы проверить lndработоспособность терминала, откройте другое окно терминала или сеанс и попробуйте выполнить следующие действия:

lncli getinfo lncli getnetworkinfo lncli describegraph 

Настройте кошелек, чтобы внести немного биткоина:

lncli newaddress p2wkh 

Это приведет к получению адреса формата Bech32, который является родным форматом адреса segwit, с более низкими сборами в расчетах сборов за открытие/закрытие каналов.

Если у вас есть проблемы с депонированием на адрес bech32 из таких мест, как earn.com или биржи, которые еще не поддерживают адресацию segwit, вы также можете использовать lncli newaddress np2wkhдля получения адреса другого формата, который больше похож на традиционный адрес multisig, но не сможет воспользоваться преимуществами сборов segwit.

Внесите депозит и проверьте прогресс с помощью:

lncli walletbalance 

Подтвержденный баланс означает, что депозит завершен и готов к открытию каналов.

Чтобы открыть свой первый канал(ы), может быть полезно найти активные узлы. Вы можете сделать это, просматривая каталог узлов в различных обозревателях, таких как https://www.robtex.com/lightning/node/ или https://1ml.com/node или вы можете открыть каналы со следующим:

* bitrefill: 024a2e265cd66066b78a788ae615acdc84b5b0dec9efac36d7ac87513015eaf6ed@lnd.bitrefill.com:9735 * yalls: 03e50492eab4107a773141bb419e107bda3de3d55652e6e1a41225f06a0bbf2d56@mainnet-lnd.yalls.org:9735 * guide author: 02262bbc21c171bc91a1d6bbf89571c95873849b9a60d3ea9671b777d852d39ecd@197.155.6.118:9735 

Откройте канал, сначала подключившись, а затем открыв канал следующим образом:

lncli connect pubkey@ip:port lncli openchannel --node_key= --local_amt= 

Полезная подсказка:

если mSATs, satoshis, bits, mBTC сбивают с толку, подумайте об установке этого полезного калькулятора https://github.com/jb55/bcalc

Проверка ожидающих и открытых каналов с помощью:

lncli pendingchannels lncli listchannels 

Настройка супервизора для автоматического запуска LND

supervisor это один из способов автоматического запуска lndи автоматического перезапуска, если он не работает.

Сначала выйдите из любого запущенного lndсеанса и выполните следующие действия:

Первая установкаsupervisor:

sudo apt-get install supervisor 

Затем установите файл конфигурации, sudoдоступ будет необходим:

cd /etc/supervisor/conf.d sudo nano lnd.conf 

Отредактируйте lnd.confи добавьте следующее:

[program:lnd] user=REPLACE-WITH-YOUR-USERNAME command=/home/USERNAME/go/bin/lnd --configfile=/home/USERNAME/.lnd/lnd.conf startretries=999999999999999999999999999 autostart=true autorestart=true 

Перезарядитьsupervisor:

sudo supervisorctl reload 

Вы можете отслеживать файлы журналов , отслеживая их в соответствующих каталогах в вашем домашнем каталоге for lndили в /var/log/supervisor/ with sudoaccess.

Важно: если lndпо какой-то причине перезапускается через супервизор, вам нужно будет снова разблокировать свой кошелек, чтобы узел заработал.

lncli unlock 

Уведомление по электронной почте о перезапуске супервизора

Если вы хотите получать уведомления по электронной почте, когда супервизор перезапускает процесс, вы можете установить superlanceплагин:

sudo apt-get install python-pip sudo -H pip install superlance 

Редактировать конфигурационный файл супервизора:

sudo nano /etc/supervisor/supervisord.conf 

Добавьте следующее, изменив адрес электронной почты на свой адрес электронной почты:

[eventlistener:crashmail] command=/usr/local/bin/crashmail -p lnd -m your@email.address events=PROCESS_STATE 

После этого следует обновить супервизор, который также перезапустится lndи добавит настроенный вами уведомитель событий:

sudo supervisorctl update 

Так что не забудьте снова разблокировать свой кошелек:

lncli unlock 

Когда процесс завершится, вы получите уведомление по электронной почте и сможете войти в систему, чтобы разблокировать кошелек и снова полностью подключить свой узел к сети.

Возможно, вас заинтересует, Как получить входящую ликвидность в LN

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