Установка индексатора Fulcrum
Cover

Часть 2. Установка индексатора Fulcrum

20 декабря 2023 г.

Перед выполнением дальнейших шагов убедитесь, что:

  • Завершены все действия из части 1.
  • Завершен процесс IBD в Bitoin Core.

Введение #

После полной синхронизации Bitcoin Core следующим шагом будет установка индексатора Electrum, который обеспечивает совместимость со всеми биткоин-кошельками на базе Electrum.

Подключение кошельков непосредственно к персональному серверу Electrum, а не к Bitcoin Core, значительно повышает безопасность, поскольку Bitcoin Core хранит балансы и открытые ключи в незашифрованном виде на локальном компьютере.

Индексатор Fulcrum, совместимый с протоколом Electrum, занимает больше места, чем другие индексаторы, однако после полной синхронизации его производительность не имеет себе равных.

Загрузка и проверка Fulcrum #

Перейдите в директорию для загрузок.

cd ~/downloads

Зайдите на Github Fulcrum в браузере и скопируйте ссылку на последний файл “x86_64-linux.tar.gz”. На момент написания статьи последней версией является 1.10.0.

Скачайте Fulcrum.

torsocks wget https://github.com/cculianu/Fulcrum/releases/download/v1.10.0/Fulcrum-1.10.0-x86_64-linux.tar.gz

Скачайте файл “asc” для релиза.

torsocks wget https://github.com/cculianu/Fulcrum/releases/download/v1.10.0/Fulcrum-1.10.0-shasums.txt.asc

Загрузите файл sha256sum для релиза.

torsocks wget https://github.com/cculianu/Fulcrum/releases/download/v1.10.0/Fulcrum-1.10.0-shasums.txt

Проверьте контрольную сумму Fulcrum.

sha256sum -c --ignore-missing Fulcrum-*-shasums.txt
В выводе команды должно появиться сообщение “OK” (“ЦЕЛ”), например: “Fulcrum-0.0.0-x86_64-linux.tar.gz: OK.”

Импортируйте открытый ключ разработчика Fulcrum из официального репозитория на GitHub.

torsocks curl https://raw.githubusercontent.com/Electron-Cash/keys-n-hashes/master/pubkeys/calinkey.txt | gpg --import

Убедитесь, что подписи совпадают.

gpg --verify Fulcrum-*-shasums.txt.asc
В выводе должно быть написано “Good signature from Calin Culianu” (“gpg: Действительная подпись пользователя Calin Culianu”).
Не беспокойтесь о предупреждении “This key is not certified with a trusted signature!” (“Внимание: Данный ключ не заверен доверенной подписью!”). Повышенные уровни доверия не были установлены вручную для импортированного ключа.

Удалите проверочные файлы.

rm Fulcrum-*-shasums.txt && rm Fulcrum-*-shasums.txt.asc

Подготовка директории #

Создайте директорию “fulcrum”.

mkdir ~/fulcrum

Создайте директорию “fulcrum_db”.

mkdir ~/fulcrum_db

Распакуйте архив.

tar xvf Fulcrum-*-x86_64-linux.tar.gz

Перенесите содержимое архива в директорию “fulcrum”.

mv Fulcrum-*-x86_64-linux/* /home/satoshi/fulcrum

Удалите оставшуюся папку.

rm -r Fulcrum-*-x86_64-linux

Удалите архив.

rm Fulcrum-*-x86_64-linux.tar.gz

Войдите в директорию “fulcrum”.

cd ~/fulcrum

SSL #

Сгенерируйте новый ключ SSL. Нажимайте Enter в подсказках, оставляя все значения по умолчанию.

openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem

Конфигурирование #

Переименуйте файл конфигурации fulcrum по умолчанию.

mv fulcrum-example-config.conf fulcrum.conf

Откройте файл “fulcrum.conf”.

nano fulcrum.conf

Отредактируйте следующие строки.

####замените
datadir = /path/to/a/dir  # Windows: datadir = D:\FulcrumData\mainnet

##на
datadir = /home/satoshi/fulcrum_db  # Windows: datadir = D:\FulcrumData\mainnet
####замените значения на ваши имя пользователя и пароль для RPC Bitcoin Core
rpcuser = Bob_The_Banker
rpcpassword = hunter1
####раскомментируйте строку
#ssl = 0.0.0.0:50002

##следующим образом
ssl = 0.0.0.0:50002
####раскомментируйте и отредактируйте строки
#cert = /path/to/server-cert.pem
#key = /path/to/server-key.pem
#peering = true

##следующим образом
cert = /home/satoshi/fulcrum/cert.pem
key = /home/satoshi/fulcrum/key.pem
peering = false
###раскомментируйте и отредактируйте строку
#fast-sync = 0

##следующим образом
fast-sync = 2000

Сохраните файл и выйдите из редактора.

Файл системной службы #

Создайте файл системной службы для автоматического запуска Fulcrum при загрузке системы.

sudo nano /etc/systemd/system/fulcrum.service

Вставьте следующие строки, затем сохраните файл и выйдите из редактора.

[Unit]
Description=Fulcrum
After=network.target
StartLimitBurst=2
StartLimitIntervalSec=20

[Service]
Type=exec
ExecStart=/home/satoshi/fulcrum/Fulcrum /home/satoshi/fulcrum/fulcrum.conf
User=satoshi
TimeoutStopSec=300
KillSignal=SIGINT
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Включите системную службу.

sudo systemctl enable fulcrum.service

Запустите Fulcrum.

sudo systemctl start fulcrum.service

Прежде чем продолжить, дождитесь завершения синхронизации Fulcrum. Во время этого процесса питание устройства не должно прерываться, иначе база данных Fulcrum может быть повреждена.

Следите за ходом синхронизации Fulcrum с помощью следующей команды из домашней директории. Синхронизация будет завершена, когда в журналах начнут отображаться последние данные из мемпула.

journalctl -fu fulcrum.service

Подключение локального кошелька к Fulcrum осуществляется путем добавления локального IP и SSL-порта в поле адреса в настройках вашего кошелька, например:

ssl://192.168.1.100:50002

Соединение через Tor #

Чтобы настроить Fulcrum для работы с Tor, в файл “torcc” необходимо добавить дополнительные строки.

sudo nano /etc/tor/torrc

Вставьте в начало файла следующие строки.

# Hidden Service Fulcrum
HiddenServiceDir /var/lib/tor/hidden_service_fulcrum/
HiddenServiceVersion 3
HiddenServicePort 50002 127.0.0.1:50002

Сохраните файл и выйдите из редактора, а затем перезагрузите Tor.

sudo systemctl reload tor

Tor-адрес Fulcrum можно запросить с помощью следующей команды.

sudo cat /var/lib/tor/hidden_service_fulcrum/hostname

Удаленные соединения кошелька с сервером Fulcrum могут быть выполнены с использованием onion-адреса и номера порта сервера, как показано в примере ниже.

https://78aqvahpe6pjachf6nxroyr76gecku6nqoyngkj49r63n3twm6jpisyd.onion:50002

Поддержите переводчика #

Поддержать переводчика можно, отправив немного сат в сети Лайтнинг:

lnurl1dp68gurn8ghj7ampd3kx2ar0veekzar0wd5xjtnrdakj7tnhv4kxctttdehhwm30d3h82unvwqhk7mnv093kcmm4v3unxwg6jxyqf


Connect to our relay to leave a comment. Details.
Подключитесь к нашему релею, чтобы оставить комментарий. Подробнее.