Discussions autour du sujet "vocabulaire de base pour comprendre Duniter-v2s"

Merci @elois pour ta réponse, c’est donc ce que j’avais compris.
Je serai vraiment intéressé par contribuer à Duniter v2, déjà parce que ça me permettrai d’apprendre Rust et aussi parce que ça à l’air d’être techniquement assez poussé.
Le truc c’est que je me rends bien compte de l’investissement nécessaire pour contribuer à un tel projet et pour l’instant c’est juste pas possible pour moi.
Je vais néanmoins essayer de suivre l’évolution du projet tout en me documentant comme je peux sur Substrate et la surcouche Duniter et si jamais un jour je me sens en capacité de m’investir plus, je sais où aller :).
D’ici là, bonne continuation sur ce magnifique projet !

1 Like

Bonsoir @AndreasL,

Il est vrai que contribuer significativement au code demande beaucoup d’investissement, mais il y a d’autres manières d’aider le projet duniter-v2s qui demandent moins d’investissement.

Par exemple, le simple fait de comprendre certaines notions plus facilement de par ton background peut te permettre de les expliquer aux autres avec tes mots, et ça c’est quelque chose sur lequel j’ai vraiment besoin d’aide pour 2 raisons:

  1. J’ai ma manière d’expliquer, et je constate avec les temps que j’ai des difficultés à me faire comprendre par certains. On à tous un cerveau différent, et certains ont besoin que les choses soient expliquées d’une manière différente, ce que je suis incapable de faire. J’ai donc vraiment besoin que d’autres personnes qui ont compris les concepts de duniter v2 puissent les expliquer à leur tour à leur manière :slight_smile:

  2. Prendre le temps d’expliquer est très chronophage, surtout à l’écrit, et encore plus pour moi car je suis plus lent que la moyenne pour écrire. Du coup parfois (voir souvent), je n’ai pas la possibilité de prendre le temps qu’il faudrait pour répondre aux questions. Quand vous voyer une question technique sur duniter-v2s, si vous avez des éléments de réponse, même partiels, mais que vous êtes confiant sur la conformité des éléments que vous avez, svp répondez, vous me ferez gagner du temps, ce qui me permet d’employer ce temps à avancer sur duniter-v2s.

3 Likes

Bonjour @elois

Ca c’est quelque chose que je peux faire :).
Après, j’ai pas encore une grande compréhension de duniter-v2s mais avec le temps ça va venir (comme avec les concepts de la TRM) et donc au début, je vais sans doute répondre juste aux questions générales et plus ça va plus je pourrai être précis.
Tu penses que le besoin est plus sur ce forum ou sur le forum monnaie-libre ?

En tout cas si je peux aider en ce sens c’est cool et t’as raison, on a tous des manières de penser différentes et avoir plusieurs personnes qui expliquent ça aide vachement :+1: .

3 Likes

Sur les deux :slight_smile:

Ok cool, je vais tâcher de suivre de plus près le lancement de GDev et pourquoi pas proposer un noeud, mais j’ai pas de machine qui tourne h24 pour l’instant.

Dans le sujet Vocabulaire de base pour comprendre Duniter-v2s (lecture fortement recommandée pour tous), tu introduis deux “type de cryptographie”.

Quelle est la différence entre ed25519 et sr25519, dans quel cas souhaite-on utiliser l’un plutôt que l’autre ?

sr25519 est une amélioration plus récente, plus rapide a vérifiée et permettant la vérification des signatures par batch. On préférera utiliser sr25519 dès que c’est possible, ed25519 n’est supporté que pour des raisons de compatibilité :slight_smile:

1 Like

Ok. Étrange que ssh-keygen ne le propose pas. C’est très récent ?

C’est très récent ?

Vu l’inertie forte dans ce domaine, oui. La plupart des hardware wallet ne gèrent pas sr25519 (bon certains ne gèrent même pas ed25519), et polkadot est la 1ère crypto-monnaie “connue” à utiliser ce scheme (et encore l’une des seules aujourd’hui).

1 Like

Peut-être ajouter une entrée « API WebSocket » ?

Très intéressant en tout cas ce référentiel de vocabulaire, excellente idée.

3 Likes

C’est l’API RPC, elle est dispo en HTTP ou en Websocket mais c’est la même API :slight_smile:

2 Likes

Je n’ai pas vu la définition de hook ni de consumer.

2 Likes

Merci @Maaltir, je viens d’ajouter Hook et Consumers, ainsi que Providers car lié à Consumers :slight_smile:

Sauf erreur « Pallet » n’est jamais défini. :slight_smile: Sinon ça va, ça me semble assez clair. :+1:

1 Like

Je viens d’ajouter “Pallet”, ainsi que “Dispatch class” :slight_smile:

2 Likes

Tu avais à un moment parlé de la différence entre session et epoch, mais je ne me souviens plus. Epoch n’apparaît pas dans la liste.

Je viens de rajouter « Epoch », et de modifier « Session » pour expliquer le lien.

1 Like

Si tu veux bien : pourrais-tu rajouter une phrase sur ce qu’il se passe si jamais aucun bloc primaire ni secondaire n’est émis ? J’avais posé la question sur le GitHub Substrate, j’ai eu la réponse qu’un bloc pouvait être sauté mais sans comprendre comment la blockchain acceptait une absence de bloc.

Il ne se passe juste rien, c’est d’ailleurs ce qui est arrivé plusieurs milliers de fois pendant les quelques heures où ton nœud était down. C’est lié à la notion de “Slot”, que je viens d’ajouter :slight_smile:

2 Likes

Peut-être qu’il faudrait préciser le vocabulaire « adresse » « pubkey ».

De mémoire, une adresse, c’est 2 octets de préfixe, 32 octets de clé publique, et 4 octets de checksum concaténés dans cet ordre. L’adresse au format ss58 est l’encodage en base58 de ces 38 octets.

J’ai l’impression qu’il y a régulièrement des confusions à ce propos et je ne retrouve pas le schéma qu’on avait fait sur un paperboard aux RML16.

[edit]

Je vois

julia> base58decode(b"5GAT6CJW8yVKwUuQc7sM5Kk9GZVTpbZYk9PfjNXtvnNgAJZ1")
35-element Vector{UInt8}:
 0x2a
 0xb5
 0x52
 0xb2
    ⋮
 0xc4
 0xef
 0x7e
 0x5c

soit 35 octets, pas 38. Où est-ce que je me trompe ?

[edit]

ok, donc je résume pour ss58 :

  • préfixe 1 à 2 octets en fonction de la valeur
  • clé publique 32 octets
  • checksum 2 octets

Soit 35 ou 36 octets au total.