Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
+++
aliases = [ "commandes",]
date = 2017-04-08
weight = 9
title = "Commandes Duniter"
[taxonomies]
authors = [ "cgeek",]
+++
# Commandes Duniter
Voici un guide des différentes commandes de l'exécutable `duniter` en ligne de commande.
## Initialiser son nœud
### `wizard key`
Permet de configurer le trousseau cryptographique utilisé par votre nœud. C'est à travers ce trousseau que votre nœud peut être identifié et ses réponses authentifiées, vérifiées.
Ce trousseau est composé d'une clé privée et d'une clé publique Ed25519.
```bash
duniter wizard key
? Modify you keypair? Yes
? Key's salt *****************
? Key's password ********************
```
### `wizard network`
Permet de configurer la connectivité réseau de votre nœud : à la fois celle locale (interface réseau et port de la machine sur lequels se connecter) et distance (déclaration de votre nœud sur *comment* le contacter depuis l'Internet).
```bash
duniter wizard network
```
<samp>? IPv4 interface: eth0 192.168.1.667
? IPv6 interface: eth0 2a01:e35:8ae7:8bb0:3de1:ee66:a6ba:a438 (Global)
? Port: 10900
? Remote IPv4: 88.174.120.187
? Remote port: 10900
? UPnP is available: use automatic port mapping? (easier) Yes
? Does this server has a DNS name? Yes
? DNS name: cgeek.fr</samp>
Bien évidemment, il faut mettre ici vos propres valeurs, et donc ne pas mettre "192.168.1.667", ni "2a01:e35:8ae7:8bb0:3de1:ee66:a6ba:a438" ou encore "cgeek.fr".
### `sync`
Pour un nœud tout neuf ou dont les données ont été effacées (par exemple suite à l'utilisation de `reset data`), il convient d'initialiser son nœud en synchronisant une blockchain existante. Cette opération téléchargera la blockchain puis en extraira toutes les données de la monnaie : toile de confiance, unités de monnaie existantes, transactions.
Synchroniser son nœud avec le réseau Ğ1 (monnaie Duniter) :
```bash
duniter sync g1.duniter.org
Progress:
Milestones: [||||||||||||||||||||] 100 %
Download: [||||||||||||||||||||] 100 %
Apply: [||||||||||||||||||||] 100 %
Sandbox: [ ] 0 %
Peers: [||||||||||||||||||||] 100 %
```
Cette commande prend du temps. Soyez patients. Mais à partir de la version 1.7 cela prend généralement 10/15min suivant la puissance de votre machine.
#### Option `--slow`
> A partir de la version 1.3.0.
Télécharge lentement la blockchain pour les connexion à faible débit (< 150 ko/s). Permet d'éviter des goulots d'étranglement.
```bash
duniter sync g1.duniter.org 443 --slow
```
#### Option `--nointeractive`
Désactive l'affichage avec barres de progression au profit d'une sortie classique de commande.
```bash
duniter sync g1.duniter.org 443
```
<samp>2017-04-10T08:31:42+02:00 - info: Try with g1.duniter.org:10901 4aCqwi
2017-04-10T08:31:42+02:00 - info: Sync started.
2017-04-10T08:31:42+02:00 - info: Getting remote blockchain info...
2017-04-10T08:31:42+02:00 - info: Connecting to g1.duniter.org...
2017-04-10T08:31:42+02:00 - info: Peers...</samp>
#### Option `--nopeers`
Désactive le téléchargement P2P ainsi que le téléchargement du listing des nœud du réseau.
```bash
duniter sync g1.duniter.org 443
2017-04-10T08:32:26+02:00 - info: Try with g1.duniter.org:10901 4aCqwi
2017-04-10T08:32:26+02:00 - info: Sync started.
2017-04-10T08:32:26+02:00 - info: Getting remote blockchain info...
2017-04-10T08:32:26+02:00 - info: Connecting to g1.duniter.org...
2017-04-10T08:32:26+02:00 - info: Downloading Blockchain...
2017-04-10T08:32:26+02:00 - debug: dl starts from 0
2017-04-10T08:32:26+02:00 - info: Getting chunck #36/36 from 9000 to 9023 on peer g1.duniter.org:10901
2017-04-10T08:32:26+02:00 - info: GOT chunck #36/36 from 9000 to 9023 on peer g1.duniter.org:10901
```
#### Option `--cautious`
Force la vérification minutieuse de la validité de chaque bloc par rapport au règles du protocole.
```bash
duniter sync g1.duniter.org 443 --cautious
```
#### Option `--memory`
Réaliser la synchronisation en mémoire uniquement. La synchronisation ne sera donc pas stockée sur le disque dur. Cette option est utile pour une vérification rapide de l'intégrité de la blockchain quand combinée à l'option `--cautious`.
```bash
duniter sync g1.duniter.org 443 --cautious --memory
```
## Démarrer/Arrêter son nœud
Un nœud Duniter tourne généralement en tâche de fond. Duniter fourni plusieurs commandes afin d'être démarré/arrêté dans différends modes de fonctionnement.
### `start`
Démarre le nœud Duniter *sans interface graphique*, en tâche de fond. Le seul moyen de communiquer avec le nœud en tant qu'administrateur est de consulter ses logs avec `duniter logs`.
```bash
duniter start
Starting duniter_default daemon...
duniter_default daemon started. PID: 1328
```
### `stop`
Stoppe un nœud Duniter qui tournerait en tâche de fond. Si aucun nœud ne tourne, la commande ne fait rien.
```bash
duniter stop
Stopping duniter_default daemon...
duniter_default daemon stopped.
```
### `status`
Dit si le nœud est actuellement lancé en tâche de fond ou non.
```bash
duniter status
Duniter is running using PID 1832.
```
### `restart`
Raccourci pour `stop` suivi d'un `start`. Si aucun nœud n'était lancé, la commande équivaut alors à un simple `start`.
```bash
duniter restart
duniter_default daemon is not running
Starting duniter_default daemon...
duniter_default daemon started. PID: 1913
```
### `webstart`
Démarre le nœud Duniter *avec interface graphique*, en tâche de fond.
Le nœud est alors accessible graphiquement à l'adresse [localhost:9220](http://localhost:9220).
```bash
duniter webstart
Starting duniter_default daemon...
duniter_default daemon started. PID: 2878
```
#### Option `--webmhost`
Il est possible de remplacer l'interface `localhost` par l'interface de votre choix.
```bash
duniter webstart --webmhost 192.168.1.35
```
Le nœud est alors accessible graphiquement à l'adresse http://192.168.1.35:9220.
#### Option `--webmport`
Il est possible de remplacer le port `9220` par le port de votre choix.
```bash
duniter webstart --webmport 9330
```
Le nœud est alors accessible graphiquement à l'adresse http://localhost:9330.
### `webrestart`
Raccourci pour `stop` suivi d'un `webstart`. Si aucun nœud n'était lancé, la commande équivaut alors à un simple `webstart`.
Le nœud est alors accessible graphiquement à l'adresse [localhost:9220](http://localhost:9220).
```bash
duniter webrestart
Stopping duniter_default daemon...
duniter_default daemon stopped.
Starting duniter_default daemon...
duniter_default daemon started. PID: 2938
```
## Administration
### `direct_start`
Démarre le nœud *en direct*, sans exécution en tâche de fond. Les logs de l'application apparaitront en direct dans la console.
Pour arrêter le nœud, réaliser la combinaison de touches `Ctrl^C`.
```bash
duniter direct_start
2017-04-10T11:12:28+02:00 - info: >> Server starting...
2017-04-10T11:12:28+02:00 - info: Node version: 1.2.1
2017-04-10T11:12:28+02:00 - info: Node pubkey: 2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ
```
#### Option `--keyprompt`
Demande des identifiants secrets au démarrage de l'application qui généreront le trousseau cryptographique en mémoire. Ce trousseau sera ensuite utilisé pendant toute la durée d'exécution de l'application et disparaîtront à son arrêt.
Option utile pour ne pas stocker son trousseau dans un fichier.
```bash
duniter direct_start --keyprompt
```
### `direct_webstart`
Identique à `direct_start`, mais démarre avec l'interface graphique chargée.
```bash
duniter direct_webstart
```
### `reset data`
Supprime toutes les *données* du nœud : blockchain, identités, transactions, etc. Ne supprime pas la configuration.
```bash
duniter reset data
```
### `reset all`
Supprime toutes les données et toute la configuration du nœud. Équivalent à avoir une nouvelle installation.
```bash
duniter reset all
```
### `logs`
Affiche les dernières lignes de journaux de Duniter et affiche les nouvelles lignes en continu.
```bash
duniter logs
```
### `config`
Permet de modifier une ou plusieurs valeurs de configuration par options.
```bash
duniter config --option1 <valeur1> --option2 --option3 <valeur3>
```
Nécessite un redémarrage du nœud pour que la nouvelle configuration soit prise en compte.
#### Option `--upnp`
Active l'UPnP.
```bash
duniter config --upnp
```
#### Option `--noupnp`
Désactive l'UPnP.
```bash
duniter config --noupnp
```
#### Option `--cpu <pourcentage>`
Définit le pourcentage de CPU disponible.
```bash
duniter config --cpu 0.5
```
Configure l'utilisation CPU à 50%.
#### Option `--ipv4 <adresse>`
Configure l'interface réseau IPv4 de la machine sur laquelle dialoguer.
```bash
duniter config --ipv4 192.168.1.22
```
Configure l'écoute sur l'interface réseau `192.168.1.22`.
#### Option `--ipv6 <adresse>`
Configure l'interface réseau IPv6 de la machine sur laquelle dialoguer.
```bash
duniter config --ipv6 "2a01:e35:8ae7:8bb0:2e0:4cff:feca:36"
```
Configure l'écoute sur l'interface réseau `2a01:e35:8ae7:8bb0:2e0:4cff:feca:36`.
#### Option `--port <numero>`
Configure le port de la machine sur lequel dialoguer pour chaque interface (IPv4, IPv6).
```bash
duniter config --port 10901
```
Configure l'écoute sur le port machine `10901`.
#### Option `--remote4 <adresse>`
Configure l'adresse IPv4 distante de la machine.
```bash
duniter config --ipv4 88.174.120.187
```
Configure le nœud pour qu'il se déclare disponible à l'adresse `88.174.120.187`.
#### Option `--remote6 <adresse>`
Configure l'adresse IPv6 distante de la machine.
```bash
duniter config --ipv6 2a01:e35:8ae7:8bb0:2e0:4cff:feca:36
```
Configure le nœud pour qu'il se déclare disponible à l'adresse `2a01:e35:8ae7:8bb0:2e0:4cff:feca:36`.
#### Option `--remotep <adresse>`
Configure le port distant de la machine.
```bash
duniter config --remotep 10901
```
Configure le nœud pour qu'il se déclare disponible sur le port `10901`.
#### Option `--addep <specification>`
Déclare une nouvelle interface de contact réseau inconnue de Duniter.
```bash
duniter config --addep "ES_CORE_API g1.data.duniter.fr"
```
**Attention :** cette commande doit être exécutée sur un seul nœud : toutes les interfaces inconnues doivent être déclarées sur celui-ci, au risque de tomber dans une boucle infinie de création/suppression d'interfaces.
#### Option `--remep <specification>`
Supprime une interface de contact réseau inconnue de Duniter qui a été préalablement ajoutée.
```bash
duniter config --remep "ES_CORE_API g1.data.duniter.fr"
```
**Attention :** cette commande doit être exécutée sur un seul nœud : toutes les interfaces inconnues doivent être déclarées sur celui-ci, au risque de tomber dans une boucle infinie de création/suppression d'interfaces.
#### Option `--autoconf`
Regénère la configuration réseau de façon automatique et génère une paire de clé aléatoirement si celle-ci n'existe pas.
```bash
duniter config --autoconf
```
## Générer un bloc manuellement
### `gen-next`
Génère le prochain bloc à partir des données en piscine et du bloc courant, réalise la preuve de travail pour la difficulté demandée puis soumet le bloc résultant à un nœud.
```bash
duniter gen-next --submit-host g1.duniter.org --submit-port 10901 74
```
Cette commande génère le prochain bloc, l'envoie au nœud `g1.duniter.org:10901` sur le port `10901` et calcule la preuve de travail avec une difficulté de `74` (empreinte débutant par 4 zéros).
#### Option `--show`
Affiche le bloc calculé *avant* la réalisation de la preuve de travail et la soumission au réseau. Permet de contrôler son contenu.
```bash
duniter gen-next --submit-host g1.duniter.org --submit-port 10901 74 --show
```
#### Option `--check`
Modifie le comportement de la commande : celle-ci ne réalise plus de preuve de travail ni ne soumet le bloc au réseau. A la place, elle génère le bloc et vérifie si celui-ci est acceptable par un nœud.
```bash
duniter gen-next --show --check
```
### `gen-root`
Génère le block#0 de façon automatique, en incluant un maximum de membres.
```bash
gen-root duniter.org 10901 74
```
### `gen-root-choose`
Génère le block#0 en sélectionnant manuellement les membres à inclure
```bash
gen-root duniter.org 10901 74
? Newcomers to add:
◯ john
◯ dude404
◉ sinogeek
❯◉ deviantime
◯ kernel
◯ vivide
```
## Options transversales
Ces options, si utilisées, doivent être *systématiquement* fournies lors de futures commandes pour conserver leur application.
Car ces options permettent de redéfinir temporairement (le temps d'une commande) une variable globale de l'application.
#### Option `--home`
Permet de redéfinir le dossier où sont stockées les données de l'application. La valeur par défaut de cette option est `$HOME/.config/duniter/`
```bash
duniter sync g1.duniter.org 10901 --home /tmp/duniter
```
Cette commande réalisera une synchronisation et stockera le résultat dans le dossier `/tmp/duniter/duniter_default`.
#### Option `--mdb`
Permet de redéfinir le dossier où sont stockées les données de l'application. La valeur par défaut de cette option est `duniter_default`.
```bash
duniter sync g1.duniter.org 10901 --mdb g-one
```
Cette commande réalisera une synchronisation et stockera le résultat dans le dossier `$HOME/.config/duniter/g-one`.
Il est possible de combiner les 2 options :
```bash
duniter sync g1.duniter.org 10901 --home /tmp/duniter --mdb g-one
```
Cette commande réalisera une synchronisation et stockera le résultat dans le dossier `/tmp/duniter/g-one`.
#### Option `--keyfile`
Permet de fournir le trousseau cryptographique via un ficher YAML.
```bash
duniter start --keyfile /tmp/key.yml
```
Avec un fichier `key.yml` au format suivant:
```yaml
pub: "EfJ5xHtwjxvF3Bq4GMeuKkKe5nmodQcqkvgVPZZT6gCF"
sec: "2vyztEUMgSgcidmLPprbR5pPUUFbGnTG99mdEMPiiRD6wVAm76AvjDDp5PypzMsTvLKX8UrJ5sQbCUCmxTWRtr9d"
```
#### Options `--salt`, `--passwd`
Ces options permettent d'utiliser le trousseau cryptographique résultant de la valeur de ces deux options combinées.
```bash
duniter start --salt abc --passwd def
```
#### Options `--keyN`, `--keyr`, `--keyp`
L'utilisation de `--salt` et `--passwd` présupposent d'autres paramètres cryptographiques nommés « N,r,p ». Leur valeur par défaut dans Duniter est « 4096,16,1 ».
Les options `--keyN`, `--keyr`, `--keyp` permettent de redéfinir précisément ces valeurs.
```bash
duniter --salt abc --passwd def --keyN 4096 --keyr 16 --keyp 1
```