génération d'adresse : Procédure de dérivation des adresses de paiement
J’essaie de comprendre la procédure de dérivation de paiement du portefeuille HD, alors supposons :
- Possession d’un portefeuille Bitcoin HD sur un appareil intelligent externe
- Clé publique étendue au niveau du compte exportée (xpub.) à partir du premier compte
- Chemin de dérivation « m/44’/0’/0’/0/0 »
Quelle est la procédure étape par étape que l’on utiliserait pour dériver une adresse de paiement bitcoin valide qui peut être confirmée avec le portefeuille externe ?
Le processus, selon BIP32 – Fonctions de dérivation de clé enfant (CKD), semble suffisamment simple et direct pour pouvoir être écrit comme une seule fonction dans n’importe quel langage de programmation avec deux processus : Base58 et HMAC-SHA512, qui sont de telles fonctions standard que je ne crois pas qu’il soit nécessaire d’installer un outil de plate-forme et une bibliothèque de code spaghetti gonflée pour effectuer la dérivation.
MISE À JOUR 20190718 :
Voici ce que j’ai pu bricoler à partir de diverses sources. Code PHP et source de référence pour le processus de dérivation :
J’utilise xpub pour prouver que la procédure fonctionne. En fin de compte, j’aimerais pouvoir dériver pour ypub et zpub.
Il semble qu’il me manque quelque chose d’important, comme peut-être un typage variable, peut-être quelque chose de binaire. Je suis perdu.
Andreas m’a dit qu’il y a quelque chose à propos de l’addition de deux nombres, mais je ne trouve pas la référence.
Une source a fait référence à quelque chose sur la courbe elliptique et une variable mystique « G » mais sans explication.
Selon BIP32, ce processus est censé être vraiment facile.
Toute aide serait appréciée. AIT.