Je viens de coder dans dex une fonctionnalité d’export de l’intégralité de la blockchain au format JSON
Cette fonctionnalité va permettre à tout programme tiers de récupérer le contenu de la blockchain et de construire les données qu’il souhaite à partir de celle-ci.
Voici la commande :
dex export-bc path/to/out/dir
Pour installer dex (vous devez avoir la toolchain rust stable) :
git clone https://git.duniter.org/nodes/typescript/duniter
cargo bdex
Options de dex export-bc
Par défaut le JSON écrit est sans «whitespace», c’est à dire sans saut de ligne, sans tabulations et sans espaces. Cela permet d’avoir des fichiers plus compacts, mais difficilement lisibles par un humain.
Pour générer un JSON «aérér», utilisez l’option --pretty
Il est également possible de choisir la taille des chunk avec l’option --chunk-size
(1000 par défaut).
Ce post n’est pas exhaustif et pas forcément à jour, pour connaître toutes les options actuelles, consultez l’aide via la commande dex export-bc --help
Mais il y a déjà des archives de la blockchain au format JSON dans le dossier g1
?
Oui, sauf que Duniter n’en a pas besoin, et que donc les prochaines versions de Duniter ne généreront plus ces archives. Si vous en dépendez, merci de passer par dex export-bc
désormais.
De plus, ces archives ne contiennent pas les blocs reçus après la sync
Le format de sortie de dex export-bc
va t’il changer dans le futur ?
Oui légèrement, les champs suivant n’existeront plus :
fork
UDTime
writtenOn
written_on
wrong
De plus, les champs suivant vaudront null
au lieu de ""
:
parameters