Ğcli s'adapte au runtime 800 : nouveau parcours forgeron

Hmm … tiens d’ailleurs c’est curieux ça :frowning: je viens de créer #194.

2 Likes

Merci !! donc suis pas au bout process encore :saluting_face:

@cgeek , j’ai un peu avancé en me connectant au RPC :

reste à trouver la doc pour faire les manipulations concernant les Keys !!

2 Likes

Hello,

J’ai redémarré mes deux noeuds sur le runtime 800, mais je n’arrive pas à importer mon compte v1. Est-ce faisable via gcli ? Car avec tikka ça me donne ça :

Traceback (most recent call last):
  File "/home/pini/projets/tikka/tikka/slots/pyqt/entities/worker.py", line 43, in run
    self.call()
  File "/home/pini/projets/tikka/tikka/slots/pyqt/windows/v1_account_import_wizard.py", line 279, in fetch_source_from_network
    self.application.identities.fetch_from_network(
  File "/home/pini/projets/tikka/tikka/domains/identities.py", line 142, in fetch_from_network
    identity = self.network.get_identity(index)
  File "/home/pini/projets/tikka/tikka/adapters/network/identities.py", line 69, in get_identity
    removable_on=int(result["removable_on"].value),
  File "/home/pini/.cache/pypoetry/virtualenvs/tikka-td9PeKy3-py3.9/lib/python3.9/site-packages/scalecodec/base.py", line 1029, in __getitem__
    return self.value_object[item]
KeyError: 'removable_on'
Abandon

EDIT: Après moulte tâtonnements j’ai fini par m’en tirer avec gcli. Car Gecko ne voulait rien savoir non plus (attente infinie sur la page d’import de compte v1).

$ bin/gcli --no-indexer identity get -u Pini
Identity index: 12949
Username:       Pini
Address:        5EVRzJDpDxFNU9cbrGPdQD5sRsV2uiKMPNgr1sbRDX4X6Ex8
Status:         Member
$ bin/gcli --no-indexer -a 5EVRzJDpDxFNU9cbrGPdQD5sRsV2uiKMPNgr1sbRDX4X6Ex8 -S cesium identity change-owner-key -s <mnemonic//N>
Cesium id: 
Cesium password: 
transaction submitted to the network, waiting 6 seconds...
identity changed owner key IdtyChangedOwnerKey { idty_index: 12949, new_owner_key: AccountId32([182, 30, 187, 50, 207, 130, 127, 113, 69, 89, 76, 59, 194, 98, 30, 131, 245, 235, 238, 14, 58, 162, 138, 85, 243, 203, 16, 208, 146, 124, 166, 88]) }
$ bin/gcli --no-indexer identity get -u Pini
Identity index: 12949
Username:       Pini
Address:        5GBVhdJUdsGhxozu6R8X6x2pTZvuuW46s7JSU4tiW7Zd3WmY
Status:         Member
1 Like

À noter que tu peux également utiliser duniter-connect (Extension duniter-connect (fork de polkadot{.js})) pour le faire depuis l’app polkadotjs.

En effet j’avais complètement oublié cette possibilité.

Est-il possible à un forgeron actuel de m’inviter en tant que forgeron maintenant ?

1 Like

J’ai voulu le faire, mais on t’a mis dans le genesis, je crois ! À noter qu’être forgeron n’empêche plus la migration d’identité depuis smith-members il me semble. Par contre tu es toujours authority member avec 5EVRzJDpDxFNU9cbrGPdQD5sRsV2uiKMPNgr1sbRDX4X6Ex8, je crois qu’il faut faire go-online avec cette clé. J’ai plus tout le détail en tête.

Ah c’est possible ça d’avoir son identité avec une clef et être forgeron avec une autre ?

Apparemment non :

$ bin/gcli --no-indexer -u ws://localhost:9944/ws -a 5EVRzJDpDxFNU9cbrGPdQD5sRsV2uiKMPNgr1sbRDX4X6Ex8 -S cesium smith update-keys
Cesium id: 
Cesium password: 
transaction submitted to the network, waiting 6 seconds...
Pallet error: AuthorityMembers::MemberIdNotFound

Error: Subxt(Runtime(Module(ModuleError(<AuthorityMembers::MemberIdNotFound>))))

Voici ce que me retourne polkadotjs :
2024-02-09_19-14

L’adresse et l’index ne correspondent plus.

1 Like

Effectivement, il y a un trou dans la raquette. Tu peux utiliser ta nouvelle clé, mais c’est l’ancienne qui apparaîtra comme validateur. C’est sans conséquences on dirait, je vais vérifier et faire un ticket de toute façon.

Ok, c’est un problème de configuration de la pallet session, on utilise un AccountId, ce qui n’a pas vraiment de sens puisque dans Duniter c’est le IdtyIndex qui fait référence.

Et tu peux essayer de faire go_online avec ta nouvelle clé ? (à première vue sur le code, ça devrait marcher, en fait c’est quasiment ce qui est arrivé à cgeek).

2 Likes

En effet ça a marché (après un update-keys). Ce qui semble important est l’index et pas l’adresse. Ouf.

Ne serait-il pas pertinent de virer le champ adresse des tables forgerons et autorités ?

(Et préalablement ça ne marchait pas car je n’avais pas assez de sous sur ce compte.)

2 Likes

Si, bien sûr, c’est même plus que pertinent, j’ai créé le ticket #197 pour tracer ça. Faut juste voir comment on veut faire l’interface avec la pallet session, comment on veut s’intégrer à l’écosystème existant, et comment on envisage la suite. Par exemple on pourrait changer le validator id en un idty index plutôt qu’un account id. Ça mérite réflexion, expérimentation, et implémentation.

PS : merci infiniment à tous les testeurs pour ces scénarios qui nous montrent les trous qu’on n’avait pas vu ><

2 Likes

J’ai reçu une alerte ! Un certain Pini est dans les IncomingAuthorities :slight_smile:

4 Likes

petite remarque ou question ?

@Pini forge bien avec sa nouvelle clé
5GBVhdJUdsGhxozu6R8X6x2pTZvuuW46s7JSU4tiW7Zd3WmY

mais c’est toujours avec sur son ancienne clé
5EVRzJDpDxFNU9cbrGPdQD5sRsV2uiKMPNgr1sbRDX4X6Ex8
qu’il apparaît avec le flag “comité technique”

1 Like

TL;DR : le comité technique est basé sur les clés, pas les identités et on n’a pas implémenté de quoi le mettre à jour automatiquement

De manière générale dans l’écosystème crypto qui n’a pas de notion d’identité, une clé identifie une personne. Elois a ajouté la possibilité de changer de clé pour permettre aux gens d’augmenter leur niveau de sécurité (comme on change une serrure après perte des clés pour éviter un cambriolage), mais ça ne s’applique pas aux modules qu’on prend dans substrate, donc il nous faut coder quelque chose de spécifique pour ça (cf #149). Mais pour l’instant on laisse en l’état, ça ne constitue pas un bug.

4 Likes

Désolé, Tikka n’est pas encore compatible gdev800.
Mais ça va venir, j’aime trop la noix de coco. :sweat_smile:

3 Likes

La version 0.2.6 de gcli ajoute des informations sur le statut forgeron. Exemple en screenshot :

image
image
image

@daigongen est maintenant invité à être forgeron, tu peux accepter et ensuite on pourra te certifier

2 Likes

Merci beaucoup @HugoTrentesaux

1 Like

image

C’est bon, le compteur de certifications fonctionne :slight_smile:
quelqu’un d’autre pour certifier daigongen ?

1 Like

je n’ai pas l’output avec les informations relatives aux forgerons. Tu utilises une version spécifique de gcli ?

image

Oui, la 0.2.6 normalement. Sauf si je suis sur une version de dev et que je me rends pas compte !

2 Likes

Merci au second certificateur :slight_smile:
Je pose ici les commandes pour la rotation des clefs et le go-online pour les forgerons suivants
[gco@pulse15gen1 ~]$ gcli -S cesium smith update-keys

[gco@pulse15gen1 ~]$ gcli -S cesium smith go-online

smith went online MemberGoOnline { member: 5715 }

1 Like