mirror of
https://github.com/kvazar-network/crawler.git
synced 2025-09-13 23:52:03 +00:00
KVAZAR Crawler
Kevacoin blockchain crawler with full-text index storage in the shared Manticore database (based on Sphinx)
Compatible
Install
apt install git composer manticore php-fpm php-curl php-mbstring php-pdo php-bcmath
git clone https://github.com/kvazar-network/crawler.git
cd crawler
composer update
Setup
cp example/config.json config.json
Manticore
To prevent data lose on server failures, change default binlog flush strategy to binlog_flush = 1
Kevacoin
Remote or local kevacoind
connection required as the data source for this crawler.
Create new system user: useradd -m kevacoin
then copy kevacoind
compiled into the profile root;
make sure kevacoind
binary has executable permissions: chmod +x kevacoind
To accept RPC connections from crawler, create kevacoin.conf
:
#/home/kevacoin/.kevacoin/kevacoin.conf
rpcuser=USERNAME
rpcpassword=PASSWORD
- make sure
config.json
correspondsrpcuser
andrpcpassword
values!
System
manticore.service
This unit auto-created on install Manticore from the official repository
kevacoin.service
#/etc/systemd/system/kevacoin.service
[Unit]
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=kevacoin
Group=kevacoin
ExecStart=/home/kevacoin/kevacoind -server
[Install]
WantedBy=multi-user.target
crawler.service
#/etc/systemd/system/crawler.service
[Unit]
After=network-online.target manticore.service kevacoin.service
Wants=network-online.target manticore.service kevacoin.service
[Service]
Type=simple
User=kevacoin
Group=kevacoin
ExecStart=/usr/bin/php /home/kevacoin/crawler/src/index.php > /dev/null 2>&1
StandardOutput=null
StandardError=null
[Install]
WantedBy=multi-user.target
Apply changes
systemctl daemon-reload
systemctl enable kevacoin manticore crawler
systemctl start kevacoin manticore crawler
systemctl status kevacoin manticore crawler
CLI
Usually, crawler works on background as the systemd process. If you want to operate tools manually, use following CLI:
php src/index.php 60
- crawl, check for new blocks everyn
seconds (60
by default)php src/index.php drop
- truncate indexphp src/index.php optimize
- optimize index
Description
Languages
PHP
100%