IMPORTANT : Proposition de migrer la Ğ1 sur une blockchain substrate

J’ai renommé le dépôt duniter-v2s, et j’ai créé un tableau de bord des taches :

@Pini @tuxmain @G0blin, n’hésitez pas à ajouter des taches ou/et vous assigner une tache existante que vous voudriez faire :slight_smile:

5 Likes

Un message a été scindé en un nouveau sujet : Carte des Ğunistes

Salut, je trouve que c’est super ce que vous faites :+1:

4 Likes

Hello
Bientôt 2 mois sont écoulé depuis cette annonce.
Est-ce que cela avance ?
Merci de tenir la communauté au courant.

1 Like

La dernière action sur le dépôt remonte à un mois. Personnellement j’avais commencé à m’atteler à une tâche mais j’ai bloqué (un truc ne colle pas à la doc de Substrate dans notre dépôt donc je ne sais pas comment faire), donc j’attends qu’@elois revienne parmi nous quand il aura du temps, ce qui devrait arriver bientôt si je me souviens bien.

Donc en attendant je m’affaire à d’autres projets qui n’ont rien à voir. C’est une période calme pour Duniter, mais si tout se passe comme prévu, la vague viendra. :slight_smile: (mais il faudrait aussi que je me motive pour arriver à faire des trucs sur Duniter de mon côté aussi, c’est vrai)

7 Likes

Je salue l’initiative d’autant que j’ai un projet consistant à créer une parachain substrate qui puisse dialoguer avec cette Ĝ1 nouvelle version.
Il est possible en effet de faire dialoguer (via message XCMP) ces deux chaînes.
Avantage spécifique pour mon projet ? Implémenter un crypto-asset (que j’ai appelé Zest) backé sur la Ĝ1 dédié au monde culturel (je n’en dis pas plus pour l’instant)
Avantage général d’utiliser le framework substrate ? Bénéficier de l’eco-système polkadot (très actif !)

Oui mais voilà, pour ce faire, il faudrait faire de cette nouvelle version Ĝ1 une authentique parachain (ou une parathread) susceptible d’interagir avec une (ou même plusieurs) parachains; ce qui nécessite de changer un peu le runtime (car le consensus n’est plus tout à fait le même …).

J’ai vu dans les sources du projet que vous aviez en fait plusieurs runtime(s) [common, g1, gdev, gtest
]. Lequel lancez vous ? J’aimerais si vous le permettez m’insérez dans le projet en intervenant sur ces runtimes (quel est le plus complet à date) ou éventuellement en créant à part.
N’étant pas un pro de git, est-ce que vous pouvez m’indiquer comment faire ?

1 Like

Je devrais aussi avoir une fenêtre de tir pour participer, je termine ma mission actuelle d’ici quelques semaines si tout se passe bien.

Mais j’ai encore du chemin à parcourir en Rust et je dois m’approprier un minimum Substrate, donc je ne serai pas productif avant décembre à mon avis.

C’est curieux de ne pas maîtriser Git mais d’espérer pouvoir modifier un runtime Substrate, non ?

7 Likes

Ok je vais me débrouiller.
Merci encore !

Ne le prends pas mal, je trouve cela très surprenant c’est tout.

Et oui, je crois que ça ira plus vite si tu jettes un œil directement par toi-même. De mémoire il y a très peu de branches.

Je crois qu’il ne faut pas s’étonner mais essayer de mettre ensemble ses forces. Sinon on ne va pas percer le plafond de verre. Franchement avoir des Ĝ1 pour acheter des napperons en feutrine…
Je ne suis pas méchant, je suis déçu c’est tout.

Je préfère m’étonner que de perdre du temps, nous n’en avons que trop peu. Je ne te connais pas, tu ne serais pas le premier à avoir plein d’idées mais à nous demander de les réaliser.

Si c’est le cas très peu pour moi, sinon tu peux mettre les mains dans le cambouis et éventuellement certains ici te suivront, t’aideront.

3 Likes

Si j’ai bien compris, on travaille sur le gdev et common, les autres serviront pour le test et la prod. common est utilisé par les trois autres, ce n’est pas vraiment un runtime. (d’ailleurs ça pose des problèmes quand on veut modifier gdev, car quand on modifie common on est obligé de modifier les autres en même temps)

Pour bricoler tu peux commencer par cloner le dépôt, et pour contribuer tu peux forker, cloner ton fork et créer une PR depuis l’interface de GitLab.

1 Like

