Майнинг криптовалюты на Raspberry Pi для многих кажется весьма эффективным решением, поскольку этот миниатюрный компьютер стоит недорого и обладает неплохой вычислительной мощностью. Но, к сожалению, такие дорогие валюты как биткоин и Ethereum на нем уже не помайнишь из-за их высокой сложности, с которой могут справиться лишь ASIC и мощные видеокарты.

Но сегодня насчитывается большое количество разнообразных криптовалют, и некоторые из них имеют невысокую сложность добычи и при этом весьма выгодны в цене. К таким криптовалютам можно отнести, например, Monero. В данном материале мы рассмотрим проект создания узла на основе Raspberry PI 3 Model B для майнинга Monero.
Итак, до начала развертывания узла нужно удостовериться, что у вас имеется одна из новых версий опреационной системы Raspbian (например, Stretch на текущий момент), Win32DiskImager для Windows или Etcher для Mac OS, 7-Zip для Windowsили Unarchiver для Mac OS, SDformatter для всех ПК, PUTTY, IPscanner для Windows и Angry IP Scanner для Mac. Это все необходимо для установки и подготовки ОС (https://www.raspberrypi.org/downloads/raspbian/). Процесс установки Raspbian описан во многих руководствах и инструкциях, которые легко можно найти на просторах интернета.
Успешно установив ОС и запустив Raspberry Pi, войдите в систему с SSH и начните настройку. Первые сетевые подключения WiFi записываются как:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Перейдите в конец файла и добавьте следующий текст:
network={
ssid="YOUR WIFI ROUTER NAME"
psk="YOUR WIFI ROUTER PASSWORD"
}
Wi-Fi будет доступен после перезагрузки Raspberry Pi.

Далее расширим файловую систему (полностью используя SD-карту) и сменим пароль из соображений безопасности. Для этого введите:
sudo raspi-config
Выберите «1 change user password» и следуйте инструкциям на экране. Это будет новый пароль при использовании PUTTY для SSH. Для расширения файловой системы выберите «7 advanced options» и далее «A1 expand filesystem». Потом выберите «finish», система перезагрузится. И снова войдите в SSH и PUTTY после завершения перезагрузки. После этого стоит обновить систему (если обновления есть):
sudo apt-get update
sudo apt-get upgrade
Теперь переместим все на USB-накопитель, поскольку постоянный процесс чтения и записи значительно сокращает срок службы SD-карты. Для перемещения файловой системы нам нужен репозиторий «git»:
sudo apt-get install gitВставьте USB-накопитель, а затем проверьте, что он установлен на Pi:
sudo lsblkСкорее всего, он обудет установлен как / dev / sda с разделом, называемым sda1. Нам нужно удалить этот раздел, чтобы не дать Raspbian автоматически использовать диск при загрузке, на этом этапе. Помощник на следующем шаге автоматически создаст новый раздел, чтобы выполнить работу по перемещению файлов.
sudo fdisk / dev / sda
d
(удаляет старый раздел)
w
(записывает и фиксирует изменения)
Теперь он совместим со вспомогательным скриптом. Люди в Adafruit сделали очень полезный помощник, чтобы уменьшить количество необходимых команд. Следующие три строки создают новый раздел и перемещают всю файловую систему на USB-накопитель. Он предупреждает вас, что любые данные, которые в настоящее время записываются в / sda, будут перезаписаны. Если вы являетесь продвинутым пользователем и назвали раздел чем-то другим, кроме / sda, здесь он должен быть изменен:
git clone https://github.com/adafruit/Adafruit-Pi-ExternalRoot-Helper.git
cd Adafruit-Pi-ExternalRoot-Helper
sudo ./adafruit-pi-externalroot-helper -d /dev/sda
В итоге выберите «y». Итак, все было скопировано, и был настроен накопитель. Нам просто нужно изменить загрузочный файл, чтобы он теперь запускался с USB-накопителя.
sudo blkid -o export / dev / sda1Номера будут отличаться, но будет что-то вроде того, что представлено на следующем изображении:

Это наши ярлыки и адреса дисков. Нам нужно проверить, что длинный номер PARTUUID (это USB) введен в cmdline.txt. Для этого введите:
sudo nano /boot/cmdline.txtИ убедитесь, что помощник изменился (root=PARTUUID=), чтобы соответствовать тому, что было перечислено выше. Затем сохраните и выйдите. Сделайте еще одну перезагрузку (sudo reboot), и после этого индикатор вашего USB-накопителя начнет мигать, показывая, что теперь он получает данные.

Мы сейчас очень близки к завершению. Однако узел будет запущен в окне PUTTY на нашем экране, и если вы закроете этот экран, он также закроет соединение, остановив узел. Простое решение – использовать отличную программу под названием «Screen». Она запускает текущую сессию на Pi и может делать ее фоновой. Это позволяет не держать окно работы узла все время открытым. Чтобы установить Screen, введите:
sudo apt-get install screenЗатем, чтобы использовать его, введите:
screen bashОн откроет еще один экземпляр терминала, который работает на Pi. Теперь вы можете запустить процесс, который вы хотите оставить, и снова подключиться к нему позже. В этом случае это будет узел. И, наконец-то, переходим к установке майнера Monero. Для начала чтобы помочь Raspberry Pi с вычислениями, можно «расширить» ОЗУ, используя swap-файл:
sudo nano /etc/dphys-swapfileИ измените размер по умолчанию 100 (МБ) на 1000, как показано на изображении ниже:

Затем, чтобы создать новый файл подкачки, введите:
sudo dphys-swapfile setup
sudo dphys-swapfile swapon
Это искусственно дало Raspberry Pi примерно 2 ГБ оперативной памяти. Теперь загрузим то, что необходимо для Monero:
sudo apt install libboost-all-devСоздадим каталог для загрузки файлов Monero:
mkdir ~/bin
cd ~/bin
Загрузите Monero как пакет с:
wget https://downloads.getmonero.org/cli/linuxarm7Затем откройте этот пакет:
tar -vxf ./linuxarm7Чтобы запустить узел, введите:
/monero-v0.11.1.0/monerodУзел требует времени для инициализации. Будьте терпеливы.

А вот так будет выглядеть экран, когда узел начнет работу. Постоянный поток линий, подобных этим, будет идти вверх.

Если у вас нет Raspberry Pi, то узнайте, как майнить Monero на процессоре и видеокартах AMD и Nvidia.
© digitrode.ru