Je viens seulement d’y penser, mais le fait que la règle de distance soit implémentée via Oracle empêche aussi sa mise à jour de façon fluide sur la blockchain. En gros : à chaque changement de règle de WoT, nous allons devoir organiser une grande messe de mise à jour du Client Duniter.
Or nous avons beaucoup d’idées potentielles, et le passage à Substrate a été motivé en grande partie pour la facilité des mises à jour : se prendre les pieds dans le tapis concernant les règles de distance de la WoT est quand même dommage.
C’est pour cela que je me demande à quel point nous ne pourrions pas rapatrier les règles dans le Runtime.
Je poste ce sujet pour la réflexion. Néanmoins je serai un peu chagriné de devoir lancer la V2 et savoir d’avance qu’il faudra mettre à jour le Client pour faire évoluer cette partie.
Quelques réflexions en vrac :
- on pourrait conserver l’Oracle, mais faire exécuter à celui-ci un code stocké dans le Storage (un WASM par exemple) plutôt qu’un code hardcodé dans le Client ;
- le calcul de distance pourrait-il être découpé en plusieurs étapes ? Si oui, alors on pourrait garder son exécution directement en blockchain, avec une exécution progressive et stockage des résultats intermédiaires.