Tuto création de monnaie

Hello,

Comme la doc n’est vraiment pas très fournie et que j’ai de gros soucis lors de la création d’une monnaie de test je voulais savoir si la procédure que je suivais était bonne :

duniter init
duniter wizard (nb de certification à 1)
duniter start

j’inscris 2 membres et je les certifies mutuellement

duniter gen-root
duniter gen-next --check --show

En théorie, si j’ai bien tout compris, je ne dois pas être très loin … seulement quand je lance le gen-root j’ai une erreur :

2016-06-07T22:45:04+02:00 - debug: Block to be sent: #0 (2 newcomers, 2 certifications)
2016-06-07T22:45:04+02:00 - info: Generating proof-of-work with NaN leading zeros followed by [0-undefined]… (CPU usage set to 60%)
2016-06-07T22:45:14+02:00 - info: Mesured max speed is ~110 tests/s. Proof will try with ~66 tests/s.
TypeError: Cannot read property ‘match’ of undefined
at async.waterfall.process.send.found (/opt/duniter/sources/app/lib/proof.js:84:39)
at fn (/opt/duniter/sources/node_modules/async/lib/async.js:746:34)
at /opt/duniter/sources/node_modules/async/lib/async.js:1213:16
at /opt/duniter/sources/node_modules/async/lib/async.js:166:37
at /opt/duniter/sources/node_modules/async/lib/async.js:706:43
at /opt/duniter/sources/node_modules/async/lib/async.js:167:37
at Object.async.waterfall (/opt/duniter/sources/node_modules/async/lib/async.js:710:44)
at /opt/duniter/sources/app/lib/proof.js:64:17
at Object.async.whilst (/opt/duniter/sources/node_modules/async/lib/async.js:792:13)
at async.waterfall.block.signature (/opt/duniter/sources/app/lib/proof.js:61:13)
2016-06-07T22:45:14+02:00 - error: TypeError: Cannot read property ‘nonce’ of undefined
at ChildProcess. (/opt/duniter/sources/app/lib/blockProver.js:143:47)
at emitTwo (events.js:100:13)
at ChildProcess.emit (events.js:185:7)
at handleMessage (internal/child_process.js:718:10)
at Pipe.channel.onread (internal/child_process.js:444:11)

Le “NaN” me laisse assez perplexe …

La solution que j’ai trouvé pour réussir à lancer la monnaie est de passer par la GUI Web et de faire le paramétrage ainsi, à la fin je fais le TRY, j’accepte le bloc et ça passe … mais j’aimerais pouvoir le faire en CLI, ça serait plus pratique.

Je me trompe quelque part ou j’ai trouvé un bug ? :slight_smile:

Merci d’avance !

Il me semble. N’hésite pas à ouvrir un ticket à ce sujet.

C’est fait :

https://github.com/duniter/duniter/issues/475

Merci !

Si tu fais duniter --help tu verras la signature de la commande gen-root :

gen-root [host] [port] [diff] Tries to generate root block, with choice of root members

Donc là il te manque les 3 paramètres attendus, à savoir :

  • host : le nom d’hôte où envoyer le bloc généré
  • port : le port de l’hôte où envoyer le bloc généré
  • diff : la difficulté commune initiale, ce peut être 0 ou n’importe quel entier positif

A minima il faut ce 3ème paramètre pour que la commande réussisse à réaliser la preuve de travail.

1 « J'aime »

Ok, ça marche mieux en effet ! :slight_smile:

J’ai réussi à générer le bloc 0 avec gen-root et le bloc 1 avec gen-next.

Maintenant j’attends que ça continue tout seul donc ?

A+

Oui, ça tourne tout seul si tu utilises la commande start.

Ouais ça tourne là … par contre ça me semble assez lent par rapport au lancement via la GUI web, j’ai généré que 5 blocs là alors que d’habitude les 400 ou 500 premiers blocs se généraient en quelques minutes.

Je peux faire :

duniter config --dt 30

Pour accélérer la génération des blocs ? Je suis à 300 là …

Ou je risque de tout casser ?

Faut restart ensuite j’imagine après le changement de config ?

C’est le paramètre powDelay qu’il faut changer, par exemple en le mettant à 0 tu n’auras plus d’attente entre le calcul de 2 blocs consécutifs.

Et oui il faut redémarrer ensuite, ça devrait fonctionner.