Сторінка 1 з 2

Як підняти власну ноду Карбованця (Docker)

Додано: 28 листопада 2017, 22:45
Looongcat
Здоров читачу!

Уважно гортаєш усі карбочати і закікавився роботою з віддаленими нодами? Тепер ти маєш шанс з мінімальними зусиллями запустити власну!

Що для цього треба:
1) Сервер (ПК, віртуальний інстанс, будь що) з Host OS що підтримує Docker та платформу x86-64.
2) Встановлений на хості Docker CE
3) Якщо маєш на сервері лінукс - онови пакети!

Список дій для запуску ноди:
1) Додати свого користувача до групи docker

Код: Виділити все

sudo useradd <твій користувач> docker

2) Створити папку у якій буде зберігатися блокчейн, наприклад:

Код: Виділити все

mkdir /home/<твій користувач>/.karbowanec

3) Завантажити або зробити образ з нодою:
3.1) Завантажити (репозиторій):

Код: Виділити все

docker pull looongcat/karbo-fullnode

3.2) Зробити самому (переконайся що це не скам):

Код: Виділити все

docker build https://github.com/Looongcat/docker-karbo-fullnode.git

3.3) Опціонально Завантажити готовий блокчейн та розпакувати його у теку з п.2. Якщо маєш wget, то можеш використати ось цього монстра:

Код: Виділити все

printf "Downloaded SHA256\t:\t %s\nOriginal SHA256\t:\t %s\n" "$(wget https://bootstrap.karbo.io/blockchain-$(date "+%Y-%m-%d").tar.gz && sha256sum blockchain-$(date "+%Y-%m-%d").tar.gz | awk '{ print $1 }')" "$(wget -qO- https://bootstrap.karbo.io/blockchain-$(date "+%Y-%m-%d").tar.gz-sha256.txt)"


4) Створити контейнер за допомогою команди (у такому вигляді підходить лише для п. 3.1):

Код: Виділити все

docker run --restart=always -it -p 32347:32347 -p 32348:32348 -v <шлях з п.2>:/home/karbo/.karbowanec --name=karbo-fullnode -d looongcat/karbo-fullnode

або

Код: Виділити все

docker run --restart=always -it -p 32347:32347 -p 32348:32348 -v <шлях з п.2>:/home/karbo/.karbowanec --name=karbo-fullnode -d looongcat/karbo-fullnode --fee-address=<твій гаманець>


Різниця між командами у тому, що перша запустить ноду, яка збирає комісію на користь розробників Карбо, а друга - на користь власника ноди (тобто тебе :) )

Додатково: для кращої утилізації системних ресурсів до команди створення можна додати флаг --cpuset-cpus=x-x (наприклад: docker run --cpuset-cpus=0-4 ...) який визначає скільки ядер виділятиметься на контейнер (після знака "=" відповідно номери процесорних ядер, починаючи з 0. Скільки у Вас ядер можна подивитись по cat /proc/cpuinfo для linux чи у devmgmt.msc для windows).



Все, тепер маєш власну ноду! Для того щоб вона працювала повноцінно тобі також знадобиться:
1) Актуальний час у Host OS (якщо ти ще не користуєшся NTP - ти точно псих)
2) Білий IP
3) Дозволити у файрволі вхідні з'єднання на порт 32348 типу TCP. Якщо маєш iptables, то пиши:

Код: Виділити все

sudo iptables -A INPUT -p tcp --dport 32348 -j ACCEPT

4) Зачекати деякий час до синхронізації блокчейна (з мого досвіду на інстансі з 1 ЦП на даний момент це займає близко 2 діб)

Завдяки ключу -i у п.4 ти маєш змогу під'єднатися до консолі контейнера командою:

Код: Виділити все

docker attach karbo-fullnode

Щоб вийти звідти натисни послідовно CTRL+P та CTRL+Q

Якщо маєш питання - я як автор Dockerfile можу спробувати відповісти на нього у цій темі.

P.S. Для власників серверів на старому чи примітивному залізі
Якщо стандартний образ для Вас не працює (помилки типу exception, illegal instruction і тому подібне) - ви можете спробувати самостійно зібрати образ з експериментальної гілки github наступною командою:

Код: Виділити все

docker build --no-cache --cpuset-cpus=x-x -t looongcat/karbo-fullnode https://github.com/Looongcat/docker-karbo-fullnode.git#experimental


