Comment convertir ED25519 octets en clé publique Tezos
-
-
Est-ce que cela répond à votre question?[Commentfaire une clépublique Tezos] (https://tezos.stackexchange.com/questions/2016/how-to-hashas-a-tezos-public-key)Does this answer your question? [How to hash a Tezos public key](https://tezos.stackexchange.com/questions/2016/how-to-hash-a-tezos-public-key)
- 0
- 2020-01-17
- utdrmac
-
Pas vraiment.Je suis également auteur de la question liée;).Le lien consiste à créer un hachage d'une clépublique,tandis que celui-ci consiste à créer une clépubliqueelle-même - c'est une étape avant cela.Not really. I am an author of the linked question as well ;) . The linked one is about creating a hash of a public key while this one is about creating a public key itself - it's a step before that.
- 0
- 2020-01-17
- K SS
-
1 réponses
- votes
-
- 2020-01-17
Vouspouveztrouver ces octets aubas de cefichier
https://gitlab.com/tezos/tezos/blob/master/src/lib_crypto/base58.ml
Dans votre cas,"\ 013 \ 015 \ 037 \ 217"
You can find those bytes at the bottom of this file
https://gitlab.com/tezos/tezos/blob/master/src/lib_crypto/base58.ml
In your case, "\013\015\037\217"
-
J'aiessayé ça.Je `base58` codémes 36 octetset obtenu 49 caractères`base58`.Ensuite,àpart lepréfixe,j'ai également annexé 4 octets aléatoires.J'aieu 54 caractères `base58`,àpartir de`edpk`.Cela signifie que lepréfixeest clairement correct -mais oùest-ce queje reste 4 octetspour remplacermes celles aléatoires?I tried that. I `base58` encoded my 36 bytes and got 49 `base58` characters. Then apart from the prefix, I also appended 4 random bytes. I got 54 `base58` characters, starting from `edpk`. This means that prefix is clearly correct - but where do I get remaining 4 bytes to replace my random ones from?
- 0
- 2020-01-17
- K SS
-
Vous devez utiliser Base58Check,qui ajoute des octets d'un hachage des donnéesbinairesen tant que somme.You have to use base58Check which appends some bytes from a hash of the binary data as a checksum.
- 0
- 2020-01-17
- Arthur B
-
Joli.Celame donne une chaîne de 55 caractères commençantpar `1edPK`.J'ai retiré le dirigeant `1` (suis-je censéfaire ça?) Et quelque chose qui ressemble à une clépubliquetezos valide.Cependant,après avoirtenté de créer un hachagepour cette clépublique à l'aide de [sotez] (https://www.npmjs.com/package/sotez)j'ai `error: checksuminvalide`.Cela suggère-t-il que les `ed25519` octets sontfaux?Les Tezos utilisent-ils une variantepersonnalisée `ed25519`?Miseen œuvre quej'utilisepourgénérer `ed25519` octetsest [Celui-ci] (https://www.npmjs.com/package/ed25519).Nice. This gives me a 55 character string starting with `1edpk` . I removed leading `1` (am I supposed to do that?) and got something that looks like a valid Tezos public key. However, after attempting to create a hash for this public key using [sotez](https://www.npmjs.com/package/sotez) I got `Error: Invalid checksum` . Does this suggest that `ed25519` bytes are wrong? Does Tezos use some custom `ed25519` variant? Implementation that I'm using to generate `ed25519` bytes is [this one](https://www.npmjs.com/package/ed25519) .
- 0
- 2020-01-17
- K SS
-
Jene suispas sûr de cemodule spécifique,mais SOTEZ utilise [Libsodium-wrappers] (https://www.npmjs.com/package/libsodium-wrappers)poureffectuer sesfonctions Crypto ED25519.Vouspouvezfaire référence à [this] (https://github.com/andrewkishino/sotez/blob/master/src/crypto.ts#l163)parexemple.I'm not sure about that specific module, but Sotez uses [libsodium-wrappers](https://www.npmjs.com/package/libsodium-wrappers) to perform its ed25519 crypto functions. You can reference [this](https://github.com/AndrewKishino/sotez/blob/master/src/crypto.ts#L163) for example.
- 0
- 2020-01-18
- AKISH
-
L'utilisation de `libsodium`pourgénérer`ed25519` octetsm'a donné lamêmeerreur.Il semble que leprincipal "1"faitpartie de la somme de contrôle "Base58Check" afin qu'ilne soitpas supprimé.Mais s'iln'estpas supprimé,la clé commencepar «1EDPK»,sans surprise,je reçois `error:préfixeinvalide`.Jene saispas commenttravailler ça O_OUsing `libsodium` to generate `ed25519` bytes gave me the same error. It seems that leading `1` is a part of `base58check` checksum so it should not be removed. But if not removed, the key starts with `1edpk` so, unsurprisingly I'm getting `Error: Invalid prefix` . I have no idea how to work that out O_O
- 0
- 2020-01-20
- K SS
J'aiessayé de lefairepar
base58
codageED255191
Bytes cléspublics. Considérons un échantillon de code suivant:ITimprime:
A
base58
String quej'ai obtenuest 10 caractèresplus courts qu'une clépublique Tezos réelle. Ceci,ainsi que Ce sujet suggère depréfixermes donnéesed25519 avec quelques octetsmagiques avant de le coder avec
base58
. Quels sont ces octetsmagiques? Y a-t-il une documentation à ce sujet?merci.
Modifier après la réponse de Arthur B:
J'aiessayé d'ajouter des octets depréfixes:
\ 013 \ 015 \ 037 \ 217
àed25519 > octets avant
base58
les codant. Néanmoins,j'aieu 49 caractères quand une vraie clépublique Tezos a 54 caractères. Après ajouter 4 octets aléatoires supplémentaires,j'aieu des caractères 54 souhaitéset une valeur qui commenceparEDPK
. Clairement,cela signifie que lepréfixeest correct -mais oùest-ce queje reste 4 octets de?Modifier après la discussion dans les commentaires:
4 octets étaientmanquantsen raison demoien utilisant
base58
au lieu debase58check
qui comporte 4 octets supplémentairesen tant que somme de contrôle. Après avoir utilisébase58Check
j'ai 55 octets commençantpar1EDPK
- alors quelque chose ressemble à une adressetezospublique valide a étépréparé avec un1
.Problème actuelest le suivant: Lorsque voustravaillez avec la clé (spécifiquement -informatique de son hachage),j'ai supprimé un
1
et obtenu 54 caractères. En conséquence,unebibliothèque quej'utilise sur Hash a une clé ajeté uneerreur de contrôle invalide . Clairement,1
faitpartie debase58check
checksum. Néanmoins,sinon supprimé,la clé va avoir unpréfixeinvalide. Un échantillon de codemis àjour ressemble à ceci:ITimprime:
Toute aide supplémentaire avec celle qui seraitgrandement appréciée carje ne comprendraipas commentfairefonctionner celamalgré la lecture debeaucoup sur le sujet;)