Nouveau tutoriel de développement


#1

Petite publicité pour le Nouveau tutoriel de développement Duniter que je suis en train de terminer.

Il s’agit d’un tutoriel d’introduction tout neuf et qui repose cette fois sur des logiciels libres (contrairement à l’ancien tutoriel qui comportait un logiciel privateur et freinait fatalement la contribution).

Également, le tutoriel comportement plusieurs graphiques qui aideront certainement à y voir plus clair dans l’architecture.

Les chapitres :

Je réaliserai les chapitres 7 et 8 plus tard, car je suis assez las d’écrire tout cela et je manque de temps. Mais ça va venir au fur et à mesure :slight_smile:

Voilà, n’hésitez pas à me faire quelques retours, et si vous en avez la possibilité, contribuez directement en modifiant ce tutoriel ! (il y a un bouton dans la barre latérale droite « Modifier la page »)

Happy coding!


Nouveau rôle pour cgeek
#2

5 posts were split to a new topic: Site duniter.org : logos de réseaux privateurs


#6

A post was merged into an existing topic: Site duniter.org : logos de réseaux privateurs


#7

C’est magistral ! Il y a même des diagrammes plantuml ! :star_struck:


#8

Hop, publication du Chapitre 7 : base de données. cc @gerard94 qui demande cette description depuis les RML8 :slight_smile:

À travers cette rédaction, j’ai pu m’apercevoir qu’il y avait des champs totalement obsolètes. J’ai donc ajouté un ticket#1183 pour tracer cela.


#9

Il faudra que je vérifie entièrement le code de g1-monit car il est possible que j’utilise un de ses champs obsolètes dans mon module.


#10

Enfin ! Je vais lire cette partie avec délectation. Il y aura peut-être un peu de code à modifier dans WotWizard selon ce que je vais découvrir.
Merci.

Je m’en doutais un peu.


#11

J’essaie de suivre le tutoriel de @cgeek.
Je bloque à l’étape 3, avec la commande yarn :
franck@franck-why:~/duniter$ yarn
yarn install v1.3.2
[1/5] Validating package.json…
[2/5] Resolving packages…
[3/5] Fetching packages…
[4/5] Linking dependencies…
warning “ddos > response > bl@0.7.0” has unmet peer dependency “stream-browserify@*”.
[5/5] Building fresh packages…
[1/5] ⠈ heapdump: gyp info ok
[2/5] ⠁ naclb: node-pre-gyp info ok
[3/5] ⠁ scryptb: info ok
[4/5] ⠁ sqlite3: ^
error /home/franck/duniter/node_modules/sqlite3: Command failed.
Exit code: 1
Command: node-pre-gyp install --fallback-to-build
Arguments:
Directory: /home/franck/duniter/node_modules/sqlite3
Output:
node-pre-gyp info it worked if it ends with ok
node-pre-gyp info using node-pre-gyp@0.6.34
node-pre-gyp info using node@9.1.0 | linux | x64
node-pre-gyp info check checked for “/home/franck/duniter/node_modules/sqlite3/lib/binding/node-v59-linux-x64/node_sqlite3.node” (not found)
node-pre-gyp http GET https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v59-linux-x64.tar.gz
node-pre-gyp http 403 https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v59-linux-x64.tar.gz
node-pre-gyp ERR! Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v59-linux-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for sqlite3@3.1.4 and node@9.1.0 (node-v59 ABI) (falling back to source compile with node-gyp)
node-pre-gyp http 403 status code downloading tarball https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.4/node-v59-linux-x64.tar.gz

Version de node (v9.1.0) trop récente ?


#12

Oui il faut que tu installe node 6 :

nvm install 6
nvm use 6

Et pour éviter d’avoir a faire nvm use 6 a chaque fois désinstalle 9 :

nvm uninstall 9

#13

Merci @elois, ça marche bien avec node6.
Je ne me suis pas méfié comme @cgeek indique dans son tutoriel https://duniter.org/fr/wiki/duniter/tutoriel-dev/chapitre-2-outils/

NodeJS v6 ou supérieur


#14

J’ai corrigé dans le projet afin d’avoir le message d’erreur au plus tôt :

"engines": {
  "node": ">=6 <9",
  "npm": ">=3.10"
}

Donc si l’on teste avec Node v9 :

$ yarn
yarn install v1.3.2
[1/5] Validating package.json...
error duniter@1.6.13: The engine "node" is incompatible with this module. Expected version ">=6 <9".

J’ai mis à jour le tutoriel également pour prévenir que seules les versions 6, 7 ou 8 de NodeJS sont supportées.


Implémentation de Duniter en Rust?
#15

Table idty

revoked (BOOLEAN NOT NULL)
Indique si l’identité possède déjà une révocation attachée.

revocation_sig (VARCHAR(100) NULL)
Signature de révocation. Champ à null si pas de révocation attachée.

Je trouve pourtant des champs “revocation_sig” non null (et non vide) avec “revoked” = 0.


#16

Ça semble être une erreur : j’ai fait une vérification et ce champ idty.revoked ne semble plus du tout utilisé, c’est un champ historique.

Il est encore mis à jour dans le code, mais son utilité est nulle étant donné que les champs idty.revocation_sig, m_index.revoked_on et m_index.revocation font parfaitement le travail.


#17

Pourtant, il semble toujours être à zéro (au moins pendant mes périodes d’observation), et, en tout cas, décorrélé du champ revocation_sig.


#18

Oui il semble être toujours à zéro, car il est mis à 1 pendant quelques secondes avant que la ligne entière ne soit supprimée.

De fait on ne constate que la valeur zéro, d’où la conclusion que ce champ n’est plus utilisé.


#19

Bonsoir
J’ai enfin pu installer duniter pour le dev mais je call au niveau “yarn test”
voici une capture d’ecran.

.
node v8.12.0 est installe.
Que devrais je faire.

Merci