де х-х - максимально доступна кількість процесорів (дивитись у графі "CPUs" команди docker info, наприклад: 0-1 для "CPUs: 2")

Re: Як підняти власну ноду Карбованця (Docker)

Додано: 25 грудня 2017, 14:08
Looongcat
Невеличке доповнення аля ЧаПи:
П) Як перевірити що нода робоча?
В) Найпростіший варіант (якщо ти далекий від консолі) - це відкрити у браузері http://<IP твого сервера>:32348/feeaddress . За цією адресою робоча нода повинна повернути у JSON форматі адресу для сбору комісій (зі статусом ОК звісно). Якщо не відкривається (а у консолі нода повністю завантажена та у процесах) - 99% що маєш проблеми з файрволом, що можна перевірити схожим методом - зробити GET запит прямо з консолі сервера з нодою за адресою вказаною вище(curl, wget). Якщо у консолі отримав відповідь (а це звернення по loopback на самого себе), а у браузері ні - це 100% файрвол.

П) Як подивитись статус блокчейна ноди не маючи гаманця під рукою?
В) http://<IP твого сервера>:32348/getinfo

П) Контейнер якийсь час працює, а потім падає. Що робити?
В) Можливо у контейнера (або у всього сервера) замало ресурсів (наприклад, ОЗП), траплялись випадки коли через брак пам'яті нода падає.

Re: Як підняти власну ноду Карбованця (Docker)

Додано: 31 січня 2018, 22:22
Looongcat
UPD 31.01.18:

Образ ноди оновлено до CLI 1.4.6 (тепер база - Debian Stretch). Якщо бажаєте потестити - пишіть про глюки особисто мені чи у цій темі.

Re: Як підняти власну ноду Карбованця (Docker)

Додано: 02 березня 2018, 12:42
Sergocoss
Добрий день, чи є готове рішення для synology, буду вдячний за допомогу вналаштуванні.

Re: Як підняти власну ноду Карбованця (Docker)

Додано: 05 березня 2018, 12:17
Looongcat
Sergocoss , у даного вендора багато рішень з різним залізом та софтом, якщо маєте конкретну залізяку та намір запустити ноду - пишіть сюди або у телеграм яке залізо та який на ньому софт

Re: Як підняти власну ноду Карбованця (Docker)

Додано: 07 березня 2018, 14:29
Sergocoss
По залізу: 2шт "Xpenology"на HP Microserver NL-40 версія DSM 6.1.4-15217. SHR btrfs (аналог RAID 5). Залізяки працюють стабільно уже протягом 3-4 років.

Re: Як підняти власну ноду Карбованця (Docker)

Додано: 09 березня 2018, 15:01
Looongcat
Sergocoss, найперше що знайшов: https://forums.freenas.org/index.php?th ... 54l.48025/

Тобто технічно це можна зробити, тільки варто пам'ятати що контейнер є x64, і варіанту під x86 на жаль нема (не було на момент релізу останнього CLI, а пізніше я вже не дивився), а це означає що і хост треба x64.

Re: Як підняти власну ноду Карбованця (Docker)

Додано: 11 березня 2018, 13:57
Sergocoss
Looongcat писав:Sergocoss, найперше що знайшов: https://forums.freenas.org/index.php?th ... 54l.48025/

Тобто технічно це можна зробити, тільки варто пам'ятати що контейнер є x64, і варіанту під x86 на жаль нема (не було на момент релізу останнього CLI, а пізніше я вже не дивився), а це означає що і хост треба x64.


Ви напевно невірно мене зрозуміли, на мікросервері за допомогою спеціалізованого завантажувача запущено DSM, це ос від Synology. По суті це нічим не відрізняється від оригінального NAS просто на кілька кілобаксів дешевше. DSM 6.1.3-15152 повністю х64, DOCKER доступний серед офіційних пакетів для встановлення, логічно він теж х64.

Зображення
Зображення
Зображення

Re: Як підняти власну ноду Карбованця (Docker)

Додано: 13 березня 2018, 22:58
D780
Добрый день.
Под FreeBSD можно поднять ноду ?
Без всяких докеров и т.д. ?

Re: Як підняти власну ноду Карбованця (Docker)

Додано: 15 березня 2018, 09:10
Looongcat
D780, якщо зберете з сирців, то звісно можна, бо бінарників на гіті для freebsd я чесно кажучи не бачив