Format JSON standard pour les HD wallets

Edit poka: Je me permet de déplacer ce message d’elois dans un nouveau topic dédié car c’est un sujet important sur lequel je me penche actuellement pour Gecko.
Le débat est encore ouvert, mais je vais commencer par implémenter ce format là, et je vous dirais si en le faisant j’ai des idées.
Quand on sera tous OK sur ce format on fera une RFC.


Pour ça il faudrait définir un format de fichier HD wallet commun. Je propose le format JSON.

Ça pourrait être quelque chose comme ça :

{
    "dewif": "AAAAARAAAAGfFDAs+jVZYkfhBlHZZ2fEQIvBqnG16g5+02cY18wSOjW0cUg2JV3SUTJYN2CrbQeRDwGazWnzSFBphchMmiL0",
    "accounts": {
        "0": { name: "mon compte membre" },
        "2": { name: "mon compte opaque", external_index: 17, internal_index: 3 },
        "3": { name: "mon compte transparent " },
        "6": {}
    }
}

L’idée est de stocker à minima :

  • Le numéro de dérivation de chaque sous-compte. Il est unique et ne peut pas changer, donc autant s’en servir d’id.
  • Les index externe et interne pour les comptes opaques

On peut ajouter en champ optionel pour chaque sous-compte :

  • Un nom
  • Ce qu’on veut tant que ça ne pose pas de problème de sécurité. Donc pas de clé publique.

Le champ DEWIF serait facultatif, s’il est absent, le logiciel client doit inviter l’utilisateur à saisir directement son mnemonic :slight_smile:

4 Likes

Je cherche un format de sauvegarde du dewif pour Tikka.
J’ai fait un binaire brut sans base64 pour l’instant, avec l’extension .dewif.

@kimamila n’aime pas trop mon format dédié binaire et proposait un format json.

Je me dit que si j’ajoute les HD wallets à Tikka, je peux les sauvegarder aussi avec le format json proposé. Mais dans mon cas d’usage, le dewif ne serait pas optionnel, ce sont les HD wallets qui le seraient.

Donc je voudrais savoir si personne ne s’oppose à cette proposition pour faire une RFC et l’implémenter rapidement.
Reste à trouver une extension parlante.

On aurait donc seulement 2 formats sécurisés :

  • Format .ewif pour les seeds des comptes à identifiant/mot de passe de Cesium.
  • Format .dewif (?) pour l’entropie des comptes mnemonic et leur HD wallets optionnels.

Qu’en pensez-vous ?