Merci beaucoup pour ces lumières.
Afin de faire de cette nouvelle substrate chain duniter-v2s, une parachaîne qui puisse dialoguer avec ma parachaîne via une relay chain (solution cumulus; il faudrait dans un fichier runtime/x/Cargo.tml; (mais lequel je ne sais pas, étant donné qu’il y a quatre runtimes pour duniter-v2s****), ajouter les lignes suivantes :

[dependencies]

parachain-info = { git = 'https://github.com/paritytech/cumulus', branch = ‘polkadot-v0.9.10’, default-features = false }

et dans

[features]
std = [
…,
“parachain-info/std”,
…,
]

Puis,en fin de fichier runtime/x/src/lib.rs (mais lequel; je ne sais pas [bis]****)

cumulus_pallet_parachain_system::register_validate_block!(
Runtime = Runtime,
BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::<Runtime, Executive>,
CheckInherents = CheckInherents,
);

Enfin, il faudrait remplacer node/src/services par https://github.com/substrate-developer-hub/substrate-parachain-template/blob/latest/node/src/service.rs
Mais un doute m’étreint à ce dernier sujet : avez-vous bien regardé la nécessité de garder GrandPa, car je crois que que faire fonctionner la substrate chain duniter-v2s en tant que parachain nécessiterait de passer par-dessus Grandpa (!?)

**** Peut-être par rapport au lancement ou au build ai-je loupé une astuce. Si vous me dites comment vous switchez de runtime ou commment vous l’upgradez, je pourrai me débrouiller.

Juste pour donner quelques nouvelles sur cette migration : après quelques échanges avec @elois en privé, finalement sa disponibilité en fin d’année 2021 semble compromise. Et pas de visibilité pour 2022 concernant Duniter.

De mon côté j’espérais pouvoir intervenir 3-4 mois à partir de décembre, mais ce point reste incertain. De plus je ne suis pas sûr que cette durée soit suffisante à implémenter Duniter V2S, même un prototype avancé. Toutefois je devrais passer à 50% sur ma mission-euros dès demain, et donc avoir plus de disponibilité pour Duniter.

Dans ce cadre, une approche qui me semble pertinente afin de concilier les disponibilités de chacun serait que je planifie la migration en termes de charge, délais et découpage. J’ai déjà pas mal étudié Substrate, je commence à pas mal maîtriser les tenants et aboutissants.

Je me sens capable de produire une roadmap, et d’accompagner qui voudrait participer aux développements, ce qui ouvrirait la voie à de nouveaux développeurs désireux de participer et monter en compétences sur Rust, Substrate, Duniter et la crypto en général.

Plus d’informations dans les jours à venir.

20 Likes

Je profite de ces derniers posts pour signaler que les RML sont relancées : les RML16 sont programmées pour le printemps 2022 dans un lieu pour travailler tout à fait exceptionnel. L’événement sera privé et sur invitation (les places étant limitées), seuls les informaticiens recommandés par la team Duniter pourront y être conviés et rejoindre notamment de nouveaux développeurs Espagnols déjà inscrits.

Les informaticiens volontaires doivent contacter et se faire recommander par @cgeek @elois @Moul @paidge @vit @gerard94 ou @kimamila pour rejoindre le canal d’information des RML16.

10 Likes

Après une longue absence de presque 5 mois (qui n’était pas prévue, les choses se sont enchaînés et j’ai été très pris par diverses problématiques personnelles), je suis très agréablement surpris de voir à quel point @cgeek a creusé substrate et a commencé à planifier une éventuelle migration du Duniter :smiley:

De mon côté, je me suis replongé dans le code de ma PoC depuis quelques jours, et je compte la continuée à un rythme variable selon mes disponibilités.

Je suis toujours très pris par mon travail UNL, mais cela m’a apporté une expertise sur substrate que j’utilise quotidiennement depuis 6 mois dans le cadre de mon travail UNL, j’ai même contribué au code de substrate lui-même.

Je vois qu’il y a eu beaucoup de discussions pendant mon absence et je ne pourrais pas tout rattraper, je vais essayer de lire le plus important, mais je risque de redonner des arguments déjà donnés, je m’excuse d’avance pour ça.

J’espère pouvoir revenir sur ce forum régulièrement, mais pour me contacter en privé merci de privilégier le mail plutôt que les MP sur ce forum, j’y serais beaucoup plus réactif :slight_smile:

11 Likes

@Galuel, comment doit-on précéder pour recommander quelqu’un ? on t’envoie un mail ?

Salut @elois, content de te revoir par ici :slight_smile:

Oui j’ai passé environ 3 semaines à temps plein sur cette migration, en me focalisant sur le protocole de sorte que je ne code pas Duniter v2 lui-même, ou très peu. L’idée c’est de cadrer et de laisser d’autres personnes coder l’implémentation.

Pour les RML, je t’envoie un MP.

5 Likes

Oui mail ou MP forum

Et quel est ce canal d’information ? Je pourrai peut-être me libérer.

1 Like