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

Ноди, служби гаманців, пули тощо
Аватар користувача
Looongcat
Повідомлень: 66
З нами з: 24 листопада 2017, 14:16

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

Повідомлення Looongcat » 28 листопада 2017, 22:45

Здоров читачу!

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

Що для цього треба:
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.krbnodes.pp.ua/blockchain-$(date "+%Y-%m-%d").tar.gz && sha256sum blockchain-$(date "+%Y-%m-%d").tar.gz | awk '{ print $1 }')" "$(wget -qO- https://bootstrap.krbnodes.pp.ua/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=<твій гаманець>


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



Все, тепер маєш власну ноду! Для того щоб вона працювала повноцінно тобі також знадобиться:
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. Бонус - також я знаю як розвернути такий самий контейнер у Google Cloud Computing за допомогою шаблону. Можу поділитись у карбочаті, шукай за ніком ;)
Востаннє редагувалось 20 лютого 2018, 17:28 користувачем Looongcat, всього редагувалось 4 разів.
You can appreciate my contribution for making Karbo great by donating at KfS4P6eape7iT9m12XVGr5MpTTicPHDANji41wTZ55AuLVq32Tu7NuoJqc1GHKqh3YjorSwytGegBRUxu2fZDMPMAffx9VN
Or simply say "thank you" ;)

Аватар користувача
Looongcat
Повідомлень: 66
З нами з: 24 листопада 2017, 14:16

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

Повідомлення Looongcat » 25 грудня 2017, 14:08

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

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

П) Контейнер якийсь час працює, а потім падає. Що робити?
В) Можливо у контейнера (або у всього сервера) замало ресурсів (наприклад, ОЗП), траплялись випадки коли через брак пам'яті нода падає.
Востаннє редагувалось 20 лютого 2018, 13:15 користувачем Looongcat, всього редагувалось 1 раз.
You can appreciate my contribution for making Karbo great by donating at
KfS4P6eape7iT9m12XVGr5MpTTicPHDANji41wTZ55AuLVq32Tu7NuoJqc1GHKqh3YjorSwytGegBRUxu2fZDMPMAffx9VN

Or simply say "thank you" ;)

Аватар користувача
Looongcat
Повідомлень: 66
З нами з: 24 листопада 2017, 14:16

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

Повідомлення Looongcat » 31 січня 2018, 22:22

UPD 31.01.18:

Образ ноди оновлено до CLI 1.4.6 (тепер база - Debian Stretch). Якщо бажаєте потестити - пишіть про глюки особисто мені чи у цій темі.
You can appreciate my contribution for making Karbo great by donating at
KfS4P6eape7iT9m12XVGr5MpTTicPHDANji41wTZ55AuLVq32Tu7NuoJqc1GHKqh3YjorSwytGegBRUxu2fZDMPMAffx9VN

Or simply say "thank you" ;)

Повернутись до “Запуск та налаштування сервісів”

Хто зараз онлайн

Зараз переглядають цей форум: Немає зареєстрованих користувачів і 1 гість