Bonsoir,
Voici mon premier message sur le forum Duniter et je n’espère pas le dernier.
Cela fait quelques mois que je suis de (très) loin la migration de Duniter vers Substrate et je trouve vraiment que le choix d’utiliser un framework reconnu et porté par une communauté est la meilleure chose que vous puissiez faire pour le développement de la June.
Cela permettra à des développeurs compétent en Substrate (il y en a sans doute bien plus que des dev Duniter
) de pouvoir contribuer à Duniter très facilement.
Première question qui m’est venue à l’esprit sur le vocabulaire :
C’est la partie de code qui contient les « Pallet » et leurs « Call », elle est compilée en webassembly et le code webassembly du runtime est inclus dans le storage onchain, ce qui permet de mettre à jour le code du runtime via… des règles onchain définies par le runtime.
Cela veut dire que le code nécessaire à l’éxecution de la blockchain se trouve dans la blockchain elle-même ? Un peu comme une page web contient son code javascript qui peut changer à tout moment sans que l’utilisateur s’en rende compte ?
Si c’est le cas, c’est très ingénieux, cela évite les mises à jour des différents noeuds. Si je comprends bien, les noeuds exécuterons tous un « logiciel » qui implémente le protocole substrate, puis ensuite le protocole propre à la June peut évoluer sans forcément mettre à jour le code des noeuds ?
J’imagine que si des correctifs sont apportés au binaire substrate, on voudra tout de même mettre à jour son logiciel non ? Je ne connais pas de moyen de mettre à jour un binaire qui tourne en mémoire sans l’arrêter et le relancer. Je sais que certains langages permettent le « hot reloading » et c’est parfois utiliser pour des plugins ou autres, mais rarement pour l’ensemble de l’application.
Si c’est possible avec Substrate, c’est clairement une sacrée prouesse
.