# Migrate smith identity

**URL:** https://forum.duniter.org/t/migrate-smith-identity/13199
**Category:** Duniter-v2s
**Tags:** protocole
**Created:** [18 July 2025 12:00 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199 "2025-07-18T12:00:19Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Maaltir](https://forum.duniter.org/user_avatar/forum.duniter.org/maaltir/32/5039_2.png) [@Maaltir](https://forum.duniter.org/u/Maaltir)
#### Post date: [18 July 2025 12:00 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/1 "2025-07-18T12:00:19Z")

</div>

> [@Lancement d'un réseau ĞTest et nouvelle version de duniter](https://forum.duniter.org/t/lancement-dun-reseau-gtest-et-nouvelle-version-de-duniter/13172/58):
>
> J’ai hâte de pouvoir tester avec Gecko ou césium2

Tu peux déjà tester Gecko, pour Cesium², c’est au point mort pour encore quelque temps (mois, années ?)

---

<div class="post-metadata">

### Author: ![Damery](https://forum.duniter.org/letter_avatar/damery/32/5_5575768a8748004e209b776fc1b2916d.png) [@Damery](https://forum.duniter.org/u/Damery)
#### Post date: [18 July 2025 12:55 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/2 "2025-07-18T12:55:37Z")

</div>

Oui, Gecko installé sur smartphone mais pas possible de migrer mon portefeuille parce que je suis forgeron. Je vais tenter différemment.

---

<div class="post-metadata">

### Author: ![poka](https://forum.duniter.org/user_avatar/forum.duniter.org/poka/32/6827_2.png) [@poka](https://forum.duniter.org/u/poka)
#### Post date: [18 July 2025 12:58 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/3 "2025-07-18T12:58:38Z")

</div>

> [@Damery](#):
>
> pas possible de migrer mon portefeuille parce que je suis forgeron.

@HugoTrentesaux @elois @cgeek ce ne serait pas possible de lever cette restriction ?

---

<div class="post-metadata">

### Author: ![Maaltir](https://forum.duniter.org/user_avatar/forum.duniter.org/maaltir/32/5039_2.png) [@Maaltir](https://forum.duniter.org/u/Maaltir)
#### Post date: [18 July 2025 13:07 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/4 "2025-07-18T13:07:18Z")

</div>

> [@poka](#):
>
> ce ne serait pas possible de lever cette restriction ?

Je ne suis pas sûr que ce soit une bonne idée de lever cette restriction.  
Il me semble plus sûr, que le forgeron révoque son status forgeron avant de migrer, et le redemande après. Question de sécurité avancée…

---

<div class="post-metadata">

### Author: ![poka](https://forum.duniter.org/user_avatar/forum.duniter.org/poka/32/6827_2.png) [@poka](https://forum.duniter.org/u/poka)
#### Post date: [18 July 2025 13:14 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/5 "2025-07-18T13:14:21Z")

</div>

Je ne suis pas sûr que cela ajoute une sécurité particulière.  
L’ancienne clé est censé pouvoir révoquer sont status forgerons même après migration, tout comme pour la toile de confiance principale.

La différence de traitement entre membre toile principale et toile forgerons me semble un peu étrange.

A la limite, je comprendrais mieux la restrictions en ce qui concerne les membres sur comité technique, bien plus sensible, mais je ne suis même sûr qu’il y en ait pour le coup là dessus (j’espère).

* * *

Auquel cas si on reste ainsi (ce qui je pense va être le cas), en terme de communication il faut penser à informer les gens que ceux qui veulent devenir forgerons doivent migrer leur identité en coffre avant si il veulent pouvoir utiliser les outils sécurisés avec leur compte membre.

---

<div class="post-metadata">

### Author: ![Damery](https://forum.duniter.org/letter_avatar/damery/32/5_5575768a8748004e209b776fc1b2916d.png) [@Damery](https://forum.duniter.org/u/Damery)
#### Post date: [18 July 2025 14:51 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/6 "2025-07-18T14:51:10Z")

</div>

Est-il simple de révoquer son statut forgeron puis de le redemander ?

---

<div class="post-metadata">

### Author: ![poka](https://forum.duniter.org/user_avatar/forum.duniter.org/poka/32/6827_2.png) [@poka](https://forum.duniter.org/u/poka)
#### Post date: [18 July 2025 14:58 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/7 "2025-07-18T14:58:07Z")

</div>

Oui

---

<div class="post-metadata">

### Author: ![tuxmain](https://forum.duniter.org/user_avatar/forum.duniter.org/tuxmain/32/6423_2.png) [@tuxmain](https://forum.duniter.org/u/tuxmain)
#### Post date: [18 July 2025 14:58 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/8 "2025-07-18T14:58:07Z")

</div>

(à propos du changeOwnerKey interdit aux forgerons) Je crois que c’était à cause de authorityMembers. Mais si c’est ça il suffirait d’obliger à passer offline avant de migrer. Sinon je ne vois pas de raison, si c’est une raison de sécurité il faut trouver un exemple d’attaque.

---

<div class="post-metadata">

### Author: ![poka](https://forum.duniter.org/user_avatar/forum.duniter.org/poka/32/6827_2.png) [@poka](https://forum.duniter.org/u/poka)
#### Post date: [18 July 2025 15:01 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/9 "2025-07-18T15:01:33Z")

</div>

C’est un check préventif côté Gecko car à l’époque c’était une restriction, si ça se trouve ça a changé depuis, je n’ai pas essayé, mais je ne pense pas.

---

<div class="post-metadata">

### Author: ![Damery](https://forum.duniter.org/letter_avatar/damery/32/5_5575768a8748004e209b776fc1b2916d.png) [@Damery](https://forum.duniter.org/u/Damery)
#### Post date: [18 July 2025 15:04 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/10 "2025-07-18T15:04:07Z")

</div>

Tu penses que si je passe mon noeud offline et tente à nouveau de migrer, ça fonctionnera ?  
Ensuite, je le remets online.  
Si ok, je teste demain matin ou aujourd’hui si je trouve le temps

---

<div class="post-metadata">

### Author: ![tuxmain](https://forum.duniter.org/user_avatar/forum.duniter.org/tuxmain/32/6423_2.png) [@tuxmain](https://forum.duniter.org/u/tuxmain)
#### Post date: [18 July 2025 15:23 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/11 "2025-07-18T15:23:36Z")

</div>

Je viens de vérifier, le critère est d’être hors-ligne depuis 168 époques (soit 28 jours), mais on peut rester forgeron.

> **[runtime/common/src/handlers.rs · master · nodes / rust / Duniter v2S · GitLab](https://git.duniter.org/nodes/rust/duniter-v2s/-/blob/master/runtime/common/src/handlers.rs?ref_type=heads#L186)**
>
> Duniter v2 based on Substrate framework doc: https://doc-duniter-org.ipns.pagu.re/duniter/index.html

Apparemment c’est la durée pendant laquelle un forgeron peut être puni pour avoir triché.

Je ne savais pas ce que c’était en lisant la liste des paramètres, et comme la durée d’une époque est passée de 1h à 4h, cette durée a aussi été multipliée par 4. Je suppose que ce n’est pas voulu, et propose de repasser à 42 époques soit 1 semaine, si c’est encore possible de changer.

---

<div class="post-metadata">

### Author: ![poka](https://forum.duniter.org/user_avatar/forum.duniter.org/poka/32/6827_2.png) [@poka](https://forum.duniter.org/u/poka)
#### Post date: [18 July 2025 15:34 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/12 "2025-07-18T15:34:58Z")

</div>

> [@tuxmain](#):
>
> et propose de repasser à 42 époques soit 1 semaine

Je vous laisse trancher ça.

* * *

`smithMembers.smiths(34)` semble indiquer `lastOnline` toujours null même pour les smiths actuellement en ligne.  
`lastOnline: null`

Comment check côté wallets le blocknumber de la dernière fois qu’il était en ligne ?

---

<div class="post-metadata">

### Author: ![tuxmain](https://forum.duniter.org/user_avatar/forum.duniter.org/tuxmain/32/6423_2.png) [@tuxmain](https://forum.duniter.org/u/tuxmain)
#### Post date: [18 July 2025 15:39 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/13 "2025-07-18T15:39:46Z")

</div>

Il y en a qui ont un lastOnline non null. Je suppose que c’est défini lors du goOffline (volontaire ou automatique). Je ne sais pas si le fait qu’il soit null alors qu’on est forgeron implique qu’on est online, mais si tu implémentes le même test que dans Duniter ça devrait marcher.

---

<div class="post-metadata">

### Author: ![poka](https://forum.duniter.org/user_avatar/forum.duniter.org/poka/32/6827_2.png) [@poka](https://forum.duniter.org/u/poka)
#### Post date: [18 July 2025 15:41 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/14 "2025-07-18T15:41:03Z")

</div>

> [@tuxmain](#):
>
> Je ne sais pas si le fait qu’il soit null alors qu’on est forgeron implique qu’on est online

Non car un smith n’ayant jamais forgé est aussi à null.

* * *

Ok je temporise ce sujet pour le moment le temps qu’on éclaircisse que faire de ça.

---

<div class="post-metadata">

### Author: ![Nicolas80](https://forum.duniter.org/user_avatar/forum.duniter.org/nicolas80/32/11019_2.png) [@Nicolas80](https://forum.duniter.org/u/Nicolas80)
#### Post date: [26 July 2025 06:01 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/15 "2025-07-26T06:01:20Z")

</div>

J’ai voulu tester de migrer mon identité g1v1 vers gtest avant d’accepter l’invitation `smith`; ce n’est pas passé non plus:

(je suis bien sur gtest - mais gcli affiche toujours le format substrate par défaut pour les address)

```auto
gcli gcli identity show
Identity index: 12242
Username: Nicolas80
Address: 5GhAZBagx87sTGfMppfPPcWhxCKGWE8zDi1oHp7YiKosD9KZ
Status: Member
Certifications: received 11, issued 14
Smith status: Invited
Smith certs: received 0, issued 0

```

```auto
gcli identity change-owner-key -v Nicolas80
Trying to retrieve key pair for address:'5DaT2YVTDxBG1mdWsiyeEd9isHPizUZNbg7vbgcm53DgPqfP'
(Vault: Base[address:5DaT2YVTDxBG1mdWsiyeEd9isHPizUZNbg7vbgcm53DgPqfP, g1v1_pub_key:5WELhBcoLxqTjxNZsoxb89Uqyxis6YR6DCqVe1gDw43Y, name:Some("Nicolas80"), crypto_scheme:Some(Ed25519)])
> Password ********
Trying to change owner key
(Vault: Base[address:5GhAZBagx87sTGfMppfPPcWhxCKGWE8zDi1oHp7YiKosD9KZ, g1v1_pub_key:EnFfLNWnonXwxmzipLbbqa1fybSs7xdPoYhmbkMYzR3G, name:Some("Nicolas80-G1V1"), crypto_scheme:Some(Ed25519)])
> Password ********
transaction submitted to the network, waiting 6 seconds...

Pallet error: Identity::OwnerKeyUsedAsValidator

```

Du coup, je suppose qu’il n’y a pas moyen de migrer dés le moment on reçoit une invitation smith…

---

<div class="post-metadata">

### Author: ![tuxmain](https://forum.duniter.org/user_avatar/forum.duniter.org/tuxmain/32/6423_2.png) [@tuxmain](https://forum.duniter.org/u/tuxmain)
#### Post date: [26 July 2025 06:14 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/16 "2025-07-26T06:14:42Z")

</div>

En effet ça a l’air d’être un bug. Duniter teste si `smith.last_online == None`. Je n’avais pas tilté, mais puisque

> [@poka](#):
>
> un smith n’ayant jamais forgé est aussi à null

il croit que tu es online si tu ne l’as jamais été.

> **[New smith cannot change owner key (#320) · Issues · nodes / rust / Duniter v2S...](https://git.duniter.org/nodes/rust/duniter-v2s/-/issues/320)**
>
> https://forum.duniter.org/t/migrate-smith-identity/13199/13 Because smith.last\_online == None for online validators and smiths who have never been online, the latter cannot...

---

<div class="post-metadata">

### Author: ![HugoTrentesaux](https://forum.duniter.org/user_avatar/forum.duniter.org/hugotrentesaux/32/6396_2.png) [@HugoTrentesaux](https://forum.duniter.org/u/HugoTrentesaux)
#### Post date: [27 July 2025 16:04 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/17 "2025-07-27T16:04:01Z")

</div>

Il me semble que le check est celui-ci :

[edit sur branche network/gdev-800]

```rust
/// Runtime handler OwnerKeyChangePermission.
pub struct OwnerKeyChangePermissionHandler<Runtime>(core::marker::PhantomData<Runtime>);
impl<
        Runtime: frame_system::Config
            + pallet_identity::Config<IdtyIndex = IdtyIndex>
            + pallet_authority_members::Config<MemberId = IdtyIndex>,
    > pallet_identity::traits::CheckKeyChangeAllowed<Runtime>
    for OwnerKeyChangePermissionHandler<Runtime>
{
    fn check_allowed(idty_index: &IdtyIndex) -> bool {
        !pallet_authority_members::Pallet::<Runtime>::online().contains(idty_index)
    }
}

```

Je ne vois pas où apparaît `last_online` dans le code 🤔

[edit sur master ou network/gtest-1000]

---

<div class="post-metadata">

### Author: ![tuxmain](https://forum.duniter.org/user_avatar/forum.duniter.org/tuxmain/32/6423_2.png) [@tuxmain](https://forum.duniter.org/u/tuxmain)
#### Post date: [27 July 2025 16:31 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/18 "2025-07-27T16:31:14Z")

</div>

Je ne trouve pas ce code, il est dans quel fichier, quel branche ?

Le test dont je parlais est dans ma MR&nbsp;: [Fix #320 New smith cannot change owner key (!336) · Merge requests · nodes / rust / Duniter v2S · GitLab](https://git.duniter.org/nodes/rust/duniter-v2s/-/merge_requests/336/diffs)

Edit: d’ailleurs j’ai mis Élois en reviewer car je ne savais pas qui mettre et qu’il semblait avoir plus de temps dernièrement, mais si tu veux reviewer vas-y.

---

<div class="post-metadata">

### Author: ![HugoTrentesaux](https://forum.duniter.org/user_avatar/forum.duniter.org/hugotrentesaux/32/6396_2.png) [@HugoTrentesaux](https://forum.duniter.org/u/HugoTrentesaux)
#### Post date: [1 August 2025 09:26 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/19 "2025-08-01T09:26:29Z")

</div>

Je faisais référence à [runtime/common/src/handlers.rs · network/gdev-800 · nodes / rust / Duniter v2S · GitLab](https://git.duniter.org/nodes/rust/duniter-v2s/-/blob/network/gdev-800/runtime/common/src/handlers.rs#L172), je me suis planté. On dirait que ce n’est pas dans `master`. J’espère que c’est normal et qu’il ne va pas falloir faire la chasse aux commits, je n’aime pas ça. C’est pour ça que je voulais que tout aille sur `master` et que l’on merge `master` dans `network/*` quand on en a besoin, et que n’aille sur `network/*` que les changements spécifiques à un réseau (chainspecs…) et que `network/*` ne soit jamais mergé sur `master`. Je me note à regarder quand j’ai le temps, mais ça n’arrive pas souvent en ce moment ☹

---

<div class="post-metadata">

### Author: ![HugoTrentesaux](https://forum.duniter.org/user_avatar/forum.duniter.org/hugotrentesaux/32/6396_2.png) [@HugoTrentesaux](https://forum.duniter.org/u/HugoTrentesaux)
#### Post date: [17 October 2025 14:21 UTC](https://forum.duniter.org/t/migrate-smith-identity/13199/20 "2025-10-17T14:21:18Z")

</div>

Sur la nouvelle ĞTest, j’ai bien pu migrer mon identité forgeron au bloc 92,328. Y a-t-il toujours un problème de ce côté ?

[Next page](https://forum.duniter.org/t/migrate-smith-identity/13199.md?page=2)
