How-To: установка NRS на Raspberry Pi
Contents
-
1 Установка Nxt (і NRS клієнта) на Raspberry Pi
- 1.1 Базове керівництво по установці Raspbian
- 1.2 Оновлення системи
- 1.3 Установка XRDP (RDP сервер)
- 1.4 Перенаправлення портів роутера/файрвола
- 1.5 Установка NXT клієнта
- 1.6 Скрипт зупинки Nxt
- 1.7 З'єднання з довільним комп'ютером замість localhost
- 1.8 Старт форжинга вручну за допомогою NRS клієнта
- 1.9 Управління NRS і помилки Java
- 1.10 З'явилися проблеми?
-
1.11 Додаткові корисні команди і інструменти
- 1.11.1 Змонтуйте видалено ваш жорсткий диск на комп'ютері з Windows для доступу до нього з Raspberry Pi
- 1.11.2 Запустіть інтерфейс редагування налаштувань raspbian (мова, налаштування клавіатури, налаштування часу, ім'я хоста і так далі)
- 1.11.3 Перевірка конфігурації вбудованої Java
- 1.11.4 Видалене адміністрування за допомогою putty
- 1.12 run_nxt.sh file
Установка Nxt (і NRS клієнта) на Raspberry Pi
(Тут, переведений спочатку опублікований спосіб, авторства barbarosinciler на 359.0.html nextcoin.org. Якщо це було корисно для вас, будь ласка, підтримаєте його, перерахувавши трохи Nxt за адресою 7121642459245273749. Java пакет до установці Nxt на ваш Pi був написаний davethetrousers, гаманець 14923118471272229432)
І Raspbian, і Nxt NRS клієнт дуже добре працюють на Raspberry Pi. Завантаження процесора складає приблизно 15-20% з відкритим веб-клієнтом і розблокованим аккаунтом. Із закритим веб-клієнтом (все ще розблокованим) вона менша, ніж 10% велику частину часу (зрідка піднімається вище і іноді МОЖЕ досягти повного завантаження). Завантаження пам'яті близько 100MB.
Коли програмне забезпечення встановлене на ваш Raspberry Pi, воно автоматично запуститься при завантаженні. Ви можете управляти ним за допомогою видаленого робочого столу з іншого комп'ютера.
Це керівництво робить наступні припущення; настроюйте відповідно!
- ваш інсталяційний комп'ютер працює під Windows і має IP-адрес 192.168.1.20
- IP вашого мережевого роутера 192.168.1.1
Базове керівництво по установці Raspbian
- викачайте і встановіть Raspbian
- Викачайте образ Raspbian з [1]
- Викачайте diskimager для windows [2].
- Розгорніть образ на SD Card і завантажтеся з цієї карти на Raspberry. Ви повинні побачити конфігураційне меню.
- Розширте файлову систему і змініть пароль.
- Дозвольте робочий стіл після завантаження.
- Встановіть національні налаштування (мова, розкладка клавіатури і часову зону)
- В якості просунутих налаштувань дозволите ssh і встановите hostname, наприклад, як "rpi".
- Перевантажтеся. Тепер ви повинні побачити робочий стіл, а система повинна працювати
Оновлення системи
- відкрийте командний рядок bash (LXTerminal), введіть наступне і наслідуйте інструкції:
sudo apt - get upgrade
sudo apt-get dist-update
- Перевірте налаштування вашого IP
- Ваш Pi повинен отримати IP -адрес з DHC, це може бути підтверджено командою
ifconfig
у shell. Щоб настроїти статичний ip, відкриєте командний рядок bash (LXTerminal) і введіть наступне:sudo nano /etc/network/interfaces
- Змініть наступне з:
iface eth0 inet dhcp
на:
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
network 192.168.1.0
broadcast 192.168.1.255
- Натисніть CTRL+O щоб зберегти файл
- Натисніть CTRL+X щоб вийти
- Перезавантажте свій Pi
- Ваш Pi повинен отримати IP -адрес з DHC, це може бути підтверджено командою
Установка XRDP (RDP сервер)
- Відкрийте командний рядок bash (LXTerminal), введіть наступне і наслідуйте інструкції:
sudo apt - get install xrdp
sudo apt-get upgrade xrdp
- Тепер ви можете використати Microsoft Remote Desktop і працювати з Raspberry видалено.
- У Windows натисніть Старт -> у рядку введення введіть "mstsc"
- Введіть IP-адрес вашого Raspberry (192.168.1.10), під'єднайтеся і зайдіть під своїм паролем
Перенаправлення портів роутера/файрвола
- Забезпечте перенаправлення TCP порту 7874 вашого мережевого роутера на IP-адрес вашого raspberry (192.168.1.10)
Установка NXT клієнта
У вас дві можливі опції:
- Використайте ваш Raspberry Pi з автономним пакетом Oracle JRE included(усі питання до автора: davethetrousers )
- Завантажте
tar.gz
файл з дзеркала завантаження davethetrousers' використовуючи wget і розпакуйте його:wget http:// 109.230.224.65/~nxt/nxt_rasppi.tar.gz
tar - xf nxt_rasppi.tar.gz
- Для автоматичного старту NRS при запуску raspberry відредагуйте файл run_nxt.sh в теці nxt таким чином:
nano nxt/run_nxt.sh
- Скопіюйте код розташований у кінці цього документу, і вставте у ваш файл.
- Натисніть одночасно CTRL + O щоб зберегти
- Натисніть одночасно CTRL + X щоб вийти.
- Введіть:
crontab -e
- Вставте код у кінці файлу:
@reboot /home/pi/nxt/run_nxt.sh start
- Натисніть одночасно CTRL + O щоб зберегти
- Натисніть одночасно CTRL + X щоб вийти.
- Тепер raspberry автоматично завантажуватиме програмне забезпечення NRS при завантаженні
- Завантажте
- Покрокова інсталяція зі зборкою в raspbian Java, з дзеркала розробника
- Завантажте клієнт NRS (поточна версія: 1.8.3) https://bitbucket.org/JeanLucPicard/nxt/downloads/nxt-client-1.8.3.zip
- SHA256 hash -
c1c09d2fe3de922745ec14b961d4a232a6d81f7cad663b9ea7f9e21642456466(source: Developers Release) - How to verify SHA256 checksums (вам необхідно перевірити тут, на відповідність контрольної суми завантаженого вами файлу перш ніж ви продовжите щось робити!)
- SHA256 hash -
- Розархівуйте файл:
unzip nxt.zip
- Тепер клієнт NRS знаходиться в домашній теці (
/home/pi/nxt/
) - Введіть:
crontab - e
- Вставте в кінець файлу цей код:
@reboot /home/pi/nxt/run.sh
- Натисніть одночасно CTRL+O щоб зберегти зміни
- Натисніть одночасно CTRL+X для виходу.
- Вставте в кінець файлу цей код:
- Тепер raspberry автоматично завантажуватиме програмне забезпечення NRS при завантаженні
- Завантажте клієнт NRS (поточна версія: 1.8.3) https://bitbucket.org/JeanLucPicard/nxt/downloads/nxt-client-1.8.3.zip
Скрипт зупинки Nxt
- Створіть новий файл в каталозі /home/pi/nxt/ і назвіть його, наприклад, "stop_nxt.sh":
nano nxt/stop_nxt.sh
- Якщо Ви використовуєте пакет Java davethetrouser, вводите цей код:
/home/pi/nxt/ejre1.7.0_45/bin/java - Xmx1024M - cp nxt.jar;lib/*;conf nxt.Nxt STOP.PORT=11111 STOP.KEY=123456 --stop
- Якщо Ви завантажували безпосередньо програмне забезпечення Nxt :
/usr/bin/java - Xmx1024M - cp nxt.jar;lib/*;conf nxt.Nxt STOP.PORT=11111 STOP.KEY=123456 --stop
- Якщо Ви використовуєте пакет Java davethetrouser, вводите цей код:
- Натисніть CTRL+O для збереження файлу.
- Натисніть CTRL+X щоб вийти.
Тепер Ви можете зупинити клієнт з командного рядка наступною командою:
sudo bash nxt/stop_nxt.sh
Перш ніж перезавантажувати Ваш Pi, Ви повинні використати цей скрипт, щоб запобігти помилці blockchain !
Тепер можете перезавантажити систему командою:
sudo reboot
З'єднання з довільним комп'ютером замість localhost
- Створіть файл
nxt.properties
у теціnxt/conf/
. Ви можете створити цей файл з командного рядка використовуючи команду:nano nxt/conf/nxt.properties
і запишіть в нього наступне. Упевніться, що змінили IP відповідно до Вашого:
nxt.allowedBotHosts=127.0.0.1; localhost; 192.168.1.20; 0:0:0:0:0:0:0:1;
nxt.allowedUserHosts=127.0.0.1; localhost; 192.168.1.20; 0:0:0:0:0:0:0:1;
- Натисніть CTRL+O для збереження файлу.
- Натисніть CTRL+X щоб вийти.
Старт форжинга вручну за допомогою NRS клієнта
Щоб почати форжинг вам треба спочатку залогиниться у вашому веб-браузері.
- Відкрити https://192.168.1.10:7876
- Розблоковувати аккаунт своєю секретною фразою (займає декілька секунд).
- Якщо в лівій стороні, поряд з червоною точкою, напис "Not forging", клацніть по ньому, щоб запустити форжинг.
- Якщо клієнт розблокований, ви можете закрити браузер і система почне форжинг.
Управління NRS і помилки Java
Ви можете перевірити файли логирования java (nxtout.txt і nxterr.txt) в каталозі nxt на наявність помилок!
З'явилися проблеми?
Подивіться Відповіді на питання, що часто ставляться, і "Загальні проблеми і їх рішення"!
Додаткові корисні команди і інструменти
Змонтуйте видалено ваш жорсткий диск на комп'ютері з Windows для доступу до нього з Raspberry Pi
sudo mount -t cifs //192.168.1.20/c$ /mnt -o user=myusername
Де:
- x = IP-адрес вашого комп'ютера з Windows
- myusername = ім'я користувача на комп'ютері з Windows
Запустіть інтерфейс редагування налаштувань raspbian (мова, налаштування клавіатури, налаштування часу, ім'я хоста і так далі)
sudo raspi-config
Перевірка конфігурації вбудованої Java
sudo update-alternatives --config java
Стандартне місцерозташування відмічене зірочкою, шлях буде щось подібне до /usr/lib/jvm/jdk-7-oracle-armhf/jre/bin/java/
Налаштування за умовчанням - priority=317
і auto-modus
. Якщо вас усе влаштовує, підтвердіть натисненням Enter.
Видалене адміністрування за допомогою putty
Ви можете управляти вашим raspberry за допомогою утиліти "putty", через командний рядок SSL з'єднання. Викачайте утиліту звідси [3]
run_nxt.sh file
Використайте наступний код у Вашому run_nxt.sh
скрипті:
#!/bin/bash ### BEGIN INIT INFO # Provides: NXTserver # Required-Start: $local_fs $remote_fs $network $syslog $named $sshd # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/stop NXT server ### END INIT INFO if [ `id -u` != "0" ] && [ "$1" = "start" -o "$1" = "stop" ] ; then echo "You must be root to start/stop nxt." exit 1 fi # Settings nxtdir=/home/pi/nxt nxt=nxt.jar java=/usr/bin/java nxtpid=/var/run/nxt.pid nxtlog=/home/pi/nxt/nxt.log nxtuser=pi nxtgroup=pi nxtnice=19 timeout=700 maxmem=120 # end Settings # check for exist files and dirs test -d $nxtdir || exit 0 test -f $nxtdir/$nxt || exit 0 test -f $java || exit 0 # make sure $nxtdir is ours! chown -R $nxtuser:$nxtgroup $nxtdir . /lib/lsb/init-functions function status { start-stop-daemon -T --pidfile "$nxtpid" && echo "NXT server is started." \ || { echo "NXT server is stopped." ; return 1; } return 0; } case "$1" in start) log_daemon_msg "Starting NXT server..." "" || true # check if server is running if [ -e $nxtpid ]; then pid=`cat $nxtpid` var=`ps -p$pid | wc -l` if [ $var -lt "2" ]; then # clear logfile echo -n > $nxtlog else echo -n " NXT server is already running!" log_end_msg 0 || true exit 0 fi fi # Enable Debug for more info when starting NXT if cat $nxtdir/conf/nxt.properties | grep -q "nxt.debug="; then if cat $nxtdir/conf/nxt.properties | grep -q "nxt.debug=true"; then # Debug is enabled, nothing todo... echo -n "" elif cat $nxtdir/conf/nxt.properties | grep -q "nxt.debug=false"; then echo nxt.debug=true >> $nxtdir/conf/nxt.properties fi else echo nxt.debug=true >> $nxtdir/conf/nxt.properties fi # n minute timeout. sleep $timeout & timerPid=$! # check log file and generate status-msg; will be killed when server is started or timeout hit tail -q -n0 -F --pid=$timerPid $nxtlog 2> /dev/null | while read line; do if echo $line | grep -q "Scanning blockchain"; then echo -n " Scanning blockchain" elif echo $line | grep -q "processed block"; then echo -n "." fi if echo $line | grep -q "started successfully."; then echo -n "NXT server started successfully." log_end_msg 0 || true # stop the timer.. kill $timerPid > /dev/null 2>&1 $nxtdir/traffic_shaper.sh > /dev/null 2>&1 fi done & # start server if start-stop-daemon --start --name nxt --nicelevel $nxtnice --chuid $nxtuser:$nxtgroup --pidfile $nxtpid -m --chdir $nxtdir --exec $java >> $nxtlog 2>&1 -- -Xmx"$maxmem"m -cp $nxt:lib/*:conf nxt.Nxt >> $nxtlog 2>&1 & then # wait for the timer to expire (or be killed) wait %sleep > /dev/null 2>&1 else log_end_msg 1 || true fi ;; stop) log_daemon_msg "Stopping NXT server..." || true # check if server is running if start-stop-daemon --stop --pidfile $nxtpid > /dev/null 2>&1; then while status > /dev/null; do sleep 1; done echo -n " NXT server stopped." log_end_msg 0 || true rm $nxtpid > /dev/null 2>&1 else echo -n " NXT server is not running!" log_end_msg 0 || true exit 0 fi ;; restart) $0 stop sleep 1 $0 start ;; status) status ;; *) echo "usage:`basename $0` start | stop | restart | status" exit 1 ;; esac