g1-stats/README.md

69 lines
2.3 KiB
Markdown
Raw Permalink Normal View History

# Indexation de la blockchain Duniter/Ḡ1
2020-09-25 02:44:42 +02:00
## Sous forme d'un fichier JSON journalisé et d'outils d'exploitation de ce JSON
2019-11-19 16:03:22 +01:00
### Visible sur: [https://g1-stats.axiom-team.fr/](https://g1-stats.axiom-team.fr/)
2020-10-03 05:27:46 +02:00
Utilise l'[API BMA](https://github.com/duniter/duniter-bma/blob/master/doc/API.md) pour l'extraction et l'indexation des données de la [blockchain Duniter/Ḡ1](https://duniter.org).<br>
2019-11-19 16:03:22 +01:00
A exécuter dans un environnement Bash Debian/Ubuntu.
*Si vous souhaitez modifier les paramètres par defaut, copiez le fichier .env.example en .env et adaptez les variables selon votre usage.*
2019-11-19 16:03:22 +01:00
## Exécution
Lancer le scan ainsi que tout le processus d'indexation depuis le début de la blockchain jusqu'à aujourd'hui
2020-09-25 02:45:45 +02:00
```
./g1-stats.sh
```
2020-10-03 05:27:46 +02:00
*A la première execution, ce scan peut durer plusieurs heures!*<br>
Pour pourrez suivre la progression du scan en temps réel.<br>
Pour les exécutions ultérieures, un cache est géneré permettant de reprendre le scan là où il s'est arrêté, diminuant drastiquement le temps d'execution.
2019-11-19 16:03:22 +01:00
Le fichier JSON est alors généré: `db/daily.json`
2019-11-19 16:03:22 +01:00
Pour générer la page web static:
2020-09-25 02:45:45 +02:00
```
./g1-stats.sh web
```
2019-11-19 16:03:22 +01:00
## Exploration
2020-10-03 05:27:46 +02:00
Une fois le fichier JSON correctement généré, vous pouvez utiliser `explorer.sh` pour l'exploiter.<br>
Pour obtenir l'aide:
2020-09-25 02:45:45 +02:00
```
2020-10-03 05:27:46 +02:00
./explorer.sh -h
2020-09-25 02:45:45 +02:00
```
2020-10-03 05:27:46 +02:00
**Ce script explorer.sh fonctionne de manière standalone, c'est à dire que vous pouvez l'utiliser en dehors de l'environnement Ḡ1Stats sans aucune dépendance:**
2020-10-03 05:27:46 +02:00
```
wget https://git.p2p.legal/axiom-team/g1-stats/raw/master/explorer.sh
chmod u+x explorer.sh
```
## Sauvegarde/Restauration
Un script de sauvegarde se trouve dans le dossier `scripts`:
2020-09-25 02:45:45 +02:00
```
./scripts/backup-cache.sh
```
Permettant le faire une copie de votre fichier json actuel ainsi que du cache qui lui correspond
Pour restaurer le backup le plus récent:
2020-09-25 02:45:45 +02:00
```
./scripts/restore-cache.sh
```
Pour restaurer un backup à partir d'un bloc précis, par exemple le bloc 4242 (le numéro du bloc se trouve dans le nom du backup du cache):
2020-09-25 02:45:45 +02:00
```
./scripts/restore-cache.sh 4242
```
2019-11-19 16:03:22 +01:00
## Automatisation
2020-10-03 05:27:46 +02:00
Vous pouvez décider d'exécuter ce script régulièrement grâce à une tache cron.<br>
2019-11-19 16:03:22 +01:00
Par exemple pour l'exécuter toutes les 3 heures:
```
TERM=xterm # Nécessaire pour la gestion tput des sorties log
0 */3 * * * /path/to/script/g1-stats.sh web >> /var/log/g1-stats.log 2>&1
```
2021-04-29 18:18:44 +02:00