69 lines
2.3 KiB
Markdown
69 lines
2.3 KiB
Markdown
# Indexation de la blockchain Duniter/Ḡ1
|
|
## Sous forme d'un fichier JSON journalisé et d'outils d'exploitation de ce JSON
|
|
### Visible sur: [https://g1-stats.axiom-team.fr/](https://g1-stats.axiom-team.fr/)
|
|
|
|
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>
|
|
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.*
|
|
|
|
## Exécution
|
|
|
|
Lancer le scan ainsi que tout le processus d'indexation depuis le début de la blockchain jusqu'à aujourd'hui
|
|
```
|
|
./g1-stats.sh
|
|
```
|
|
*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.
|
|
|
|
Le fichier JSON est alors généré: `db/daily.json`
|
|
|
|
Pour générer la page web static:
|
|
```
|
|
./g1-stats.sh web
|
|
```
|
|
|
|
|
|
## Exploration
|
|
|
|
Une fois le fichier JSON correctement généré, vous pouvez utiliser `explorer.sh` pour l'exploiter.<br>
|
|
Pour obtenir l'aide:
|
|
```
|
|
./explorer.sh -h
|
|
```
|
|
**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:**
|
|
|
|
```
|
|
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`:
|
|
```
|
|
./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:
|
|
```
|
|
./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):
|
|
```
|
|
./scripts/restore-cache.sh 4242
|
|
```
|
|
|
|
## Automatisation
|
|
|
|
Vous pouvez décider d'exécuter ce script régulièrement grâce à une tache cron.<br>
|
|
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
|
|
```
|
|
|