Перед выполнением дальнейших шагов убедитесь, что:
- Завершены все действия из части 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