Мне периодически приходится устанавливать и настраивать ноды различных криптовалют. Делать это не сложно, но везде есть небольшие нюансы, на которые надо обращать внимание и вспомнать, как действовать. Сегодня я расскажу, как установить и запустить ноды популярных криптовалют - bitcoin, ethereum, dash, litecoin, cardano.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Содержание:
Введение
В целом свое отношение к криптовалютам я описал в отдельной статье. Привожу просто для справки тем, кому будет любопытно. Сегодня мы будем рассматривать исключительно техническую сторону процесса.
Сама по себе установка ноды криптовалюты не представляет большой сложности. Нужно выполнить несколько простых команд в консоли сервера. Я поделюсь некоторыми своими мыслями на этот счет, так как много занимался этой темой и накоплен определенный опыт.
Самая большая проблема в этом вопросе - подходящее железо. Совсем бюджетные виртуалки ноды криптовалют не тянут. А такие валюты как эфир или биткоин еще и очень большой объем диска требуют - 300-600 гб. Нужен выделенный сервер нижнего или среднего ценового сегмента. Лучше всего брать в Европе, там дешевле. По моей ссылке будут сервера с русскоязычным саппортом. Если он вам не нужен, можете напрямую в hetzner брать или где-то еще, будет дешевле. Рейд контроллер там не обязателен, так как никакой уникальной информации нода хранить не будет. В случае выхода из строя она без проблем поднимается на новом железе.
Системные требования для ноды криптовалюты
Размер блокчейна
Обращаю сразу внимание на самое основное. Внимательно следите за размером блокчейна валюты, ноду которой вы будете настраивать. Покупайте сервер с большим запасом, так как блокчейн некоторых криптовалют может стремительно расти. Из недавнего примера - эфир. До нового года, если не ошибаюсь, ее блокчейн был менее 100 гб, а сейчас что-то в районе 500 гб. У меня все ноды посыпались из-за этого, пришлось срочно решать вопрос со свободным местом.
Производительность дисков
Далее нужно обращать внимание на производительность дисков. Нода криптовалюты - это огромное количество мелких, зачастую очень мелких файлов, счет которых может идти на миллионы. Далее я подробно на этом остановлюсь, когда будем cardano устанавливать. Сейчас дам универсальный совет. Если у вас обычные SATA диски, то один диск нормально тянет одну ноду. Если ставить 2-3 ноды криптовалюты, то будет плохо, со временем сервер может зависать из-за огромного iowait.
Это очень условные примеры, потому что разные ноды по разному нагружают систему. Эфир больше всех, биткоин поменьше, остальные примерно одинаково.
Процессор и память
Я поднимаю ноды в виртуальных машинах. Обычно придерживаюсь таких параметров. Для ноды Etherium выделяю 4 ядра процессора, 8 гигабайт памяти. Для bitcoin 2 ядра, 8 памяти. Для всех остальных 2 ядра, 4 гб памяти. Если память есть свободная, то лучше всем по 8 давать.
Операционная система
Я буду устанавливать криптовалютные ноды на Ubuntu 16. Хоть я и не очень люблю эту систему, но так проще всего. Обычно разработчики нод объявляют поддержку именно этой системы. Под нее всегда есть готовые сборки и скрипты установки. С другой версией линукс придется тратить больше времени.
Самый простой вариант - использовать готовые образы docker. Я не знаю, легко ли они находятся под все криптовалюты и насколько актуальны. Сам я не использую докер в данном случае, потому что установка очень простая и лишняя прослойка в виде докера не нужна. Если вам реально нужны контейнеры докер для нод криптовалют, сможете собрать их сами, если умеете работать с docker.
Установка ноды Ethereum
Добавляем репозиторий ethereum
# add-apt-repository -y ppa:ethereum/ethereum
Обновляем список репозиториев
# apt update
Устанавливаем непосредственно ноду эфира.
# apt install ethereum
Дальше вы можете любо подключить ноду к реальной сети, либо запустить на тестовой для каких-то своих целей - тестирование, разработка и т.д.
Запуск рабочей ноды ethereum:
# geth console
Запуск тестовой ноды:
# geth --testnet console
В домашней директории пользователя, от которого вы запускаете ноду, будет создана папка .ethereum, в которой будет храниться вся информация по ноде, в том числе сам блокчейн. Имеет смысл создавать отдельного пользователя для этих целей.
Ноду можно запускать с параметрами, передавая их в виде ключей командной строки. Например так:
# geth --cache=4096 --rpc --rpcaddr 0.0.0.0 --rpcport 8545 --rpccorsdomain "*" --rpcapi "web3,personal,admin,debug,db,net,eth,miner,rpc,txpool"
Описание ключей смотрите в официальной документации go-ethereum на гитхабе. Там же, кстати, и ссылка на оригинальное руководство по установке есть.
По-умолчанию, стандартная нода эфира работает прямо в консоли. Надо запускать ее как процесс в фоне. Можно написать service в systemd, но я не большой специалист в этом. Я пошел по самому простому и очевидному пути - запускать ноду в screen. Для того, чтобы она поднималась после загрузки сервера, добавляем в /etc/rc.local перед exit 0:
screen -dmS geth /usr/bin/geth --verbosity 3
Не забудьте указать нужные вам ключи запуска. Теперь проверим, как у нас работает нода, можно ли ей управлять через json rpc запросы. Допустим, мы запустили ноду со следующими параметрами:
# geth --cache=4096 --rpc --rpcaddr 0.0.0.0 --rpcport 8545 --rpccorsdomain "*" --rpcapi "web3,personal,admin,debug,db,net,eth,miner,rpc,txpool"
В соседней консоли проверяем, все ли нормально поднялось:
# netstat -tulnp | grep geth tcp6 0 0 :::30303 :::* LISTEN 1177/geth tcp6 0 0 :::8545 :::* LISTEN 1177/geth udp6 0 0 :::30303 :::* 1177/geth
Все в порядке. Отправляем тестовый запрос:
# curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' localhost:8545
В ответ должны получить что-то вроде этого:
{"jsonrpc":"2.0","id":67,"result":"Geth/v1.8.8-stable-2688dab4/linux-amd64/go1.10"}
Все работает. Что с этим делать дальше разбирайтесь сами или отдавайте сервер разработчикам. Они будут пилить очередное приложение или биржу для криптовалюты.
Установка ноды bitcoin
Продолжим устанавливать ноды криптовалют. Переходим к настройке ноды биткоин. Выполним немного подготовительных действий, чтобы потом сразу запустить ноду с нужными параметрами. Создаем в домашней директории папку для ноды:
# mkdir ~/.bitcoin
Рисуем примерно такой конфиг для нее:
# mcedit ~/.bitcoin/bitcoin.conf printtoconsole=1 testnet=1 txindex=1 rpcuser=btcuser rpcpassword=btcpass rpcport=8332 rpcbind=0.0.0.0 rpcallowip=0.0.0.0/0 datadir=/mnt/bitcoin
Приступаем к установке ноды. Подключаем репозиторий и обновляем список:
# apt-add-repository ppa:bitcoin/bitcoin # apt update
Устанавливаем службу bitcoin ноды:
# apt install bitcoind
Запускаем ноду с указанным ранее конфигом в режиме службы:
# bitcoind -daemon
Здесь ничего костылить не надо для автоматического запуска ноды, как это было с ethereum. Биткоин нода из коробки умеет работать как служба. Проверим, запустилась ли она.
# netstat -tulnp | grep bitcoind tcp 0 0 0.0.0.0:18333 0.0.0.0:* LISTEN 5405/bitcoind tcp 0 0 127.0.0.1:8332 0.0.0.0:* LISTEN 5405/bitcoind tcp6 0 0 :::18333 :::* LISTEN 5405/bitcoind tcp6 0 0 ::1:8332 :::* LISTEN 5405/bitcoind
Порт 18333 слушает блокчейн. Это дефолтный параметр. 8332 - rpc порт для взаимодействия с нодой. Все то же самое, что и с эфиром.
Если вам надо остановить ноду, выполните в консоли:
# bitcoin-cli stop
Команда сработает только, если у вас настроен rpc. Если нет, то выключить можно только так:
# pkill -9 -f bitcoind
Проверить работу bitcoin ноды можно, к примеру, следующей командой:
# bitcoin-cli getblockchaininfo
Добавим теперь ноду в автозагрузку. Для этого создадим запись в crontab.
# crontab -e
Добавляем строку:
@reboot bitcoind -daemon
На этом все. Биткоин нода готова к работе. Переходим к следующей криптовалюте.
Установка ноды DASH
Установим ноду криптовалюты DASH. Сначала ставим необходимые зависимости:
# apt install dirmngr
Скачиваем последнюю версию ноды. Для этого идем по адресу https://github.com/dashpay/dash/releases/ и смотрим номер последнего релиза. После этого копируем последний релиз к себе. На момент написания статьи последней версией ноды была v0.12.2.3.
# wget https://github.com/dashpay/dash/releases/download/v0.12.2.3/dashcore-0.12.2.3-linux64.tar.gz --no-check-certificate
Распаковываем и копируем бинарники в системные папки.
# tar -zvxf dashcore-* # mv *-[0-9].[0-9][0-9].*/bin/* /usr/bin
Создаем директорию для файлов ноды и рисуем для нее конфиг. Запускать будем с параметром testnet.
# mkdir ~/.dashcore # cd ~/.dashcore && mcedit dash.conf
printtoconsole=1 rpcallowip=::/0 txindex=1 testnet=1 rpcuser=dashuser rpcpassword=dashpassword rpcport=8999
Запускаем ноду dash.
# dashd
Нода работает в консоли, как служба по-умолчанию не работает. Чтобы запускать ее в фоне, необходимо воспользоваться утилитой screen. Делать все нужно по аналогии с руководством ноды эфира, что описана в самом начале. Запускаем так:
# screen -dmS dash /usr/bin/dashd
Проверить состояние ноды можно командой:
# dash-cli mnsync status
На этом все, нода криптовалюты dash установлена и работает.
Установка ноды litecoin
Установка ноды для криптовалюты litecoin очень похожа на dash. Почти все шаги такие же, только версия ПО будет своя. Устанавливаем необходимые пакеты:
# apt install dirmngr
Дальше идем на сайт https://litecoin.org. В разделе DOWNLOAD копируем ссылку на Litecoin Core for Linux. Скачиваем исходники на сервер.
# wget https://download.litecoin.org/litecoin-0.16.0/linux/litecoin-0.16.0-x86_64-linux-gnu.tar.gz --no-check-certificate
Распаковываем архив и копируем бинарники в системные папки.
# tar -zvxf litecoin-* # mv litecoin-0.16.0/bin/* /usr/bin
Создаем директорию для файлов ноды и рисуем для нее конфиг. Запускать будем с параметром testnet.
# mkdir ~/.litecoin # cd ~/.litecoin && mcedit litecoin.conf
printtoconsole=1 rpcallowip=::/0 txindex=1 testnet=1 rpcuser=ltcuser rpcpassword=ltcpassword rpcport=2339
Запускаем ноду litecoin:
# litecoind
Проверяем, что там запустилось:
# netstat -tulnp | grep litecoind tcp 0 0 0.0.0.0:19335 0.0.0.0:* LISTEN 2973/litecoind tcp6 0 0 :::2339 :::* LISTEN 2973/litecoind tcp6 0 0 :::19335 :::* LISTEN 2973/litecoind
Проверим статус самой ноды litecoin
# litecoin-cli getblockchaininfo
Нода работает в консоли, как служба по-умолчанию не работает. Чтобы запускать ее в фоне, необходимо воспользоваться утилитой screen. Делать все нужно по аналогии с руководством ноды эфира, что описана в самом начале. Запускаем так:
# screen -dmS litecoin /usr/bin/litecoind
Нода litecoin установлена и настроена. Переходим к следующей.
Установка ноды Cardano
Займемся теперь настройкой ноды молодой криптовалюты Cardano. Не знаю, что в ней интересного, но запросы на ее настройку у меня были. Помучался я с ней прилично, так как руководство не очень понятное, по нему без плясок не ставится. Но в итоге я научился ее готовить. Официальное руководство по установке есть ни гитхабе. Я буду настраивать по нему, но с некоторыми изменениями. Команда на сборку будет другая, если делать по руководству, то не соберется.
Сборка будет идти через некий пакетный менеджер Nix, который лично я видел впервые. Его необходимо установить, причем под непривилегированным пользователем. От root установщик nix не работает. Будет ошибка. Добавим сначала пользователя cardano.
# useradd -d /home/cardano -s /bin/bash cardano # passwd cardano # adduser cardano sudo # mkdir /home/cardano && chown cardano. /home/cardano
Заходим под новым пользователем и запускаем установщик nix.
# su cardano # cd ~ # curl https://nixos.org/nix/install | sh
Выполняем согласно указанию инсталлятора в консоли команду.
# . /home/cardano/.nix-profile/etc/profile.d/nix.sh
Создадим конфиг для nix и запишем туда пару параметров.
# sudo mkdir -p /etc/nix # sudo mcedit /etc/nix/nix.conf
Добавляем следующие строки:
binary-caches = https://cache.nixos.org https://hydra.iohk.io binary-cache-public-keys = hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=
Начинаем установку ноды Cardano. Клонируем себе репозиторий и переходим в него.
# git clone https://github.com/input-output-hk/cardano-sl.git # cd cardano-sl
Переключаемся на master ветку.
# git checkout master
Запускаем сборку cardano node из исходников.
# nix-build -A cardano-sl --cores 0 --max-jobs 2 --no-build-output --out-link master
Генерируем скрипт для запуска ноды:
# nix-build -A connectScripts.mainnet.wallet -o connect-to-mainnet
Нода собрана и установлена. Запускаем:
# ./connect-to-mainnet
Для автоматического запуска cardano node после загрузки системы, добавьте команду в /etc/rc.local перед командой exit.
screen -d -m -S cardano sudo -u cardano /home/cardano/cardano-sl/connect-to-mainnet
Проверить работы ноду можно, выполнив локально команду:
# curl https://127.0.0.1:8090/api/v1/node-info --cacert /home/cardano/cardano-sl/state-wallet-mainnet/tls/server/ca.crt --cert /home/cardano/cardano-sl/state-wallet-mainnet/tls/client/client.pem
{"data":{"syncProgress":{"quantity":3,"unit":"percent"},"blockchainHeight":{"quantity":1147025,"unit":"blocks"},"localBlockchainHeight":{"quantity":35183,"unit":"blocks"},"localTimeInformation":{"differenceFromNtpServer":{"quantity":-25400,"unit":"microseconds"}}},"status":"success","meta":{"pagination":{"totalPages":1,"page":1,"perPage":1,"totalEntries":1}}}
На этом настройка ноды окончена. Полную документацию по Cardano Wallet API читайте по ссылке.
В момент моей последней установки ноды cardano я столкнулся с тем, что через несколько дней работы нода скушала все свободные inodes и перестала работать. Дефолтного значения файловой системы ext4 в 1 000 000 ей показалось мало. Пришлось добавлять отдельный диск и в момент создания файловой системы указать на создание 10 000 000 inodes. Через пару месяцев работы нода использует 2 300 000 inodes. Имейте ввиду этот момент, если будете работать с нодой.
Установка Bitcoin Cash Full Node
Установка ноды форка биткоина - Bitcoin Cash абсолютно ничем не отличается от своего родоначальника. Нам просто нужно подключить другой репозиторий.
# add-apt-repository ppa:bitcoin-abc/ppa
Все остальное полностью идентично, до каждой команды. И запуск в режиме демона, и автозагрузка, и остановка, и проверка ноды выполняются теми же командами.
Установка NEO ноды
Для работы Neo Node нужен .NET Core, который к моему удивлению есть под linux. Ставим его:
# wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb # sudo dpkg -i packages-microsoft-prod.deb # apt install apt-transport-https # apt update # apt install dotnet-sdk-2.1
Для других версий ссылку на deb пакет можно посмотреть на отдельной странице. В дополнение ставим несколько пакетов зависимостей ноды:
# apt install libleveldb-dev sqlite3 libsqlite3-dev libunwind8-dev
Качаем со страницы https://github.com/neo-project/neo-cli/releases последнюю версию под свою систему и распаковываем.
# cd ~ # wget https://github.com/neo-project/neo-cli/releases/download/v2.9.0/neo-cli-linux-x64.zip # unzip neo-cli-linux-x64.zip
Запускаем Neo node:
# dotnet /root/neo-cli/neo-cli.dll /rpc
Откроется cli интерфейс. Можно ввести команду help и посмотреть актуальные команды. Как сервис из коробки эта нода работать не умеет, поэтому запускаем в screen и добавляем в /etc/rc.local для автозагрузки:
screen -d -m -S neo dotnet /root/neo-cli/neo-cli.dll /rpc
В своей работе neo node использует следующие порты:
Мониторинг работы нод
Сразу скажу, что все ноды у меня работали стабильно и не падали, кроме Cardano. Из-за нее пришлось озаботиться отдельным мониторингом нод. На помощь пришел zabbix. Для мониторинга я использовал стандартную проверку доступности сервиса по tcp порту. Заббикс просто обращается на указанный адрес и порт и проверяет, что служба принимает подключения.
Покажу на примере ноды Cardano. На Zabbix server я добавил элемент данных:
Создал на основе этого элемента триггер:
Просто узнать, что нода упала мало. Нужно ее еще обратно поднять. Для этого на самой ноде я сделал простой скрипт перезапуска.
#!/bin/bash sc=`pidof SCREEN` kill $sc screen -d -m -S cardano sudo -u cardano /home/cardano/cardano-sl/connect-to-mainnet
Скрипт находит pid сессии screen, в которой запущена нода и закрывает ее. После этого запускает ноду заново. Далее я создал отдельное действие в заббиксе, которое выполняло указанный скрипт на сервере в случае, если срабатывал триггер.
Конкретно с Cardano этот способ успешно работал и падения ноды перестали замечать. Она успешно перезапускалась.
Заключение
Если у кого-то есть опыт работы с нодами криптовалют, прошу поделиться. Тема не очень популярная. В рунете я вообще не видел информацию на эту тему. В глобальном интернете каких-то подробных руководств или обмена опытом тоже нет. В основном только инструкции от разработчиков по установке и настройке.
Сам софт для нод мне показался каким-то недоделанным что ли. Как-будто на коленке по-быстрому собрали. Никто, кроме биткоина, не умеет работать как служба. Приходится костылить на месте, чтобы нормально запускать и управлять нодами.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Здравствуйте,
ищу специалиста который возьмется за установку крипто нод на мои сервера с последующим сопровождением.
Необходимо разбить сервер на несколько виртуальных машин и установить ноды. В дальнейшем нужно их обновлять и следить за работой, чтобы вывести на дроп.
Помимо оклада предлагаю щедрый процент от прибыли от возможного дропа.
От Вас требуется подтверждение Вашей квалификации!
Что за ноды? Можно поподробнее?
Здравствуйте, Владимир.
Выполняю команду:
Запускаем сборку cardano node из исходников.
nix-build -A cardano-sl --cores 0 --max-jobs 2 --no-build-output --out-link master
Мне выдает ошибку:
error: attribute 'cardano-sl' in selection path 'cardano-sl' not found
Владимир, спасибо за статью! назрел вопрос про мониторинг ноды, хочу подтягивать информацию о статусе ноды и посылать команду на рестарт (делаю через Zabbiх). Создал скрипт для проверки статуса ноды, но дело в том что команда, которая запрашивает статус, не работает напрямую с клиентом ноды, это скрипт (есть ссылка на GitHub). Так вот как заставить cron выполнять данную команду? голову слома. Спасибо!
Ничего не понял, но я делал просто. Если мониторинг видит что-то неладное, Zabbix через настроенное действие в виде скрипта, выполняет этот скрипт. А в скрипте прописан перезапуск ноды.
Спасибо за статью.
А возможно ли развернуть тестовую ноду - BTC, например, не скачивая весь блокчейн, но так, чтобы bitcoin-cli работал?
Я точно не помню уже, что там будет с размером блокчейна, если выбрать testnet.
Дорогой, зачем отвечать, елси не знаешь и говорить, что не помнишь.... Testnet - говорящее название. А чел спросил совсем другое - ему надо не ставить полную ноду, а копаться в стороннем блокчейне через собственный клиент
Дорогой, зачем говорить мне что делать на своем же сайте в комментариях. Разберусь как-нибудь сам. Про сторонний блокчейн речи вообще не было.
Скажите, а вы не настраивали никогда Ligthning Network ? в экосистеме биткоин.
также вопрос - можно у вас получить платную консультацию? фирма хочет чтобы я научился настраивать ноды - но больше чем в этой главе - в частности XRP. Спасибо.
Ligthning Network никогда не использовал. С XRP никаких проблем нет. Много раз устанавливал и настраивал. Делается все по официальному руководству с установкой из их репозитория - https://xrpl.org/install-rippled-on-centos-rhel-with-yum.html
а лайтовая geth нода подходит для работы с токенами или нужна полная?
Точно не знаю. Думаю, что да. Я всегда использовал parity, которая теперь стала openethereum.
Понятно, а если у hetzner cloud лайт ноду подымать, то какие на данный момент минимальные требования сколько будет весить лайтовая версия, а то не хотелось бы взять и потом окажется что место не хватило ;)
У меня сейчас ноды работают на следующем железе:
- для блокчейна надо очень быстрые, желательно локальные ssd диски, размер урезанного блокчейна в openethereum - 390G
- минимум 4 cpu
- минимум 16G ram
Для ноды эфира требования очень высокие. Иногда бывает диски не вытягивают нагрузку и нода тупо не может полностью синхронизироваться. Но последние релизы openethereum 3 вроде как исправили эту проблему. Синхронизация значительно быстрее проходит.
Так что сейчас надо брать виртуалку с минимум 500G диском. Ноды эфира самые дорогие.
Спасибо большое, теперь у меня есть хоть какое-то представление.
Чел ничего не знает - он копипастил всё в чужих аккаунтах - даже сам запуск нод вместо системных стандартных вариантов через тупые костылию Для работы с сетью эфир в geth есть стандартный вариант запуска в lite исполнении - так он не качает весь мусор к себе, а работает только со свежими транзакциями
Вот ты душный. Я пачками поднимал, настраивал и поддерживал эти ноды в течении нескольких лет. Участвовал в создании нескольких криптобирж, когда на них хайп был. Сейчас все это стухло, и биржи, и ico, и хайп. Денег так просто не дают. Все это было несколько лет назад и тогда все эти костыли были оправданы. Некоторые ноды висли и падали постоянно. Например, Cardano. Мы так и говорили - кардан опять упал.
Сейчас многие ноды поменялись кардинально. Geth вообще не знаю, кто использует. Когда я этим занимался, все уже ставили Parity, которой сейчас вообще нет, а не Geth. Сейчас даже не знаю, какой софт под эфир используют.
Да это было понятно сразу что скопирован текст и переведен через гугл переводчик, потому что последовательность действий начинается с запуска программы, а настройка компьютера проги это со слов автора "сами разберетесь" я ничего не понимаю что бы объяснять.
Хочу попробовать этим заняться, но не хватает мощности ПК. Не знаете где можно арендовать чтобы через удаленный рабочий стол потом настроить ноду?
Я ноды чаще всего в hetzner cloud настраиваю.
Почитал. Похоже самая простая для установки нода у PZM. Ещё и форжит - приносит доход...
Zerox_ привет, подскажи, а если создать свой кошель и нод. потом скинуть туда денег реальных, то в другой стране можно снять?
Чтобы снять, нужна биржа с выводом в фиатные деньги.
Привет! Где то у меня пробел в образовании.
Могу я к своей ноде подключить свои майнеры.
Чтобы они майнили через меня прямо в сеть?
Не знаю, что значит подключить майнеры. В целом, работа ноды с самим майнингом напрямую не связана. Она не майнит, а обеспечивает связь с блокчейном. Самим майнингом я никогда не занимался, так что не подскажу. Подозреваю, что все это сильно зависит от конкретной криптовалюты. Везде по-разному будет.
Может я не правильно называю.
Есть узлы (как я понимаю node) которые образуют сеть.
В рамках сети идет расчет блокчейнов.
Пример такой ноды ethpool к которому присоединяются майнеры.
Ваше описание приводит к сосзданию такого узла?
Нет, это другие сущности. На описываемых нодах не рассчитываются блоки. Они служат только для того, чтобы подключаться к блокчейну, читать историю и отправлять заявки на проведение транзакций. Как это технически связано с работой самих майнеров и проведением транзакций я не понимаю сам :)
Bitcoin v0.18
Failed to connect to MY_IP_ADDR port 8332: Connection refused
не получается подключится перепробовал все варианты , в v0,16 было все ок с чем это может быть связано
или как я могу установить v0.16 биткоин ?
Надо просто посмотреть, что изменилось в новых версиях. Там же постоянно что-то меняется. Возможно формат конфига изменился. Откатываться на старую версию не вариант. Надо постоянно на новых сидеть. Там часто важные обновления бывают, особенно то, что касается безопасности.
https://bitcoin.org/en/release/v0.18.0#configuration-option-changes
rpcallowip отключили
как теперь внешне подключаться не совсем понятно , может сможешь подсказать ?
Вот конфиг с ноды 0.18.0, все работает.
printtoconsole=1
testnet=0
rpcport=8332
rpcbind=0.0.0.0
rpcallowip=0.0.0.0/0
datadir=/mnt/bitcoin
prune=50000
[main]
rpcuser=user
rpcpassword=pass
onlynet=ipv4
Zerox, подскажи пж в какой момент будет скачивание всех этих 300 гигов, и по какой причине я могу не видеть порт 18333, при установке ноды bitcoin? вроде как все по инструкции да и в других местах читал, но пока еще не вышло.
Скачивание процесс не сильно предсказуемый. Может за пару суток вся цепочка скачаться, а может за неделю. Я не знаю, как этим управлять или форсировать. У некоторых нод можно скачать весь блокчейн разом и развернуть. Это самый быстрый вариант.
Почему не работает порт - не знаю. Может фаерволом закрыт или еще по какой причине. В общем случае там все просто и особых настроек не требуется.
путаница с Bitcoin Cash Full, выполнил команду # add-apt-repository ppa:bitcoin-abc/ppa пытаюсь запустить bitcoinCashd пытается запуститься но выбивает с ошибками
You need to rebuild the database using -reindex-chainstate to change -txindex.
Please restart with -reindex or -reindex-chainstate to recover.
можете подсказать почему не запускается и для Bitcoin Cash где файл с конфигурациями создается ?
Приветствую, есть ли опыт по подключению bitcoinlib к bitcoin node? Если есть, не могли бы поделиться. Заранее спасибо.
Zerox можешь подсказать после установки ноды Litcoin с генерировал адрес и сделали пополнение, через другие сервисы пополнение прошло, но у себя когда я проверяю баланс отображает 0 с чем это может быть связанно ?
Я не знаю, с нодами не работаю вообще и ни одного кошелька ни разу не заводил. Я только обеспечиваю техническое обслуживание и мониторинг. Можете посмотреть статус своей ноды через litecoin-cli getblockchaininfo Возможно, она по какой-то причине отстает.
Zerox можно ли как-то уменьшить размером блокчейна к примеру отключением некоторых функций если это возможно конечно ?
и нет ли инструкции по установки ноды для монеты Doge?
Насколько я понимаю, размер блокчейна уменьшить нельзя. Но в некоторых криптовалютах ограничение на размер скачанного блокчейна организовано на программном уровне. Например, после того, как размер блокчейна эфира стремительно вырос до почти терабайта, вышли обновления нод. Теперь нода не качает весь блокчейн. Даже половину не качает. Размер блокчена на нодах эфира у меня сейчас колеблется от 50 до 200 гб, выше не идет.
Так что занимаемый в сумме размер диска нодой можно проверить только экспериментальным путем. Например, биткоин достаточно быстро вырастает до заявленного размера в 300-350 гб на текущий момент.
Монету Doge не настраивал ни разу.
Zerox подскажи если через время нужно перенести ноду на другой сервер будет ли подвязка какая-то за сервером или возможно есть какие то сертификаты я имею ввиду к примеру мы сгенерировали кошелек этот сгенерированый кошелек будет относиться к нашему серверу ?
Чаще всего подвязок никаких нет. Кошелек надо сохранять и переносить, но его не обязательно хранить на ноде. Но если храните на ноде, то обязательно бэкапить.
Zerox очень интересная статья , делаем приложение на основе твоего примера , а ты можешь подсказать где могут быть уязвимости в нодах или как ломают, или возможно это уязвимости в приложениях поделись ?
Обычно через приложения и сайты ломают. В сети много примеров взломов криптобирж, можно поискать. Ломают так же, как и обычные сайты.
Давайте замутим свою биржу или ICO. Ведь инструкция уже есть как ноды поднимать!
Осталось саму биржу написать и можно не работать :)
Ждем статью, как написать свою биржу )
Если только юмористическую. Смотришь на все эти биржи, которых развелось как грибов после дождя. И смешно, и грустно. "Надежно, честно, безопасно". А через пол года закрывается.
А как то подключиться и майнить на этой ноде же есть возможность?
Да
Teeth of his knowledge and enthusiasm, Sherman isn’t interested in giving investment recommendation: “Who knows,” he says, “You announce up, you hear outstanding things in some, you understand frightening things hither others, they oscillate from one end to the other of the day. It is such an unpredictable market.”
Какая, приблизительно, прибыль идет с ноды в криптовалюте?
Правильно понимаю, что лучше несколько виртуальных нод на одном серваке, чем одну большую ноду?
Это так не работает. Просто с ноды дохода нет.
С "ноды" пассивный доход есть, если криптомонета "работает" на POS-е (Пруф-Оф-Стейк). Оплата идет за поддержание сети. Тот-же Dash который упоминается в статье.
Насколько я понимаю, награда за работу ноды не окупает расходы на содержание железа под нее. Иначе бы все сейчас размещали ноды dash, но этого не происходит.
Не так. Награда за размещение ноды - может легко окупить размещение. А вот вложение в саму монету для размещения такой ноды - это уже другие суммы и риски. Даш сейчас стоит порядка 105$, на мастерноду нужно 1000 монет. Профитность порядка 7% годовых в монете. Сколько это в $ - зависит от курса монеты.
Вот и сравниваем. 105к вечнозеленых вложить в 1000 монет, 70/12*105=612$
70 = 7% годовых
12 = месяцев
105 = текущая цена.
А вот дальше.... Сколько будет стоить монета через год? Через месяц? Сколько нод за это время поднимут/умрут (количество награды фиксировано и делится между нодами примерно поровну). Будет ли вообще жива крипта??? Ну и т.д.
А 612$ в месяц с сервака, учитывая что разместить можно на сьемном ВПСе за 5$ в месяц....
Красиво на бумаге, да забыли про овраги. Я сотрудничал и сотрудничаю с разными людьми, открывающими криптовалютные биржи. Никто из них не вкладывается в ноды dash почему-то :) Все эти вложения, как игра в казино. В конечном счете выиграет всегда казино, а не игрок. Стабильный безрисковый доход это биржи, все остальное как повезет.
Абсолютно согласен. У самого ноды крутятся - смотрю на них и рыдаю... плинтус все ближе )))
Как прописать в эти ноды свой fee адрес, чтоб получать небольшой % за осуществленные транзакции?
Это так не работает. Просто с ноды дохода нет.
А какой с нее вообще может быть доход
Вы пишите свое приложение, или какой-то еще проект, например биржу. И используете свои ноды для операций своего проекта для ускорения исполнения платежей. На этом и зарабатываете.
А можно создать своих 5-ть к примеру полных нод, и подтверждать свои транзакции бесплатно?
Если я правильно понимаю, достаточно и одной ноды. Почему именно 5?
значит одна, но вопрос тот же.
для этого есть тестовый режим, или regtest, достаточно создать 5 разных кошельков - смотри документацию
Zerox, подскажи пж, я запустил все это дело и более того около 120 гб в через фон скачалось, в конфигах у меня что то типо
rpcbind=127.0.0.1
rpcuser=****
rpcpassword=****
rpcport=8332
datadir=/mnt/bitcoin
testnet=0
regtest=0
Rpcconnect = 127.0.0.1
Paytxfee = 0.0001
getblockchaininfo
выдает что запущенно как
"chain": "main"
создал новый адресс через
getnewaddress
и попытался для теста перевести на него через blockchain 0.00001 биток с комиссией 0.0001 (общая сумма около 1.5 бакса), указывал при переводе адрес, который я получил через getnewaddress
прошло наверно более двух суток, getbalance так и показывает 0.000000...
вопрос, делаю ли я что то не так, возможно не тот режим, возможно это не тот адрес что нужно указывать.. или возможно эта сумма для перевода слишком мала, в документации есть об этом упоминание, но на данный момент ограничения деприкейтед.. что думаете на этот счет
Я вообще с нодами сам не работаю. Только ставлю, обновляю, мониторю. Кошельки и все остальное программисты пишут в софте. Мне тема криптовалюты самому не интересна, я ее никогда не покупал и не использовал.
Спасибо
Была похожая ошибка но уже не помню делюсь настройками рабочего конфига может поможет
rpcuser=login
rpcpassword=pwd
rpcport=8332
printtoconsole=1
rpcallowip=IP разрешение на просмотр не в консоле
txindex=1